以前書いたこちらの記事についてUnityの大前さんからこんなツイートが
という事で詳しく調べてみた所、この記事で使われていた Color の場合にはそこに含まれる r, g, b, a の型は float 、取る値の範囲は 0〜1 。 Color32 の場合は byte 、取る値の範囲は 0〜255 という違い有りました。
それを踏まえてこちらのMesh.colorsについての公式ドキュメントの以下の記述を確認。
For performance reasons, consider using colors32 instead. This will avoid byte-to-float conversions in colors, as well as use less temporary memory.
ざっくり翻訳を書くと「パフォーマンスの理由から color32 の利用を検討してね。そうするとcolor内部でbyteからfloatへ変換が避けれるし、使用するテンポラリメモリも少ないよ」。
Color を使った場合には余分は変換作業が入った分だけパフォーマンスが落ちてしまうみたいです。
という事なので開発環境がUnity3.5.5以降で有れば、なるべく Mesh.colors32 と Color32 の組み合わせでプログラムを組んだ方が良いみたいです。
関連情報
Unity Script Reference – Color
http://docs.unity3d.com/Documentation/ScriptReference/Color.html
Unity Script Reference – Color32
http://docs.unity3d.com/Documentation/ScriptReference/Color32.html
Unity Script Reference – Mesh.colors
http://docs.unity3d.com/Documentation/ScriptReference/Mesh-colors.html
Unity Script Reference – Mesh.colors32
http://docs.unity3d.com/Documentation/ScriptReference/Mesh-colors32.html