当前位置: 首页> 教育> 就业 > 网页设计与制作历年真题_南宁建站热搜_黑帽seo工具_微信小程序平台官网

网页设计与制作历年真题_南宁建站热搜_黑帽seo工具_微信小程序平台官网

时间:2025/8/21 21:56:47来源:https://blog.csdn.net/2401_83878847/article/details/144671209 浏览次数:1次
网页设计与制作历年真题_南宁建站热搜_黑帽seo工具_微信小程序平台官网

一、在unity场景中如何添加反射探针?

可以先添加一个空对象,在空对象的上方添加反射探针组件(Reflection Probe)


反射探针的类型有:Baked、Custom、Realtime

其中“Baked”反射探针类型,可以将场景中的静态对象烘焙到一张立方体纹理中

"Custom"类型的反射探针可以自定义添加立方体纹理

"Realtime"类型的反射探针可以实时的反射场景中的画面,无论对象是否为静态

    

二、在Shader中读取反射探针中所得到的立方体纹理画面

首先利用反射向量R对unity中的存储的立方体纹理进行采样

flixed4 cubeMap = UNITY_SAMPLE_TEXCUBE ( unity_SpecCube0 , R );

然后再对采样后的cubeMap进行解码(注意解码后的为fixed3类型)

fixed3 skyColor = DecodeHRD ( cubeMap , unity_SpecCube0_HDR );

unity_SpecCube0 是由反射探针实现并存储在unity中的立方体纹理贴图

利用 UNITY_SAMPLE_TEXCUBE( ) 对纹理进行采样

利用 DecodeHRD(cubeMap,unity_SpecCube0_HDR) 对采样后的立方体纹理进行解码

Shader"unity/Probe02"
{Properties{}SubShader{Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdate{float4 vertex:POSITION;float3 normal:NORMAL;};struct v2f{float4 pos:SV_POSITION;float3 worldNormal:TEXCOORD;float4 worldPos:TEXCOORD1;};v2f vert(appdate v){v2f o;o.pos=UnityObjectToClipPos(v.vertex);o.worldPos=mul(unity_ObjectToWorld,v.vertex);o.worldNormal=UnityObjectToWorldNormal(v.normal);return o;}float4 frag(v2f i):SV_TARGET{//V是由模型指向摄像机方向的向量,也就是指向视角方向的向量fixed3 V=_WorldSpaceCameraPos-i.worldPos;//法向量fixed3 N=normalize(i.worldNormal);//由视角入射方向向量和法向量求得反射向量fixed3 R=reflect(-V,N);//对unity_SpecCube0进行采样fixed4 cubeMap=UNITY_SAMPLE_TEXCUBE(unity_SpecCube0,R);//解码采样后的cubeMap(注意结果为三维向量)fixed3 skyColor=DecodeHDR(cubeMap,unity_SpecCube0_HDR);return fixed4(skyColor,1);}ENDCG}}}

关键字:网页设计与制作历年真题_南宁建站热搜_黑帽seo工具_微信小程序平台官网

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: