介绍
whs是一个在Three.js基础上构建的Web端3D应用框架,它实现了一个具有组件系统和插件支持的核心,可以快速开发出3D场景。
如何获取
whs是开源项目,因此你可以直接到Github上获取,也同时提供了相关文档和案例演示,今后可能不会直接给出地址,原因大家都知道!
直接使用
安装:
npm install whs
const app = new WHS.App([ new WHS.ElementModule(), // Apply to DOM. new WHS.SceneModule(), // Create a new THREE.Scene and set it to app. new WHS.DefineModule('camera', new WHS.PerspectiveCamera({ // Apply a camera. position: new THREE.Vector3(0, 0, 50) })), new WHS.RenderingModule({bgColor: 0x162129}), // Apply THREE.WebGLRenderer new WHS.ResizeModule() // Make it resizable.]);app.start(); // Run app.
相关特性
使用简单
加速3D场景原型设计
基于组件的场景图
多线程,任何高性能物理模型的简单集成
渲染自动化
ES2015+基于
扩展系统(模块)
网络友好
集成Three.js渲染引擎,可以同时使用whs.js和Three.js
案例展示
官网文档中展示了相当多的案例,我们通过Gif来简单感受下,动图不能太大,可能效果稍差,建议直接去文档看案例
案例一(最后的恐龙):
案例二(像素火山),此图不完整,可简单插件官方案例
旋转的正方体
类天体旋转3D效果
组件
whs将各种物理场景进行了抽象,变成一个个组件
core(核心抽象层):
App
CameraComponent
Component
LightComponent
Loop
MeshComponent
ModuleManager
ModuleSystem
components/meshes(网、线、面、盒等)
Box
Circle
Cone
Cylinder
Dodecahedron
Extrude
Group
Icosahedron
Importer
Lathe
Line
Octahedron
Parametric
Plane
Polyhedron
Ring
Shape
Sphere
Tetrahedron
Text
Torus
Torusknot
Tube
components/lights(灯光)
AmbientLight
DirectionalLight
HemisphereLight
PointLight
SpotLight
components/cameras(相机)
CubeCamera
OrthographicCamera
PerspectiveCamera
还包括一些模型等
modules
DefineModule
modules/app
ControlsModule
ElementModule
FogModule
OrbitControlsModule
PostProcessorModule
RenderingModule
ResizeModule
SceneModule
StateModule
VirtualMouseModule
modules/mesh
AnimationModule
DynamicGeometryModule
TextureModule
总结
总的来说whs是一个有意思的3D框架,其结合3D动画能做出一些非常炫酷的场景出来,模拟出个各种实际物理意义上的模型出来!还是值得我们学习的!