LOD是Level Of Detais 的简称,多细节层次,根据摄像机与物体距离,unity会自动切换模型。一般离摄像机近的时候显示高模,离摄像机远的时候显示低模,借此来提升性能。
如果你在Blender里创建了一组名称以_LOD0,_LOD1,_LOD2等结尾的网格,则将网格导入Unity时自动为您创建具有适当设置的对象的LOD组。 例如,如果网格的基本名称是Player,则可以创建名为Player_LOD0,Player_LOD1和Player_LOD2的文件来生成具有三个LOD级别的对象。

导出FBX,导入到Unity,就可以直接看到LodTest上有LOD Group的组件了。
LOD Fade
可以通过选择具有所有LOD的GameObject并在LOD组内部将Fade Mode设置为Cross Fade并启用Animated Cross-fading来启用LOD Fade。

然后去keijiro的github下拿到CrossFadingLod.shader的文件,做成材质,然后把材质都赋给LodTest下的3个物体,为的是让他们有个渐变的过渡。或者直接在下面复制
Shader "Custom/CrossFadingLod" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo (RGB)", 2D) = "white" {} _Glossiness ("Smoothness", Range(0,1)) = 0.5 _Metallic ("Metallic", Range(0,1)) = 0.0 } SubShader { Tags { "RenderType"="Transparent" "Queue"="Transparent" } LOD 200 CGPROGRAM #pragma multi_compile _ LOD_FADE_CROSSFADE #pragma surface surf Standard alpha:fade #pragma target 3.0 sampler2D _MainTex; struct Input { float2 uv_MainTex; }; half _Glossiness; half _Metallic; fixed4 _Color; void surf(Input IN, inout SurfaceOutputStandard o) { // Albedo comes from a texture tinted by color fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color; o.Albedo = c.rgb; // Metallic and smoothness come from slider variables o.Metallic = _Metallic; o.Smoothness = _Glossiness; #ifdef LOD_FADE_CROSSFADE o.Alpha = c.a * unity_LODFade.x; #else o.Alpha = c.a; #endif } ENDCG } FallBack "Transparent/Diffuse" }

关于Lod的链接:https://docs.unity3d.com/Manual/class-LODGroup.html
浙公网安备 33010602011771号