首发于游戏蛮牛论坛&&我的CSDN博客:http://blog.csdn.net/wowkk/ 转载请说明出处,谢谢。
本人现大学生,带师弟师妹开发,有合适的项目合作,请加QQ696619
当知道怎样使用脚本功能之后,就可以学着应用了。Unity3d的逻辑很清晰,在场景里搭建好模型,用脚本控制需要被控制的模型,实现互动。
首先搭建一个场景,在3D术语中,好像称之为建模。学习阶段,并不需要去使用专业3D模型处理软件或者找多漂亮的素材,我们直接使用Unity3d自带的简陋的建模功能,往后需要的话,只要把对应模型换成美工交给我们的模型即可。
程序员虽然不要求掌握专业的美工软件,但若能熟练使用,那是大有帮助的。至少PhotoShop这种2D图片处理软件要懂得用,虽然不能处理3D模型,但做2D游戏也用得到,而且,游戏世界里也有“层”等概念,有些是息息相通的。
下面请看本案例的步骤。
1:组成场景。
在场景文件面板Hierarchy中点击Create
从上往下分别是:立方体(车身),圆柱(车轮),片(地面),摄像机,点光源
进行拖动布局之后,得到下图效果:
(PS:分别是控制“拖动视觉窗口”、“进行移动”、“旋转”、“缩放”。按下ctrl可以在Hierarchy和场景里选择多个物体。)
2:实现车轮转动。
创建一个JS脚本:Wheel.js,实现车轮转动。
function Update () {
gameObject.transform.Rotate(0,-35*Time.deltaTime,0);
//每帧绕Y轴旋转-35度。gameObject表被绑定的对象,transform是它的变幻属性,调用旋转函数。
//Update()函数,表每帧执行一次。此处我们要实现转动速度为35度/秒,而不是35度/帧,所以要乘以Time.deltaTime
}
然后把这个脚本绑定到4个车轮,运行之后,即可看到车轮转动效果。
3:*控制摄像机视角、创建父子关系。
选中摄像机,GameObject – Align with view(Ctrl+Shift+F) 就可以把对象转到当前视点,借此灵活控制摄像机所要拍摄的内容。启动项目时,界面所看到的,就是摄像机所看到的内容。
(GameObject里的菜单项:
)
选中四个车轮,拖进车身,即可创建父子关系,这样就可以通过移动车身而顺带移动四个车轮。
(这里已经将Cylinder重命名为Wheel)
4:创建展台ExhibitionStand(圆柱),并让展台自动旋转
创建一个ExhibitionStand.JS,代码跟前面车轮旋转的一样,绑定到ExhibitionStand。
将车作为展台的子类。
运行后,车轮自转,展台自转,车随展台转。
5:添加材质
Project—Create—Material
以设置黑色车轮为例,将材质颜色设置为黑色。
将材质拖进红色划线处(可以选择多个车轮一起操作)
成品:
//某物体转动时,默认是在以其中心部分作为旋转点。需要以特定部分为旋转点时,可以添加一个空物体,放到指定位置,然后作为某物体的父关系。这样,对父物体(空物体)进行旋转,即可灵活控制旋转点。