unity笔记 0 - 添加物体,预制体;施加力;移动物体,旋转物体;相机跟随;禁用物体

添加物体

GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.AddComponent<Rigidbody>();
cube.transform.position = new Vector3(x, y, z);

添加预制体

    public Transform brick;
    // Use this for initialization
    void Start()
    {
         Instantiate(brick, new Vector3(x, y, z), Quaternion.identity);
    }

给物体施加一个力

    Rigidbody rigidbody;
    // Use this for initialization
    void Start () {
        rigidbody = GetComponent<Rigidbody>();
    }

    // Update is called once per frame
    void Update () {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");

        Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);

        rigidbody.AddForce(movement * 10f);
    }

移动物体

    // Update is called once per frame
    void Update () {
        float moveHorizontal = Input.GetAxis("Horizontal");
        float moveVertical = Input.GetAxis("Vertical");

        Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
        this.transform.Translate(movement * 0.04F, Space.Self);
        //transform.Translate(Vector3.forward * 0.04F,Space.Self);
    }

旋转物体

    // Update is called once per frame
    void Update () {
        transform.Rotate(new Vector3(15, 30, 45) * Time.deltaTime);
        //Time.deltaTime为上一帧到这一帧的时间
        //乘上Time.deltaTime程序从每帧变化变成每秒变化
    }

关于deltaTime的解释

deltaTime是你这一帧到上一帧经历的时间。
假设一秒走10帧,每帧不太稳定,间隔时间不一样,用 t0,t1,t2…t9来表示,他们们满足 t0 + t1 + t2 + … + t9 = 1
现在你定义了一个速度 V=5,意思是想要1秒走5米,现在设每帧所走的路程是 s0,s1,s2,…s9
满足 s0=V*t0,s1=V*t1,s2=V*t2,…s9=V*t9
那么看看1秒走了多少路程:
S = s0+s1+s2+…s9
= V*(t0+t1+t2+…+t9)
=V*1
=V
=5
引用自 百度贴吧- Cairne愷恩(本贴3L)

相机跟随

    public GameObject player;
    private Vector3 offset;
    // Use this for initialization
    void Start () {
        offset =  transform.position - player.transform.position;
    }

    // Update is called once per frame
    void Update () {
        transform.position = player.transform.position + offset;
    }

禁用物体

this.gameObject.SetActive(false);
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值