18558


頂点カラーの、  
〜100はColor.blue。  
100〜200はColor.cyan。  
200〜300はColor.gray  
のようにオリジナルメッシュの頂点のカラーを変更したのですが、下図

[![!\[オリジナルメッシュ](https://i.stack.imgur.com/AlmKF.png)](https://i.stack.imgur.com/AlmKF.png)

のように縦縞状態に分割されてしまいます。

  1. これを横縞状態になるように分割したい、
  2. つまり二次元配列と同じ順序に頂点カラーを変更出来ないでしょうか？

最終的にMeshのmesh.colorsに代入する際の順序を変更する、もしくはmesh.colorsの順序そのものを変更する事だと思うのですが、方法が全くわかりません……。

直接的な方法でなくても、こうすれば意図している事（2.）ができる！  
と言うやり方をご存知の方がいらっしゃいましたら、  
どうか回答よろしくお願いいたします。


CC BY-SA 3.0
2015-11-07T22:38:25.643
18530
2015-11-09T03:56:00.807
2015-11-08T04:18:04.520
7290
10905
question
c# unity3d
unity3dにてオリジナルメッシュの頂点colorを変化させた際の適用される順番を変更したい


「オリジナルメッシュ」は、横縞になるような形状（分割がされてる）でしょうか？  
前提条件として、頂点が横縞状に分割されていなければ colorsだけを変更しても横縞にはなりません。

また、最終的に上図のような平面メッシュでよければ、メッシュ自体を自作するほうがコントロールしやすいかと思います。頂点とカラーを全部配列で用意して
mesh.vertices に頂点配列を入れます。

もし「オリジナルメッシュ」が横縞にも対応できる形状でかつ「オリジナルメッシュ」を使わないといけない状況でしたら、colorsに設定する色の順序そのものを変更します。「0~100が青」としているところを例えば「((i
/ 4) % 6 == 0)なら青」のように剰余を使って色を設定します。（※ ← の計算はメッシュ形状に合わせて変更してください）


CC BY-SA 3.0
2015-11-09T03:20:51.127
18558
2015-11-09T03:56:00.807
2015-11-09T03:56:00.807
2079
2079
18530
answer