強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Unify Community Wikiに書かれている自作プログラムによる2Dキャラクタ表示


Unify Community Wikiに書かれているこちらのサンプルを「一部変更&日本語コメントを入れたもの」をこちらにアップしました。

元のサンプルから変更した所

2Dを表示する板ポリがUnity IDE内で生成されたPlaneで有るため、これは無駄にポリゴン数くなっています。これだと無駄にコストがかかるので自前でCheetah3Dを使って三角ポリゴン2つで作った四角形のモデルを準備しました。

後、プログラムは以下の部分を変更

float offsetY = (1.0f - size.y) - (vIndex + rowNumber) * size.y;

   ↓

float offsetY = (vIndex + rowNumber) * size.y;

難しい部分を解説

取り敢えず、一通りコメントを入れていますがコメントだけだと分かり辛い部分をちょっと解説しときます。

このプログラムのプロパティで有る rowNumber や colNumber はテクスチャの使用位置のオフセットをキャラクタ単位で設定しています。例えば rowNumber に1をセットすると下方向に1キャラクタ分移動した位置から開始する事になり、表示されるキャラクタが黄色から青色に変わります(UV座標系では左下が原点で上方向と右方向がプラスの向き)。