其他分享
首页 > 其他分享> > Unity语法基础知识:1.实例化,2.给力,3.控制改变方向,4.销毁

Unity语法基础知识:1.实例化,2.给力,3.控制改变方向,4.销毁

作者:互联网

@Unity语法基础知识:1.实例化,2.给力,3.控制改变方向,4.销毁

1.实例化命令:
用Instantiate(要生成的物体,生成的位置,生成物体的旋转角度)

检测鼠标左键(左CTRL) :

public GameObject projectile;

    void Update() {

        if (Input.GetButtonDown("Fire1"))

            Instantiate(projectile, transform.position, transform.rotation) as GameObject;
    }

2.给物体加力:

(1)public void AddForce(Vector3 force, ForceMode mode = ForceMode.Force);
世界坐标空间里的向量。添加到刚体的力
力仅应用于激活的刚体。如果游戏对象未激活,添加力无效果。
默认刚体是唤醒的。如果力的大小为0,那么刚体不被唤醒。

public class ExampleClass : MonoBehaviour {

    public float thrust;

    public Rigidbody rb;

    void Start() {

        rb = GetComponent<Rigidbody>();

    }

    void FixedUpdate() {

        rb.AddForce(transform.forward * thrust);

    }

}

(2)public void AddForce(float x, float y, float z, ForceMode mode = ForceMode.Force);
在世界坐标空间x轴力的大小。
在世界坐标空间y轴力的大小。
在世界坐标空间z轴力的大小。
添加到刚体的力。
力仅应用于激活的刚体。如果游戏对象未激活,添加力无效果。
默认刚体是唤醒的。如果力的大小为0,那么刚体不被唤醒。

3.转换方向:
Transform.TransformDirection 变换方向
right:左右;forward:前后;up:上下;

(1)Vector3 TransformDirection(Vector3 direction);
变换方向从局部坐标转换到世界坐标。
这个操作不会受到变换的缩放和位置的影响。返回的向量与direction有同样的长度。
例:

public Transform cam = Camera.main.transform;
public Vector3 cameraRelativeRight = cam.TransformDirection(Vector3.right);
void Example() {

    rigidbody.AddForce(cameraRelativeRight * 10);

}

(2)Vector3 TransformDirection(float x, float y, float z);
变换方向x, y, z从局部坐标到世界坐标。
这个操作不会受到变换的缩放和位置的影响。返回的向量与direction有同样的长度。
例:

public Transform cam = Camera.main.transform;

    public Vector3 cameraRelativeRight = cam.TransformDirection(1, 0, 0);

    void Example() {

        rigidbody.AddForce(cameraRelativeRight * 10);

    }

4.销毁物体:
Destroy(Object obj, float t = 0.0F);
例:

// 5秒后销毁对象
Destroy (gameObject, 5);

标签:Vector3,void,float,Unity,世界坐标,给力,改变方向,public,刚体
来源: https://blog.csdn.net/qq_45152631/article/details/105770621