Additive shader 無しでのサブメッシュの光らせ方

自分の環境ではAdditive shader が使えなくなってしまって車両が公開出来なくなってしまいました。色々対応策を試して別のshaderを当てました。
CSLやMODのアップデートでまた状況が変わるかもしれません。またMODなどの環境によって不具合が出るかもしれませんが簡単に書いておきます。

以下のスクリプトを流してるだけです。ここにたどり着くまでに時間が掛かりましたが笑

var subMesh = 1; // sub mesh id, order as in ui, starting from 1
var shader = Shader.Find("Custom/Buildings/Building/Default");
var asset = ToolsModifierControl.toolController.m_editPrefabInfo as VehicleInfo;
asset.m_subMeshes[subMesh].m_subInfo.m_material.shader = shader;
asset.m_subMeshes[subMesh].m_subInfo.m_lodMaterial.shader = shader;
asset.m_subMeshes[subMesh].m_subInfo.m_lodMesh = null;
asset.m_subMeshes[subMesh].m_subInfo.m_lodMaterial = null;
asset.m_subMeshes[subMesh].m_subInfo.m_lodMaterialCombined = null;
asset.m_subMeshes[subMesh].m_subInfo.m_lodObject = null;

サブメッシュに建物のshaderを当ててイルミネーションマップで光らせています。なのでイルミネーションファイル(_i)を用意する必要があります。
Additive shaderでは光る時間の指定が出来ましたがそれは出来ません。また光量はイルミネーションファイルの白黒の濃淡で調整する形になります。

これでとりあえずは方向幕、トレインマーク、尾灯などを光らせる事が出来ました。
ご参考になれば。

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です