03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

首发于游戏蛮牛论坛&&我的CSDN博客:http://blog.csdn.net/wowkk/  转载请说明出处,谢谢。
本人现大学生,带师弟师妹开发,有合适的项目合作,请加QQ696619

当知道怎样使用脚本功能之后,就可以学着应用了。Unity3d的逻辑很清晰,在场景里搭建好模型,用脚本控制需要被控制的模型,实现互动。

首先搭建一个场景,在3D术语中,好像称之为建模。学习阶段,并不需要去使用专业3D模型处理软件或者找多漂亮的素材,我们直接使用Unity3d自带的简陋的建模功能,往后需要的话,只要把对应模型换成美工交给我们的模型即可。

程序员虽然不要求掌握专业的美工软件,但若能熟练使用,那是大有帮助的。至少PhotoShop这种2D图片处理软件要懂得用,虽然不能处理3D模型,但做2D游戏也用得到,而且,游戏世界里也有“层”等概念,有些是息息相通的。

下面请看本案例的步骤。

1:组成场景。

在场景文件面板Hierarchy中点击Create

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

从上往下分别是:立方体(车身),圆柱(车轮),片(地面),摄像机,点光源

进行拖动布局之后,得到下图效果:

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

(PS:03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》分别是控制“拖动视觉窗口”、“进行移动”、“旋转”、“缩放”。按下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里的菜单项:

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

选中四个车轮,拖进车身,即可创建父子关系,这样就可以通过移动车身而顺带移动四个车轮。

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》(这里已经将Cylinder重命名为Wheel)

4:创建展台ExhibitionStand(圆柱),并让展台自动旋转

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

创建一个ExhibitionStand.JS,代码跟前面车轮旋转的一样,绑定到ExhibitionStand。

将车作为展台的子类。

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

运行后,车轮自转,展台自转,车随展台转。

5:添加材质

Project—Create—Material

以设置黑色车轮为例,将材质颜色设置为黑色。

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

将材质拖进红色划线处(可以选择多个车轮一起操作)

成品:

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

 

//某物体转动时,默认是在以其中心部分作为旋转点。需要以特定部分为旋转点时,可以添加一个空物体,放到指定位置,然后作为某物体的父关系。这样,对父物体(空物体)进行旋转,即可灵活控制旋转点。

03 Unity3d轻松做汽展、展厅--《程序员学Unity3d》

上一篇:有一天


下一篇:Boilerplate Detection Using Shallow Text Features论文小笔记