初识Unity3D开发3D游戏
开发环境: Unity3D 4.0版
网上有低版本的破解版,根据需要下载,安装,本人使用4.0试用版.破解版貌似网上有看到一个,需要积分,就没下载.
实例应用: 使用Unity3D制作一个空间立方体,可以用鼠标进行控制浏览各个面
启动Unity3D,场景中默认存在一个Main Camera,所以只需要在场景中添加一个物体,实例为立方体,
几何体添加方法:
1.U3D启动后,在场景视图左边标签栏中点击Create - Cube,还可以选择其它几何体
2.选择工具栏中的GameObject - Create Other - Cube,同样可以选择其它几何体
将几何体移动到Camera可视范围内,可以通过游戏视图查看效果
相关的快捷键:鼠标滚轮,可以放大或缩小场景,按住鼠标右键然后配合A|S|W|D键,进行视野移动
场景中的物体比较黑暗,可以通过Create - Directional light 添加光源,进行场景中的物体,光源,相机移动,搭配到满足自己需要效果即可
为模型添加事件脚本
在对应的Project标签组上单机Create - C# Script ,然后编辑C#脚本,游戏脚本Unity支持C#和Javascript,国内用C#占多数.这里我们使用C#脚本
using UnityEngine; using System.Collections; public class NewBehaviourScript : MonoBehaviour { // Use this for initialization void Start () { } // update方法 程序每一帧都会调用该方法,1秒默认30帧 void Update () { //实现的效果,按键盘上的上下左右键可以翻看模型的各个面[模型旋转] if(Input.GetKey(KeyCode.UpArrow)){ transform.Rotate(Vector3.right*Time.deltaTime*10); } if(Input.GetKey(KeyCode.DownArrow)){ transform.Rotate(Vector3.left*Time.deltaTime*10); } if(Input.GetKey(KeyCode.LeftArrow)){ transform.Rotate(Vector3.up*Time.deltaTime*10); } if(Input.GetKey(KeyCode.RightArrow)){ transform.Rotate(Vector3.down*Time.deltaTime*10); } } }
关于默认的一些方法
Start、Update是系统预设的一些方法,当相应事件发生时系统就会调用脚本的相应方法,后续还有OnMouseDown、OnGUI,
将脚本拖到对应的模型上,即为该模型绑定了脚本
脚本是依附于游戏对象的,事件和操作的对象也是当前脚本所在的游戏对象,脚本只能依附于游戏对象或者由其他脚本调用才会运行,一个脚本可以放大多个游戏对象上,是多个实例,一个脚本的多个实例和其它脚本之间互不干扰.
模型的锯齿产生于抗锯齿设置
3D游戏的3D模型对象是由三角形拼出来的,所以会产生锯齿,Unity3D中创建的模型默认的是存在锯齿的,设置反锯齿:
Edit - Project Settings - Quality 组件 在Rendering标签下面中Anti Aliasing(反锯齿)选择列表,默认值为disabled,表示默认禁用反锯齿,这样游戏效果比较高,不会太卡,可以根据需要选择反锯齿样式2x Multi Sampling 、4x Multi Sampling、8x Multi Sampling,值越大越平滑但是越占用资源.
这样我们的第一个实例就制作完成.
可以通过键盘上的上下左右键控制模型在空间进行翻转
关于Unity3D的跨平台,
File - Build Settings,构建为exe、flash、如果有Android、Ios等开发环境还可以构建为移动终端软件.
这里可以将我们制作的游戏导出到不同平台上的应用格式.
导入3D模型,直接将模型文件拖入到工程,模型路径不能存在中文.
导入FBX模型
可以自己绘制游戏地图创建人物活动场景
Terrain - Create Terrain ,然后根据自己喜好,创建游戏地图,添加贴图.
如下是我做的一个仙剑游戏场景,游戏人物韩菱纱 云天河
场景中可以有多个Camera,为人物模型添加Camera.这样我们可以在不同Camera中进行多角度观察
因业务需要,所以开始接触Unity3D,在此感谢杨中科老师.