preview窗口 unity_Unity 预览窗口

该博客介绍了如何在Unity中创建自定义的预览窗口,通过`PreviewExampleInspector`类展示预览对象并实现旋转操作。代码示例展示了如何初始化、更新和销毁预览,以及如何处理预览的GUI事件。
摘要由CSDN通过智能技术生成

using UnityEngine;

public class PreviewExample : MonoBehaviour

{

}

using UnityEngine;

using UnityEditor;

[CustomEditor(typeof(PreviewExample))]

public class PreviewExampleInspector : Editor

{

private PreviewRenderUtility m_PreviewUtility;

private GameObject m_PreviewInstance;

// 预览对象的包围盒

private Bounds m_PreviewBounds;

// 预览的方向

private Vector2 m_PreviewDir = new Vector2(120f, -20f);

public override bool HasPreviewGUI()

{

return true;

}

public override GUIContent GetPreviewTitle()

{

return new GUIContent("预览");

}

private void AddSingleGO(GameObject go)

{

#if UNITY_2017_1_OR_NEWER

m_PreviewUtility.AddSingleGO(go);

#endif

}

public override void OnPreviewSettings()

{

GUILayout.Label("文本", "preLabel");

GUILayout.Button("按钮", "preButton");

}

public override void OnPreviewGUI(Rect r, GUIStyle background)

{

InitPreview();

// 上下左右的旋转

m_PreviewDir = Drag2D(m_PreviewDir, r);

if (Event.current.type != EventType.Repaint)

{

return;

}

m_PreviewUtility.BeginPreview(r, background);

Camera camera = m_PreviewUtility.camera;

float num = Mathf.Max(m_PreviewBounds.extents.magnitude, 0.0001f);

float num2 = num * 3.8f;

Quaternion quaternion = Quaternion.Euler(-m_Previ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值