- Home /
Can someone help me modify the reflective cubemap script?
Hi, I don't like the way the reflective cubemap script is now. If you have a ton of objects using it, you will end up having to render way too many camera textures.
The solution I am trying to get at is using the main project camera location as reference, but then render to a cubemap texture in the assets. This way, I can manually put this same cubemap on many objects and still only have to render 6 faces from my main camera location.
Currently, my script modification works, but I am getting some annoying errors in the console: "m_Memory.renderTextureBytes<0".
Would anyone be able to help me find what is causing the error?
// Realtime reflective cubemaps!
@script ExecuteInEditMode
var cubemapSize = 128;
var oneFacePerFrame = false;
private var cam : Camera;
//This goes to my cubemap texture
var rtex : Cubemap;
function Start () {
// render all six faces at startup
UpdateCubemap( 63 );
}
function LateUpdate () {
if (oneFacePerFrame) {
var faceToRender = Time.frameCount % 6;
var faceMask = 1 << faceToRender;
UpdateCubemap (faceMask);
} else {
UpdateCubemap (63); // all six faces
}
}
function UpdateCubemap (faceMask : int) {
if (!cam) {
var go = new GameObject ("CubemapCamera", Camera);
go.hideFlags = HideFlags.HideAndDontSave;
go.transform.position = transform.position;
go.transform.rotation = Quaternion.identity;
cam = go.camera;
cam.farClipPlane = 100; // don't render very far into cubemap
cam.enabled = false;
}
cam.transform.position=transform.position;
cam.RenderToCubemap(rtex,faceMask);
}
function OnDisable(){
DestroyImmediate(cam);
}
Your answer
Follow this Question
Related Questions
why realtime reflective cubemap code don't work anymore? 1 Answer
Reflective toon (outline+ramp) shader 3 Answers
Reflective cubemap cover only half of 360 degrees. 0 Answers
Unable to see grass texture 1 Answer
Problem Changing Scenes 1 Answer