- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
unity3d 镜面反射代码(Unity3d specular reflection code)
unity3d 镜面反射代码(Unity3d specular reflection code)
Uinty3d mirror code
Specular reflection code
The file name MirrorReflection.cs
Using UnityEngine;
Using System.Collections;
This is in fact just the / Water script from Pro Standard Assets,
With refraction stuff removed. / / just
[ExecuteInEditMode] Make mirror Live-update even when not / in play mode
Public class MirrorReflection: MonoBehaviour
{
Public bool m_DisablePixelLights = true;
Public int m_TextureSize = 256;
Public float m_ClipPlaneOffset = 0.07f;
Public LayerMask m_ReflectLayers = -1;
Private Hashtable m_ReflectionCameras = new (Hashtable); / / Camera - Camera table
Private RenderTexture m_ReflectionTexture = null;
Private int m_OldReflectionTextureSize = 0;
Private static bool s_InsideRendering = false;
This is called when its known / that the object will be rendered by some
Camera. We render reflections and do / other updates here.
The script executes in edit / Because mode, reflections for the scene view
Will just work / / camera!
Public void (OnWillRenderObject)
{
If (enabled renderer || ||!!! Renderer.sharedMaterial renderer.enabled ||!)
Return;
Camera cam = Camera.current;
If (cam!)
Return;
From recursive reflections. / / Safeguard
If (s_InsideRendering)
Return;
S_InsideRendering = true;
Camera reflectionCamera;
CreateMirrorObjects (cam out reflectionCamera);
Find out the reflection plane: position / and normal in world space
Vector3 POS = transform.position;
Vector3 normal = transform.up;
Disable pixel lights for reflection / / Optionally
Int oldPixelLightCount = QualitySettings.pixelLightCount;
If (m_DisablePixelLights)
QualitySettings.pixelLightCount = 0;
UpdateCameraModes (CAM, reflectionCamera);
Render / / reflection
Camera around reflection plane / / Reflect
Float d = -Vector3.Dot (normal, POS) - m_ClipPlaneOffset;
Vector4 reflectionPlane = new Vector4 (normal.x, normal.y, normal.z, D);
Matrix4x4 reflection = Matrix4x4.zero;
CalculateReflectionMatrix (Ref reflection reflectionPlane);
Vector3 o
您可能关注的文档
- opengl错误解析(OpenGL错误解析).doc
- ora-03113错误分析(Ora-03113 error analysis).doc
- oracle dbtimezone与os时区不一致的解决办法(Oracle dbtimezone inconsistent with OS time zone solution).doc
- mysql双机热备(MySQL hot standby).doc
- oracle execute immediate的语法(Oracle执行的语法).doc
- oracle hang分析(Oracle挂分析).doc
- oracle to_char&to_date(Oracle to_char和to_date).doc
- oracle 事务控制、数据并发性和一致性(Oracle transaction control, data concurrency, and consistency).doc
- oracle job 语法和时间间隔的设定(The Oracle job syntax and the setting of the time interval).doc
- oracle 几个服务各代表什么作用(Oracle what are the roles of several services).doc
- 基层检察实践新探:J省S县羁押必要性审查的实证剖析与路径优化.docx
- 金融衍生品风险剖析与美国《金融监管改革法案》的多维审视.docx
- 论中小学教师批评权的法理基础与法律保障构建.docx
- 环境伦理引领下的环境法变革与重塑:理论、困境与实践进路.docx
- 结核分枝杆菌耐药状况剖析:机制、监测与应对策略.docx
- 全髋关节置换术与切开复位内固定术治疗老年股骨颈骨折疗效的Meta分析:基于多维度数据的精准剖析.docx
- 新课标高中优秀作文精品集锦.doc
- 新时期师德师风现状及其对策思考.doc
- R公司员工激励机制深度剖析与创新路径.docx
- 英语报刊隐喻剖析与汉译策略探索:基于跨文化视角.docx
文档评论(0)