欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

初学Unity 3D 碰到的语句

程序员文章站 2022-03-26 16:03:32
...

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)的线段

相关标签: 学习 语句