unity3d實時Cubemap RenderToCubemap
来源:互联网 发布:淘宝网介绍ppt 编辑:程序博客网 时间:2024/06/06 05:14
转载自:http://oulehui.blog.163.com/blog/static/79614698201011921716215/
Description
Render into a cubemap from this camera.
This is used for real-time reflections into cubemap render textures. It can be quite expensive though, especially if all six cubemap faces are rendered each frame.
Camera's position, clear flags and clipping plane distances will be used to render into cubemap faces. faceMask is a bitfield indicating which cubemap faces should be rendered into. Each bit that is set corresponds to a face. Bit numbers are integer values of CubemapFace enum. By default all six cubemap faces will be rendered (default value 63 has six lowest bits on).
This function will return false if rendering to cubemap fails. Some graphics hardware does not support the functionality.
Note: This is a Unity PRO feature.
@script ExecuteInEditMode
var cubemapSize = 128;
var oneFacePerFrame = false;
private var cam : Camera;
private var rtex : RenderTexture;
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;
}
if (!rtex) {
rtex = new RenderTexture (cubemapSize, cubemapSize, 16);
rtex.isPowerOfTwo = true;
rtex.isCubemap = true;
rtex.hideFlags = HideFlags.HideAndDontSave;
renderer.sharedMaterial.SetTexture ("_Cube", rtex);
}
cam.transform.position = transform.position;
cam.RenderToCubemap (rtex, faceMask);
}
function OnDisable () {
DestroyImmediate (cam);
DestroyImmediate (rtex);
}
Description
Render into a cubemap from this camera.
This is used for real-time reflections into cubemap render textures. It can be quite expensive though, especially if all six cubemap faces are rendered each frame.
Camera's position, clear flags and clipping plane distances will be used to render into cubemap faces. faceMask is a bitfield indicating which cubemap faces should be rendered into. Each bit that is set corresponds to a face. Bit numbers are integer values of CubemapFace enum. By default all six cubemap faces will be rendered (default value 63 has six lowest bits on).
This function will return false if rendering to cubemap fails. Some graphics hardware does not support the functionality.
Note: This is a Unity PRO feature.
@script ExecuteInEditMode
var cubemapSize = 128;
var oneFacePerFrame = false;
private var cam : Camera;
private var rtex : RenderTexture;
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;
}
if (!rtex) {
rtex = new RenderTexture (cubemapSize, cubemapSize, 16);
rtex.isPowerOfTwo = true;
rtex.isCubemap = true;
rtex.hideFlags = HideFlags.HideAndDontSave;
renderer.sharedMaterial.SetTexture ("_Cube", rtex);
}
cam.transform.position = transform.position;
cam.RenderToCubemap (rtex, faceMask);
}
function OnDisable () {
DestroyImmediate (cam);
DestroyImmediate (rtex);
}
0 0
- unity3d實時Cubemap RenderToCubemap
- CubeMap
- Cubemap
- Unity3D 场景渲染到Cubemap 插件
- Shader外篇:Unity3D中简单的Cubemap反射
- 【Unity Shaders】Reflecting Your World —— Unity3D中简单的Cubemap反射
- 【Unity Shaders】Reflecting Your World —— Unity3D中简单的Cubemap反射
- 记录一下Unity3D 关于lightmap,mipMap,normalmap,cubemap,以及Reflection Probe
- Unity CubeMap
- cubemap generator
- 【Unity Shaders】Reflecting Your World —— 在Unity3D中创建一个简单的动态Cubemap系统
- TinyRenderEngine------Demo: CubeMap
- Shader:Diffuse+CubeMap+LightMap
- 简易cubemap制作
- [UnityShader]创建Cubemap
- 立方体贴图(Cubemap)
- Shader之CubeMap 和基于法线的CubeMap
- <<shaders for gpa>>CH07-cubemap
- 关于模型勾边Shader的文章
- Unity3D模型制作规范
- Jenkins进阶系列之——02email-ext邮件通知模板
- 在Unity中生成Cubemap所需要的六面图
- 谁才是“用户觉得”最快的那朵云?
- unity3d實時Cubemap RenderToCubemap
- 3dmax的贴图烘焙
- Sqlserver 中编写脚本时的一些限制
- Java服务端推送和web端推送——GoEasy免费推送服务
- 50 Tips for Working with Unity (Best Practices)
- Ubuntu 12.04常用快捷键
- [leetcdoe] 51. N-Queens 解题报告.
- VSync Count 垂直同步
- 有icon和arrow的自定义控件