Alternativa3Dでメッシュを作成するとき、Mesh.asなどの 外部にASファイルを作成して【Alternativa3D】createVertex, createFace, createSurfaceを利用したメッシュ作成のようにコードを記述するのが一般的な方法です。

この方法は、簡潔な書き方にも見えますが、複雑なメッシュを作成しようとするとASファイルが1000行を超えてしまったりするため コードも複雑になってしまいます。

特に、この記述方法で面倒だと感じるのが 頂点やフェイス、サーフェスの全てに固有のIDを与える必要がある ということです。

管理が大変になるうえに、メッシュ(マップ)作成を支援するアプリケーションが開発しにくいため、XMLを利用して メッシュやマップを作成するクラスを作成しました。

クラスは、createMeshes, Map – EZCreateMeshに実装されています。

メッシュ作成には、createMeshesとcreateMeshがあります。createMeshesでは、メッシュが格納された配列(/*Mesh*/Array)が、createMeshでは、Meshが返ってきます。

scene.root.addChild(EZCreateMesh.createMesh(xml));とすることでMeshを表示することも出来ますが、Map、Setを介した createMeshesを利用した後にcreateMapを利用する方法の方が良いと思います。



<mesh name="Geo">
  <surface materialType="FillMaterial">
    <face>
      <vertex x="0" y="0" z="0" />
      <vertex x="500" y="0" z="0" />
      <vertex x="500" y="500" z="0" />
      <vertex x="0" y="500" z="0" />
      </face>
    </surface>
</mesh>

デモ

前の記事
次の記事