Upload
self-norl
View
402
Download
2
Embed Size (px)
Citation preview
Meshの中身
Meshの中は Unityでは、• Vertices• UV
• Trianglesで出来ている。
また、他にもMeshは Edge/faces/polygon/surfaces等がある。
UVとは
「 UV」というのは(紫外線のことではなく)座標のことで、「 U」と「 V」がテクスチャの軸です。モデルの「 X」「 Y」「 Z」と同じ感じです。
テクスチャはメッシュに貼る画像のことで、その貼りつけ方を UVで決めます。また、UVでテクスチャを貼るのを「UV Mapping」とか言います。
UV展開
UVのテクスチャをMeshに貼るには「 UV展開」
します。UV展開はMeshを展開(広げる)して Uと Vの座標に変えることです。つまり、「3 DのMeshを2 Dの画像に押し潰す」
ということです。
Triangleって?
UnityのMeshには Triangleというのもあります。
これはMeshを構成する三角形の設定ができます。
Triangleは三角形なので、 Verticesを3つ指定します。
UnityでのMesh設定 1
UnityでMeshを作るには前に言った・ Vartices ・ uv ・ Triangles
を設定する。
Unityではそれぞれのクラスで定義する。1.VarticesVarticesは Vector3(x,y,z)で定義する。座標の位置を指定。
UnityでのMesh設定2
2.uvUVは Vector2(x,y)で定義。 X,Yを U,Vに変えています。3.TrianglesTriangles(Tris)は Int[]で定義。中では Verticesの番号を指定。
そして、これをMeshにそれぞれ代入。
Verticesの設定
<例>public ArrayList ver = {new Vector(0,0,0)};ver.Add (new Vector3(1,1,1));~~~~~~~~Mesh mesh = new Mesh ();mesh.vertices = ver.ToArray;
これでmeshの Verticesに 2つ頂点が追加されます。
UVの設定
<例>public ArrayList uvs ={new Vector2(0.0F,0.0F)};uvs.Add(new Vector2(0.5F,0.5F));~~~~~~~~Mesh mesh = new Mesh();mesh.uv = uvs.ToArray;
と言った感じ。
Triangleの設定
<例>public ArrayList tris = {0,1,2};tris.Add(2,3,0);~~~~~~~~Mesh mesh = new Mesh();mesh.triangle = tris;
Trianglesは3つずつ数を入れます。三角形なので
Meshの保存
Meshを Unityで保存するにはAssetDatabase.CreateAsset
&AssetDatabase.SaveAsset
をします。
また、保存するときは拡張子を「 .asset」にします。
Collider = ?
Colliderは「加速器」という意味です。しかし Unityでは加速器と言うより
衝突時の物体の形(当たり判定)的なものを表しています。
Colliderはそれを適用する Objectの形によって変えられます。
Collider Component
Unityのコライダーコンポーネントは右図。
Box ColliderはPrimitiveの編集Mesh ColliderはMeshの編集Terrain ColliderはTerrain Dataの編集
Box Colliderの編集
• Edit Colliderは Sceneの Colliderの緑色の点を動かすことで手動で変更できます。
• Is Triggerはその Objectがすり抜けるかを設定します。(当たり判定なし)
• Materialはコライダーに物理的な材質を設定します。
• Center/Sizeはコライダーの場所の指定に使います。
Mesh Colliderの設定
• Smooth Sphere Collisionは、例えば地面を転がすようにしたいときに滑らかに動くようにするかを設定します。
• Convexは他のMesh Colliderと衝突する処理をするか設定します。
• Meshは当たり判定にするMeshを選択します。
• Mesh
• Meshは物体の形を表すもの。 Vertices,uv,Triangleの3つでできる。
• Verticesは Vector3,uvはVector2,Triangleは Intで設定する。
• Meshに Texture(Material)を足せばモデルになる
参考
Wikipedia : – Polygon mesh http://ja.wikipedia.org/wiki/%
E3%83%9D%E3%83%AA%E3%82%B4%E3%83%B3%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A5
Unity :– Unity Document (Manual/ScriptingAPI)
http://docs.unity3d.com/ja/current/Manual/
– Unity Forum and Answerhttp://forum.unity3d.com/http://answers.unity3d.com/
などなど