Unity学习心得
第一个项目 Roll A Ball
1.基本模型和场景操作
双击Cube,表示聚焦(在Scene场景中)或者按下 F键
Persp:透视视图 (会产生近大远小) ISO:平行视野(不会产生近大远小的效果)
2.世界坐标系和局部坐标系:
世界坐标:以世界原点为中心的坐标 局部坐标:以父节点的中心为原点的坐标
3.对物体常用操作移动缩放旋转:
默认单位:m 快捷键集合:QWER
红色轴:x轴 蓝色轴:z轴 绿色轴:y轴
4.修改游戏物体的名字:
选中游戏物体,按下F2键
5.给地面赋予材质:
project面板中创建Material文件夹———->右键create Material———–>Albedle(修改材质球的颜色)
6.给小球添加刚体组件:Rigidbody (使游戏物体拥有物理效果)
7.声明一个指向Rigidbody组件的变量:
private Rigidbody rd;
rd = GetComponent<Rigidbody>();
8.如何使小球运动起来:
rd.AddForce(new Vector3(x,y,z));
x,y,z的正负——->力的方向
x,y,z的大小————->力的大小
9.通过按键来控制小球:
[左右移动]:
获取用户水平轴的输入:
float h = Input.GetAxis("Horizontal");
按下A键:h=-1; 按下D键:h=1;
[前后移动]:
float v = Input.GetAxis("Vertical");
按下S键:h=-1; 按下W键:h=1;
10.如何控制施加力的大小:
定义一个 force:
public int force;
rd.AddForce(new Vector3(h,0,v)*force);
11.相机的跟随:
(1).将相机拖拽至目标物体下,作为其子物体。
(2).通过脚本FollowTarget
FollowTarget脚本:
a.创建跟随目标的tranform组件(获取目标的坐标):
public Transform TargetTransform;
b.计算相机与跟随目标的偏移:
offest = transform.position - TargetTransform.position;
c.保持相机和跟随目标的偏移(offset)不变:
transform.position = TargetTransform.position + offset;
12.预制体:
相当于一个模板,修改其参数,场景中所有由它复制的物体相应的参数均会改变
13.控制食物旋转:
在预制体上添加脚本:PickUp:
void Update ()
{
transform.Rotate(new Vector3(1,0,0));
}
14.碰撞检测:
onCollisionEnter: 碰撞发生时(仅发生一次)
onCollisionExit: 碰撞结束后(仅发生一次)
onCollisionStay: 两个物体挨在一起(触发多次)
void OnCollisionEnter(Collision collision) //collision表示碰撞到的物体
{
//获取碰撞到物体的名字
string nam