unityc創建CubeMap

轉自:http://blog.csdn.net/lyh916/article/details/45270401

首先要創建一個編輯器類。注意一下,helpString與isValid是ScriptableWizard的內置變量,前面不應該加類型修飾符。以下的這個編輯器類是一個向導類。

[csharp] view plain copy

using UnityEngine;
using UnityEditor;
using System.Collections;

public class RenderCubemapWizard : ScriptableWizard {

public Transform renderFromPosition;  
public Cubemap cubemap;  

void OnWizardUpdate()  
{       
    helpString = "Select transform to render from and cubemap to render into";  
    isValid = (renderFromPosition != null) && (cubemap != null);  
}  

void OnWizardCreate()  
{  
    // create temporary camera for rendering  
    GameObject go = new GameObject("CubemapCamera");  
    go.AddComponent<Camera>();  
    // place it on the object  
    go.transform.position = renderFromPosition.position;  
    go.transform.rotation = Quaternion.identity;  
    // render into cubemap        
    go.GetComponent<Camera>().RenderToCubemap(cubemap);  

    // destroy temporary camera  
    DestroyImmediate(go);  
}  

[MenuItem("GameObject/Render into Cubemap")]  
static void RenderCubemap()  
{  
    ScriptableWizard.DisplayWizard<RenderCubemapWizard>(  
        "Render cubemap", "Render!");  
}  

}

效果圖:


1.ScriptableWizard.DisplayWizard<RenderCubemapWizard>("Render cubemap", "Render!");
第一個參數是窗口名字,第二個參數是按鈕的名字
2.helpString
窗口名字下的提示
3.isValid
當isValid為true時,按鈕才可以被點擊,否則不可以被點擊
4.OnWizardUpdate()
當向導被打開或只要用戶在向導改變了某些東西時被調用
5.OnWizardCreate()
當用戶點擊按鈕時調用

創建一個場景,創建一個空物體(用來作為觀察點),在Project視圖創建一個Cubemap,把空物體和Cubemap賦值到上面的編輯器空槽中,點擊“Render!”



Camera的RenderToCubemap會把在觀察點的前后左右上下六個方向看到的畫面全部存放到一個立方體貼圖中。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,246評論 4 61
  • 嗯哼嗯哼蹦擦擦~~~ 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS 目錄 ...
    philiha閱讀 5,032評論 0 6
  • 換季,至至沒有秋天的衣服可以穿,在網上買了一套,今天到貨一試,大了一碼。爸爸回來后,我說給兒子買了套衣服,挺好看的...
    至孝媽媽閱讀 400評論 0 0
  • 繼承 css某些屬性具有繼承的特點,它允許樣式不僅應用于某個特定html標簽元素,而且應用于其后代。如以下代碼,不...
    CoreyJia閱讀 287評論 0 0