初学Unity 3D 碰到的语句

1.

    

void OnTriggerEnter(Collider other)//当Collider(碰撞体)进入tigger(触发器)时调用。
    {
        other.transform.position = new Vector3(2, 6, 6);//  当物体碰撞时 other  物体坐标变为(2,6,6)。
    }


2.

void OnTriggerStay(Collider other)//当Collider(碰撞体)接触tigger(触发器)时,OnTriggerStay将在每一帧调用
    {
        other.transform.position = new Vector3(2, other.transform.position.y + 0.01f, 6);// 当other被碰撞体接触时,y坐标每帧都加0.01f
    }

3.物体的旋转(3种方式)

   (1)transform.Rotate(2种)

this.transform.Rotate(10 * Time.deltaTime, 0, 0);  //物体绕x轴旋以 10 * Time.deltaTime 的速度旋转
this.transform.Rotate(new Vector3(1,1,1), 10*Time.deltaTime, 0 );  //物体沿(1,1,1)的向量以 10 * Time.deltaTime 的速度旋转。

    ( 2 )transform.RotateAround

this.transform.RotateAround(target.transform.position, Vector3.forward, 45f * Time.deltaTime);
//物体绕target 的坐标沿up的方向按照 45f * Time.deltaTime 速度旋转。

   (3 )transform.LookAt

this.transform.LookAt(target.transform.position);//物体一直朝向target 的坐标


4.物体的缩放

(1)将物体直接缩放

public class test : MonoBehaviour {
public float scale;
void Start () {
        scale = 5f;
	}
void Update () {  
transform.localScale = new Vector3(scale,scale, scale);//将物体的Scale 缩放为(scale,scale, scale)  

}


(2)通过曲线控制物体规律的缩放

public class test : MonoBehaviour {
public float scale;
public AnimationCurve curve;//生成一个曲线
void Start () {
        scale = 5f;
	}
void Update () {  
scale = curve.Evaluate(Time.time / 2f) * 2f;//使scale的大小随curve变化
transform.localScale = new Vector3(scale,scale, scale);//将物体的Scale 缩放为(scale,scale, scale)  

}


与(1)相比(2)多了两个语句,一个用来生成曲线,一个用来使scale的大小随curve曲线变化,再通过Inspector面板里的脚本中的Curve选项设定曲线,从而达到规律缩放。




4.运行时生成

Debug.DrawLine  生出一个线段

Debug.DrawLine(new Vector3(0, 0, 0), new Vector3(6, 6, 6));//建一个(0,0,0)到(6,6,6)的线段

猜你喜欢

转载自blog.csdn.net/xiao_yw/article/details/80736276
今日推荐