3D系统要点
rotation number 变 cc.Quat, angle 替换原来的 rotation
position cc.Vec2 变 cc.Vec3
点击 属性检查器 右上方的 3D 按钮进行切换
1 | node.is3DNode = true; |
- 3D 场景编辑(点击编辑器左上方的 3D 按钮)
鼠标右键旋转场景视角,使用滚轮缩放场景视图
- 导入模型
3D 模型格式为使用非常广泛的 .fbx
导入模型的时候编辑器会自动解析模型的内容,并生成 Prefab、网格、骨骼动画 等资源。
自动生成的 Prefab 资源是不能修改的,如果需要修改,可以将这个自动生成的 prefab 拖拽到 场景编辑器 中进行编辑。编辑完成后,将其拖拽到资源管理器的任意文件夹中生成新的 Prefab,用这个新的 Prefab 作为自己的 Prefab 来使用。
- Mesh
1 | // 首先应该指明网格中顶点数据存储的格式 |
- Mesh Renderer 组件
网格的顶点数据一般都比较抽象,不太容易看出网格里面的三角形是如何分布的。这时候用户可以开启线框模式,用线段按照三角形的分布连接顶点与其他顶点,这样就比较容易看出网格顶点的多少和分布了。
1 | cc.macro.SHOW_MESH_WIREFRAME = true; |
- 碰撞检测
射线检测
1 | // 根据点击的点获取一条由屏幕射向屏幕内的射线 |
- 创建基础 3D 物体
1 | function createMesh (data, color) { |