在线体验链接:
http://example.creator-star.cn/block3d/
上面图中是打砖块游戏的主要 3D 节点元素, Shawn 这两天在学习 Unity 与 Creator3D 感受到制作 3D 游戏与 2D 游戏最大的不同是 3D 游戏是在模拟一个真实世界, 下面我对打砖块游戏场景中的主要 3D 节点做个简要说明.
主灯光
当我们创建场景时, 引擎为会我们默认创建两个节点: 灯光, 摄像机.
Main Light 它是一只平行灯光, 模拟真实世界中的太阳, 你将它放在任何位置场景效果的变化都不大, 调整角度会影响 3D 物体的表面的光泽.
3D 摄像机
Camera 摄像机所照摄的界面就是我们运行时所看到的画面.
我们这里使用的是透视视角, 它像一个锥体, 通过锥体能可视化地控制摄像机的参数表现:
控制锥体底部的四个点可以调节摄像机的视野;
控制底部的中心点调节摄像机的远近;
控制摄像机的 position,rotation 调整摄像机的位置与角度;
在 [主菜单]> [Develop]> [Camera Privew] 可以观察到实时的摄像机画面, 请看下图:
地面
ground 是用 Plane 3D 节点模拟的地面, 可以通过下面菜单创建:
Plane 像一张纸, 只有 x,y, 可以设置 Plane 的大小, 不论怎么设置它的 Scale y 他在场景中的高度都不会变.
我们重点看一下地块节点和它的组件:
可以看到在 Creator 3D 中节点属性已经被精简了, 只有基本的 Postion,Rotation,Scale 三个基本的属性 (Layer 属性还没了解作用).
温馨提示: 2D 节点同样如此, 2D 节点中的锚点, Size 属性被移到名为 cc.UITransformComponent 的组件上了, color 被移到 cc.SpriteComponent 组件上, 而且没有 Opacity 属性, 由 color 属性统一接管.
3D 物理最为重要的是它的 cc.ModelComponent 组件, 其中 Mesh 属性是控制 3D 物体的形状, 比如: 立方体, 球体, 胶囊体等, 引擎内置了如下 Mesh 资源:
像 "#" 井号一样的图标就是 Mesh 资源了, 它主要保存的是模型的顶点数据. 除了 Mesh 属性, 还有一个与 3D 物体表现有关的就是材质了, 看下图:
这里为了实验地面不同的贴图, 我这里自定一个材质资源, 在资源管理器中, 鼠标右键创建 Material:
从 2D 游戏开发过渡到 3D 有一个关键的点就是理解材质系统, 当创建一个材质资源, 看到密密麻麻的属性时, 心都麻了半截:
经过 Shawn 的连蒙带猜, 将 ground 地块的材质设置如下:
需要注意, 这样设置的材质颜色比较暗, 还要把材质属性面板拉到底部, 将 Emissive 颜色属性设置为白色, 地板看起来就亮了.
我之前还有一种做材质的做法, 使用的是无光照的材质, 比使用标准材质要简单一些:
尝试了这么多, 总算是把地面材质给弄的像点样子了, 下面是为地块添加碰撞组件:
在 Creator 3D 中物理引擎不需要使用代码激活, 直接将 cc.BoxColliderComponent 组件挂在节点上即可, 需要注意地面只需要挂上碰撞组件就行了, 如果添加了物理刚体组件, 地面会向下掉落, 这不是我们想要的.
砖块
砖块是使用的 Cube 3D 节点创建, 它的 cc.ModelComponent 默认为 box.mesh 看下图:
砖块的材质需要重新定制一个, 方法与前面的地面材质相同, 只要我们一修改这个材质资源, 场景中的所有砖块都会发生变化, 这里就不在唠叨了.
下面我们为砖块添加 cc.RigidbodyComponent 组件, 在节点属性面板下方点击 Add Component 按钮, 看下图:
Creator 3D 目前还是预览版本, 组件没分类, 看起来显的有点乱, RigidBody 组件在倒数第 3 个, 还需要再添加上 BoxCollider 在倒数第 5 个, 节点组件属性如下:
在 RigidBody 组件上, 将 Mass 设置小一点, 它表示物理的质量. BoxCollider 组件默认就好, IsTrigger 属性不能勾上, 勾上之后物理碰撞效果就没有了, 但可以用代码接收到碰撞事件.
在空中的砖块, 当你运行起来发现他会自然掉落, 与地面接触会产生碰撞, 而这一切我们都不用编写代码哦!
小结
将砖块节点多复制一些在场景中, 制作成一堵墙我们的游戏场景就差不多了, 我们下次继续子弹球体的制作与创建, 以及使用键盘控制摄像机移动.
感谢你的关注与阅读, 欢迎你来「Creator 星球游戏开发社区」公众号分享你的技术与经验, 愿我们在前进的道路上砥砺前行, 共同成长!
来源: https://www.cnblogs.com/creator-star/p/11649266.html