博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PreviewRenderUtility的Example
阅读量:6957 次
发布时间:2019-06-27

本文共 1723 字,大约阅读时间需要 5 分钟。

用PreviewRenderUtility就不用自己再去创建摄像机来做模型在Editor下的预览了

 

需要注意,默认是用场景天空盒和场景灯光。参考ShaderForge编辑器的做法,配置自定义灯光

这些Unity都有提供接口,不用自己再去创建

using UnityEngine;using System.Collections;using UnityEditor;using UnityEditorInternal;public class Foo : EditorWindow{    Mesh mPreviewMesh;    Material mPreviewMaterial;    PreviewRenderUtility mPreviewRenderUtility;    [MenuItem("Tools/Foo")]    static void Setup()    {        GetWindow
(); } void OnGUI() { if (mPreviewRenderUtility == null) { mPreviewRenderUtility = new PreviewRenderUtility(); mPreviewRenderUtility.m_Camera.farClipPlane = 500; mPreviewRenderUtility.m_Camera.clearFlags = CameraClearFlags.SolidColor; mPreviewRenderUtility.m_Camera.transform.position = new Vector3(0, 0, -10); var go = GameObject.CreatePrimitive(PrimitiveType.Cube); var meshFilter = go.GetComponent
(); mPreviewMesh = meshFilter.sharedMesh; mPreviewMaterial = go.GetComponent
().sharedMaterial; DestroyImmediate(go); } var drawRect = new Rect(0, 0, 100, 100); mPreviewRenderUtility.BeginPreview(drawRect, GUIStyle.none); InternalEditorUtility.SetCustomLighting(mPreviewRenderUtility.m_Light, new Color(0.6f, 0.6f, 0.6f, 1f)); mPreviewRenderUtility.DrawMesh(mPreviewMesh, Matrix4x4.TRS(Vector3.zero, Quaternion.Euler(30, 45, 0), Vector3.one), mPreviewMaterial, 0); mPreviewRenderUtility.m_Camera.Render(); var texture = mPreviewRenderUtility.EndPreview(); InternalEditorUtility.RemoveCustomLighting(); GUI.Box(drawRect, texture); }}

 

 

效果:

 

 

天空盒的话可以自行配置一个带Cubemap的shader:

转载地址:http://rimil.baihongyu.com/

你可能感兴趣的文章
php对象设计进阶
查看>>
python程序的调试
查看>>
启动级别:init 0-6
查看>>
mybatis深入理解(一)之 # 与 $ 区别以及 sql 预编译
查看>>
Java四种引用类型
查看>>
TIOBE 6 月编程语言榜:TypeScript 首次跻身前100
查看>>
Fedora 31 将更新开源 .Net 框架,支持 Mono 5
查看>>
Emulator 29.0.3 Canary 发布,Android 模拟器
查看>>
react-native之android环境搭建
查看>>
5分钟入门AWK
查看>>
GPS定位系统怎么定位监控,如何快速二次开发行业应用 ...
查看>>
Nacos 发布 1.0.0 GA 版本,可大规模投入到生产环境 ...
查看>>
1月2日云栖精选夜读 | 阿里巴巴达摩院发布2019十大科技趋势:语音AI在特定领域通过图灵测试 ...
查看>>
阿里云中间件有哪些?这里最全面
查看>>
scrapy自带文件下载器,实现多层级目录结构的存储 ...
查看>>
批处理 启动和关闭 Oracle 11g 服务
查看>>
解决WIN7启动DHCP服务报1075错误办法
查看>>
移动端弹性滑动以及vue记录滑动位置
查看>>
Windows10 VS2017 C++信号处理
查看>>
GPS定位系统源码GPS定位系统 GPSBD专为二次开发而设计 ...
查看>>