Tag: unity3d editor

播放时如何在编辑器中打开/关闭统计面板?

我想在播放时通过C#脚本打开/关闭此面板。 这可能吗? 没有为此找到任何编辑器API函数。

如何通过旋转游戏对象使行编辑器中的句柄旋转

我一直试图通过旋转游戏对象使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; […]

如何制作bezier连续或不连续的单个锚点

我正在使用以下代码创建贝塞尔曲线。 通过在场景视图中移动单击,可以扩展曲线以连接多个贝塞尔曲线。 我的代码具有使整个曲线连续或不连续的function。 我意识到我需要使单个点(特别是锚点)具有此function。 我认为最理想的方法是为具有此function的点创建一个新类(使点连续或不连续),因为这可以用于添加可能特定于点的其他属性。 怎么办呢? 路径 [System.Serializable] public class Path { [SerializeField, HideInInspector] List points; [SerializeField, HideInInspector] public bool isContinuous; public Path(Vector2 centre) { points = new List { centre+Vector2.left, centre+(Vector2.left+Vector2.up)*.5f, centre + (Vector2.right+Vector2.down)*.5f, centre + Vector2.right }; } public Vector2 this[int i] { get { return points[i]; } } public int NumPoints { […]