这本来是我以前学Unity做的笔记。现在复习并整理一下,也希望对新手有用吧!
3D模型基础:
1. Hierarchy:显示的是界面上的游戏对象(Gamae Object)。
每个对象有三个属性:
position(位置),
Rotation(旋转角度),
Scale(缩放大小)三组属性
2. 关于坐标:U3D采用的是左手坐标系。右、上、背向观众(指向屏幕)为正方向。
3. Vector3是Unity中定义的一个含有x、y、z三个字段的类,可以表示位置点,也可以表示一个向量。
Vector3乘以数值表示向量的三个值乘以相应的值,V1-V2则表示从2指向1的向量。
关于游戏制作:
每一个项目,对应他自己的资源(Assets),一定要对资源进行有效划分,这对游戏开发提高效率有帮助。如脚本放在脚本文件文,模型放模型文件夹。
关于游戏运行机制:
Update():游戏每一帧都会调用1秒会画30帧。用于游戏的逻辑更新,
如控制移动。如果脚本里面Update里面没有语句,请删除Update,你懂的。
FixUpdate():用于游戏的物理逻辑更新,每一帧都执行。
LateUpdate():在Update之后调用。如在人物移动后的摄像机跟随。人物移动写在Update中,
摄像机移动写在LateUpdate中。
Start():在脚本实例被启用时调用,在Update之前一帧只调用一次。
Awake():在所有对象被初始化后调用。只执行一次。
使用Awake 或Start 函数来初始化Javascript 中放置在函数之外的代码,
在C#或Boo 中要放置在Awake 或Start 中。
Awake 和Start 的不同是Awake 在场景被加载时候运行,而Start 在第一次调用Update
或FixedUpdate 函数之前被调用,所有Awake 函数在任何Start 函数调用之前被调用。
OnGUI():渲染和处理GUI事件使调用。比如画一个button,之后则每帧调用,会提高drawcall,降低效率。
执行顺序:Awake、Start、Update、FixUpdate、LateUpdate、OnGUI
关于效果:
锯齿的形成:每一个物体都是由三角形拼成的,故会有锯齿。
可以设置抗锯齿,抗锯齿程度越高,画面越好看,但是性能越差。所以U中默认的是
不抗锯齿,性能最高。要抗的话自己设置。
关于游戏对象移动:
1.基础知识:左手定则,左手螺旋,欧拉角。
如:transform.Rotate(Vector3.right);设置按上,那么cube就会往里转,左手螺旋知
大拇指往右。Yes,四指指向的方向就是旋转方向。