Никто не знает как в инспекторе отрисовать интерактивное превью GameObject'а?
Вот чтобы меш отрисовать есть класс PreviewRenderUtility.
public override void OnInteractivePreviewGUI(Rect rect, GUIStyle background) {
if(Event.current.type == EventType.MouseDrag) {
angles.x += Event.current.delta.y;
angles.x = Mathf.Clamp( angles.x, -60, 60 );
angles.y += Event.current.delta.x;
Event.current.Use();
}
if(Event.current.type == EventType.Repaint) {
previewRender.m_Camera.transform.position = Vector3.zero;
previewRender.m_Camera.transform.rotation = Quaternion.Euler( angles );
previewRender.m_Camera.transform.Translate( 0, 0, -10 );
previewRender.m_Camera.farClipPlane = 100;
previewRender.BeginPreview( rect, null );
Vector3 pos = -mesh.bounds.center;
for(int i = 0; i < mesh.subMeshCount; i++) {
previewRender.DrawMesh( mesh, pos, Quaternion.identity, materials[i], i );
}
previewRender.m_Camera.Render();
var texture = previewRender.EndPreview();
GUI.DrawTexture( rect, texture );
Event.current.Use();
}
}
А как GameObject отрисовать не ясно. Можно конечно в тупую достать из него все меши и их рисовать. Но может есть способ по лучше?