Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

HandleUtility.placeObjectCustomPasses

Описание

Подпишитесь на это событие, чтобы управлять размещением объектов в SceneView.

Этот делегат вызывается PlaceObject при перетаскивании объектов из представлений Hierarchy и Project.

using UnityEditor; using UnityEngine; static class PlaceObjectExample { static readonly Plane s_GroundPlane = new Plane(Vector3.up, Vector3.zero); [InitializeOnLoadMethod] static void InitPlaceObjectHandler() { HandleUtility.placeObjectCustomPasses += PlaneRaycast; } // In this example, we register a plane at the scene origin to test for object placement. static bool PlaneRaycast(Vector2 mousePosition, out Vector3 position, out Vector3 normal) { Ray worldRay = HandleUtility.GUIPointToWorldRay(mousePosition); float distance; if (s_GroundPlane.Raycast(worldRay, out distance)) { position = worldRay.GetPoint(distance); normal = s_GroundPlane.normal; return true; } position = Vector3.zero; normal = Vector3.up; return false; } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3