【发布时间】:2019-02-02 12:34:00
【问题描述】:
我一直在谷歌上搜索并试图找到答案。但我什么都想不出来。
private static void OnSceneGUI(SceneView sceneView)
{
// var mousePos = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
// Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
Ray ray = Camera.current.ScreenPointToRay(Event.current.mousePosition);
Debug.Log("Screen: " + ray);
}
这就是我现在想出的,找到鼠标位置。
我的目标是找到 mousePos,然后将 playerPos 重置为鼠标所在的位置。
[MenuItem("MyMenu/DevTools/ResetPlayer #r")]
private static void ResetPlayer()
{
var player = GameObject.Find("Player");
Transform playerPos = player.GetComponent<Transform>();
Vector3 reset = new Vector3(-7, 0, 0);
playerPos.position = reset;
}
目前我只知道如何重置到固定位置。
我是这个编辑器编码的新手,所以我很感激我能得到的所有帮助! :)
【问题讨论】:
-
您是如何设法在 EditorWindow 中获得 OnSceneGUI 功能的?只有“编辑器”类包含对该方法的访问权限。
标签: c# visual-studio unity3d