LOD

作者:追风剑情 发布于:2014-6-29 21:06 分类:Shader

   通过给SubShader设定一个整型Level Of Detail,即LOD数值,可以在运行时根据硬件设备能力来决定是否使用此Shader,以及使用哪一个层级的SubShader

一、新建一个设置LOD的测试脚本

using UnityEngine;
using System.Collections;

public class LOD_Test : MonoBehaviour {

	public int LOD;
	public MeshRenderer meshRenderer;
	// Use this for initialization
	void Start () {
		meshRenderer.material.shader.maximumLOD = LOD;
	}
}
二、新建一个Shader
Shader "Custom/Shader_LOD" {
	Properties {
		_Color ("Main Color", Color) = (1, 1, 1, 0.5)
		_MainTex ("Base (RGB)", 2D) = "white" {}
	}
	SubShader {
		LOD 600
		Pass {
			Material { Diffuse (0, 1, 0, 1) }
			Lighting On
			SetTexture [_MainTex] {Combine texture * primary double}
		}
	}
	SubShader {
		LOD 500
		Pass {
			Material { Diffuse (1, 1, 0, 1) }
			Lighting On
		}
	}
	SubShader {
		LOD 400
		Pass {
			color(1, 0, 0, 1)
		}
	}
}
运行效果(shader.maximumLOD = 600)
LOD600.png 
运行效果(shader.maximumLOD = 500)
LOD500.png 
运行效果(shader.maximumLOD = 400)
LOD400.png

标签: LOD

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号