【问题标题】:Lock a childs rotation so its always facing down锁定孩子的旋转,使其始终朝下
【发布时间】:2018-06-18 03:41:37
【问题描述】:

我有一个刚被切断的二维头。与脖子相连的地方有血液的粒子效果,所以那个点总是一样的。

现在头部开始旋转,并且由于粒子效果是头部的一个孩子,血液也随之旋转。

锁定旋转似乎不起作用,它锁定了旋转,但我总是希望血液垂直向下滴落。就像一辆大轮子在旋转,而手推车总是面朝下。

这是我尝试的锁定、世界和局部旋转:

bloodTrailEffect.transform.eulerAngles = new Vector3(90, 0, 0); 
bloodTrailEffect.transform.localEulerAngles = new Vector3(90, 0, 0); 

我试图捕捉我的意思的图片:

所以血迹应该是笔直的。如果它不再旋转,那么轨迹实际上开始加速,这看起来很不正常。

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    我尝试自己复制它,我有一个旋转的精灵,将ParticleSystem 附加到精灵的顶部中间。 然后我将此脚本附加到ParticleSystem

    using UnityEngine;
    
    public class KeepRotation : MonoBehaviour {
    
        Quaternion rotation;
        void Awake()
        {
            rotation = transform.rotation;
        }
        void LateUpdate()
        {
            transform.rotation = rotation;
        }
    }
    

    它只是不断将原始旋转设置回来..

    【讨论】:

      【解决方案2】:

      我很确定粒子系统上有一个选项可以让粒子世界空间化,你试过吗?

      【讨论】:

      • 是的,效果提高了 10 倍,我没有意识到这是一个选择,谢谢 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多