Besiegeのブロックについてるshaderについてのメモ
Instanced/Block Shader (non instanced)
Instanced/Block Shader (GPUI off)
など
code:BlockShader.shader
Shader "Instanced/Block Shader (non instanced)" {
Properties {
_Color ("Main Color", Color) = (1.000000,1.000000,1.000000,1.000000) ベースの色
_MainTex ("Base (RGB) RefStrGloss (A)", 2D) = "white" { } ベース画像
_EmissMap ("Emiss Map", 2D) = "black" { } 炎の重ね画像(発光)
_IceMap ("Ice Map", 2D) = "cyan" { } 氷の重ね画像(発光)
_EmissCol ("Emiss Color", Color) = (0.000000,0.000000,0.000000,1.000000) エミッションの強さ
_FreezeAmount ("Freeze Amount", Range(0.000000,1.000000)) = 0.000000 氷画像の重ね具合
_BloodMap ("Blood Map", 2D) = "white" { } 血画像
_BloodAmount ("Blood Amount", Range(0.000000,1.000000)) = 0.000000 血画像の重ね具合
_DamageMap ("Damage Map", 2D) = "white" { } ダメージ画像
_DamageAmount ("Damage Amount", Range(0.000000,1.000000)) = 0.000000 ダメージ画像の重ね具合
_RimColor ("Rim Color", Color) = (0.000000,0.000000,0.000000,1.000000) エッジ
_RimPower ("Rim Power", Range(0.500000,8.000000)) = 3.000000 エッジの強さ
}
SubShader {
Tags { "IGNOREPROJECTOR"="true" "RenderType"="Opaque" }
Pass {
Name "FORWARD"
Tags { "LIGHTMODE"="ForwardBase" "IGNOREPROJECTOR"="true" "SHADOWSUPPORT"="true" "RenderType"="Opaque" }
GpuProgramID 2437
Program "vp" {
SubProgram "d3d9 " {
GpuProgramIndex 0
}
発光スキンmodでは氷の画像を上書きして発光エフェクトとして利用しました。
shader丸ごと張り替える場合は上記Propatiesをすべて備えたものとする必要がある。(エラーを起こさないためには)