jaijai’s blog

Cities Skylinesアセット作成に関するメモ・考察

頂点カラーからホイール情報を取り除く

DLCの釣り船アセット調査のためにしろたんを漁に出した時に使ったスクリプトです。

f:id:jaijai_lt:20200519194105j:plain

釣り船アセット

釣り船アセットはメインメッシュはShipシェーダーなので常にびしょびしょ状態です。よってメインメッシュは完全に透明にしてサブメッシュとしてしろたんを追加しました。釣り船サブメッシュはVehicleシェーダーなのでインポート時にホイール判定処理があります。そのままだとしろたんが回ってしまうのでインポート後に頂点カラーを変更する必要があります。

頂点カラー

回転物をつくるときなどProp化してから取り込むことで頂点カラーを変更しますがすべての頂点カラーを固定値にするならその必要はありません。このスクリプトでは1番目のサブメッシュの頂点カラーをRGB:0,0,255にします。2行目のsubMeshes[1]の数字を変更するとサブメッシュのインデックスを変更できます。

var asset = ToolsModifierControl.toolController.m_editPrefabInfo as VehicleInfo;
var sirotan = asset.m_subMeshes[1].m_subInfo as VehicleInfoBase;

Color[] colors = new Color[sirotan.m_mesh.vertices.Length];
for (int i = 0; i < sirotan.m_mesh.vertices.Length; i++) colors[i] = new Color(0.0f, 0.0f, 1.0f, 1.0f);
sirotan.m_mesh.colors = colors;