您的位置:首页 > 移动开发 > Unity3D

UnityShader中级篇——创建用于环境映射的立方体纹理

2018-02-28 15:07 337 查看
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

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()
{
//创建一个临时相机
GameObject go = new GameObject("CubemapCamera");
go.AddComponent<Camera>();
// 将相机的位置修正到想要渲染的位置
go.transform.position = renderFromPosition.position;
//渲染纹理到cubemap中
go.GetComponent<Camera>().RenderToCubemap(cubemap);

//销毁临时相机
DestroyImmediate(go);
}

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: