Unity3d 创建类似于Game Creator | Unity Editor定制的工具
该项目的需求是创建一个工具,我可以通过编辑器脚本直接在游戏对象上定义简单的onClick、onTrigger或onCollision操作 Unity已经为onClick提供了一个按钮,在这个按钮中我可以选择游戏对象,让我可以访问该游戏对象上的所有脚本及其函数,然后我只需选择一个在运行时执行的函数 我需要什么-Unity3d 创建类似于Game Creator | Unity Editor定制的工具,unity3d,unity-editor,Unity3d,Unity Editor,该项目的需求是创建一个工具,我可以通过编辑器脚本直接在游戏对象上定义简单的onClick、onTrigger或onCollision操作 Unity已经为onClick提供了一个按钮,在这个按钮中我可以选择游戏对象,让我可以访问该游戏对象上的所有脚本及其函数,然后我只需选择一个在运行时执行的函数 我需要什么- OnCollisionTrigger->它在编辑器中显示两个字段 1.Gameobject字段-在这里我可以简单地拖动任何场景Gameobject 2.功能列表,如切换激活、销毁等 我看过
OnCollisionTrigger->它在编辑器中显示两个字段
1.Gameobject字段-在这里我可以简单地拖动任何场景Gameobject
2.功能列表,如切换激活、销毁等 我看过许多可用于编辑器脚本编写的视频,但没有一个可以解释这些主题 我知道我们在Unity Editor中有手柄,它非常适合做很多事情。但我真的不知道如何在编辑器上实现这样的东西 我不确定这个问题是否可以通过多种方式解决。但我还没有找到我需要开始研究的起点。 Unity Editor脚本在视频或文档中的文档记录很少。 任何指引我正确方向的帮助都会真正帮助我
提前非常感谢:)您需要的是UnityEvents。创建UI.Button对象时,它有一个名为OnClick的UnityEvent 在下面的示例中,我创建了一个示例类,每当调用SomeFunction时,它都会触发OnSomethingAppended事件(您可以将其命名为OnClick或其他任何名称)。因为我“调用”了这个事件 如果你把它拖放到一个游戏对象上,你会在某个事件上看到UI.Button的OnClick事件
using UnityEngine;
using UnityEngine.Events;
public class Example : MonoBehaviour
{
public UnityEvent OnSomethingHappened;
private void SomeFunction() {
OnSomethingHappened.Invoke();
}
}
那么您是否需要编辑器中UI.Button对象的OnClick事件之类的东西?(但在自定义游戏对象上)
OnClick
是UnityEvent类型的对象。您只需使用它,并在您希望它触发的任何位置执行调用(碰撞时?然后在oncollision
中调用它)。@dreamend Yes。你说得对。我想为游戏对象上的onClick、onCollision或onTrigger等事件添加自定义编辑器工具。类似于Unity默认为UI提供的功能。按钮对象(用于点击)@Draco18s我没有得到它。如何通过编辑器脚本将其集成?@rsinha请参阅dreamend的答案。它只是一个UnityEvent对象。