1、--------------新建一个“RenderCubemapWizard”js脚本---颍骈城茇-----------// Render scene from a given point into a static cube map. // Place this script in Editor folder of your project. // Then use the cubemap with one of Reflective shaders! class RenderCubemapWizard extends ScriptableWizard { var renderFromPosition : Transform; var cubemap : Cubemap; function OnWizardUpdate () { helpString = "Select transform to render from and cubemap to render into"; isValid = (renderFromPosition != null) && (cubemap != null); } function OnWizardCreate () { // create temporary camera for rendering var go = new GameObject( "CubemapCamera", Camera ); // place it on the object go.transform.position = renderFromPosition.position; go.transform.rotation = Quaternion.identity; // render into cubemap go.camera.RenderToCubemap( cubemap ); // destroy temporary camera DestroyImmediate( go ); } @MenuItem("GameObject/Render into Cubemap") static function RenderCubemap () { ScriptableWizard.DisplayWizard.<RenderCubemapWizard>( "Render cubemap", "Render!"); } }--------------------------保存--------------------------
2、将该脚本放置到Editor文件夹下,然后GameObject组件菜单下就会出现Render into Cubemap选项。
3、我假豹肉钕舞设你已经有一个场景环境,或者还没创立的话给场景加一个环境天空球,接着再创建一个几何球体当作你需要环境反射的位置点(能反射周围环境的位置)。再创建一个新的cubemap来接收环境反射。
4、点击Render into Cubemap选项会弹出创建窗口。拖动球体到第二个选框,拖动刚才新建的空cubemap到第三个选框。
5、最后点击右下角的Render就行了,就做出了一张cubemap。