unity3d 使对象跟随旋转,差异非常小

lf3rwulv  于 2023-02-13  发布在  其他
关注(0)|答案(1)|浏览(152)

我正在使我的对象跟随另一个对象的旋转。我希望我的对象以非常小的差异旋转,也就是说,从它当前的旋转开始,它不应该完全跟随另一个对象旋转。它的旋转应该有一个差异,这样它应该旋转主对象旋转的10%。我该怎么做?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FollowRotationWithLimit : MonoBehaviour {
    public GameObject objectToFollow;

    // Start is called before the first frame update
    void Start () {

    }

    // Update is called once per frame
    void Update () {

        this.transform.eulerAngles = new Vector3 (this.transform.eulerAngles.x, objectToFollow.transform.eulerAngles.y, this.transform.eulerAngles.z);
    }
}

我无法理解造成这种差异的逻辑。

6ojccjat

6ojccjat1#

我宁愿称之为FollowRotationWithFactor,然后简单地使用一个乘数

public class FollowRotationWithFactor : MonoBehaviour 
{
    public GameObject objectToFollow;
    public float factor = 0.1f;

    // Update is called once per frame
    void Update ()
    {
        var eulerAngles = transform.eulerAngels;
        eulerAngles.y = objectToFollow.transform.eulerAngles.y * factor;
        transform.eulerAngles = eulerAngles;
    }
}

相关问题