You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
908 B
33 lines
908 B
3 years ago
|
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;
|
||
|
// 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!");
|
||
|
}
|
||
|
}
|