1

在此处输入图像描述

我一直在尝试通过旋转游戏对象来使GoKit中的手柄(来自节点)旋转。基本上,我将 GoKit 添加到我的项目中,并制作了一个附加了GoDummyPath脚本的游戏对象。我只使用了两个节点(或句柄)来创建一条直线。上图显示了我想要实现的目标。从原始位置 A,我想旋转游戏对象以影响手柄(线)的位置说 B。小圆圈代表游戏对象的位置。

我无法通过在检查器中旋转游戏对象来旋转线条,因此我将以下代码添加到GoDummyPathEditor

两个变量:

private Quaternion handleRotation;
private Transform handleTransform;

OnEnable()

handleTransform = _target.transform;
    handleRotation = Tools.pivotRotation == PivotRotation.Local ?
        handleTransform.rotation : Quaternion.identity;

    for (var i = 0; i < _target.nodes.Count; i++)
        _target.nodes [i] = handleTransform.TransformPoint (_target.nodes [i]);

if( GUI.changed )OnInspectorGUI()

for (var i = 0; i < _target.nodes.Count; i++)
            _target.nodes [i] = handleTransform.InverseTransformPoint(_target.nodes [i]);

我更换了:

Handles.Label( _target.nodes[i] + new Vector3( 3f, 0, 1.5f ), i.ToString(), _indexStyle );

和:

_target.nodes[i] = Handles.DoPositionHandle(_target.nodes[i], handleRotation); 

完全改变的GoDummyPathEditor

我仍然无法移动手柄。我不知道我在这里错过了什么。如何通过检查器旋转属性旋转游戏对象来旋转手柄?

4

0 回答 0