教育事業部の事業内容 演劇、音楽のタレント並びに作詞家、作曲家、編曲家等アーティストの育成及びマネージメント、コンピュータ教室の経営等を行っています。
ゲームエンジン Unity オンラインマニュアル
教育事業 パルテア

〜Unity Graphics Mesh 例: 四角形の作成〜

例: 四角形の作成
平らな面を表現するために、Unity にはシーンでインスタンス化できる Plane および Quad プリミティブ ゲームオブジェクトが含まれています。ただし、スクリプトを使用して自分で四角形メッシュを構築する方法を理解しておくと便利です。これは、手続き型メッシュ生成に不可欠です。

注: Unity は、四角形ではなく三角形でジオメトリを処理して表示します。つまり、Quad プリミティブは 2 つの三角形で構成されます。

頂点配列

最初に行う必要があるのは、シェイプが使用する頂点の配列を設定することです。

この例では、四角形が x 軸と y 軸上にあり、スクリプトに変数 width と height が含まれていることを前提としています。

この例では、頂点を次の順序で指定します: 左下 右下 左上 右上

Unity がメッシュ データ プロパティを取得する方法により、個々の要素を介してプロパティ配列にアクセスするよりも、独自の配列にデータを設定してから配列をプロパティ (たとえば、Mesh.vertices または Mesh.normals) に割り当てる方がはるかに効率的です。

三角形

次に、三角形を設定する必要があります。四角形は 2 つの三角形で構成され、それぞれが先ほど作成した頂点配列の 3 つのポイントで構成されます。ポイントを指定するには、各三角形を頂点配列の 3 つのインデックスとして定義します。たとえば、この四角形の左下の三角形は、インデックス 0、2、および 1 を使用します。これは、頂点配列の座標 (0、0、0)、(0、高さ、0)、および (幅、0、0) に対応します。コーナーを時計回りに並べる必要があるため、順序は重要です。右上の三角形は、インデックス 2、3、および 1 を使用します。

法線

頂点と三角形を持つメッシュはシーンに表示されますが、法線がまだないため、Unity では正しくシェーディングされません。この例の法線はすべて同一であるため、単純です。すべての法線は、クワッドのローカル空間で負の Z 軸方向を指しています。法線を追加すると、Unity はクワッドを正しくシェーディングしますが、効果を確認するにはシーンにライトが必要です。

法線を自分で定義したくない場合は、Mesh.RecalculateNormals() を使用できます。

テクスチャ座標

最後に、メッシュのマテリアルにテクスチャを正しく表示するには、メッシュにテクスチャ座標を追加します。テクスチャ座標は 0 から 1 までです。メッシュの各頂点には、マテリアルのテクスチャのどこからサンプリングするかを指定するテクスチャ座標があります。四角形全体にテクスチャ全体を表示するには、四角形の各コーナーがテクスチャのコーナーに対応するように、各頂点のテクスチャ座標値をすべて 0 または 1 にする必要があります。

最終スクリプト

次のスクリプトは、上記のすべてを組み合わせてシーンにクワッドを作成します。使用方法: 新しい C# スクリプト (メニュー: Assets > Create > C# Script) を作成し、QuadCreator という名前を付けます。QuadCreator スクリプトを開き、サンプル コードをコピーして、スクリプトを保存します。エディターに戻り、シーンに新しいゲーム オブジェクトを作成します (メニュー: GameObject > Create Empty)。インスペクターで、Add Component > Scripts > Quad Creator を選択します。シーン内の任意の場所にゲーム オブジェクトを配置します。再生モードに入ります。シーンまたはゲーム ビューでクワッドが表示されない場合は、正しい側から表示していることを確認してください。Unity はこのメッシュの背面をレンダリングしません。



    unity

  • 日時:// ~ //
  • 名称:
  • 場所:
  • 料金:¥0 (消費税込)