fbx形式でインポートしたメッシュデータの中を見てみました。
メッシュデータは単純な正方形の厚みゼロのポリゴン。Lightwave上では4点ポリゴンでしたが、インポート後には2つの3点ポリゴン(三角)に変換されていました(図中の白色の数字は頂点番号)。
メッシュデータの中を調べるために以下のスクリプトを用意しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
using UnityEngine; using System.Collections; public class AnalyzeMesh : MonoBehaviour { void Start() { Mesh mesh = gameObject.GetComponent<MeshFilter>().mesh; for(int i = 0; i < mesh.vertices.Length; i++) { print("vertices[" + i + "] : " + mesh.vertices[i]); } for(int i = 0; i < mesh.uv.Length; i++) { print("uv[" + i + "] : " + mesh.uv[i]); } for(int i = 0; i < mesh.triangles.Length; i++) { print("triangles[" + i + "] : " + mesh.triangles[i]); } } } |
Hierarchyへ追加したメッシュに上記スクリプトを追加してシーンを再生。
Consoleには以下のように出力されました。
verticesが頂点の座標、uvが頂点のUV値、trianglesがポリゴンの構成情報(3つの頂点で1つの三角ポリゴンを表す)です。
verticesとuvの[]内の数字は頂点番号でページ最初の図の白色の数字に対応しています。
これらの値を変更するとメッシュの形状やUVを使ったテクスチャの位置を変更することができます。
verticesとtrianglesの関係は以下の様な感じ。
>> Unity3D:メッシュの頂点とUVとポリゴン(2)へ続く
コメントを残す
コメントを投稿するにはログインしてください。