在线体验连接:
http://example.creator-star.cn/block3d/ide
上面图中是打砖块游戏的主要 3D 节点元素,Shawn 这两天在学习 Unity 与 Creator3D 感觉到制做 3D 游戏与 2D 游戏最大的不一样是 3D 游戏是在模拟一个真实世界,下面我对打砖块游戏场景中的主要 3D 节点作个简要说明。学习
当咱们建立场景时,引擎为会咱们默认建立两个节点:灯光、摄像机。
Main Light它是一只平行灯光,模拟真实世界中的太阳,你将它放在任何位置场景效果的变化都不大,调整角度会影响3D物体的表面的光泽。3d
Camera 摄像机所照摄的界面就是咱们运行时所看到的画面。
咱们这里使用的是透视视角,它像一个锥体,经过锥体能可视化地控制摄像机的参数表现:orm
在【主菜单】 > 【Develop】> 【Camera Privew】能够观察到实时的摄像机画面,请看下图:
blog
ground 是用 Plane 3D 节点模拟的地面,能够经过下面菜单建立:
游戏
Plane 像一张纸,只有x、y,能够设置 Plane 的大小,不论怎么设置它的 Scale y 他在场景中的高度都不会变。事件
咱们重点看一下地块节点和它的组件:
ci
能够看到在 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星球游戏开发社区」公众号分享你的技术与经验,愿咱们在前进的道路上砥砺前行,共同成长!
本文由博客一文多发平台 OpenWrite 发布!