Up:Tutorial? Next:実世界のロボットの取り込み 自作形状ファイルの読み込み(静止物体) †※このチュートリアルはv2.1.0以降対応です。 ここでは形状ファイル(x3d)を作成してSIGVerseに登場させる方法を説明します。 形状ファイル作成 †まず静止物体の形状ファイルを作成します。形状ファイルはノードとフィールドからなります。SIGVerseで形状ファイルを読み込むためにGroup, Transform, IndexFaceSetなどのノードを用いて記述します。 ここでは簡単な立方体の形状ファイルを作成します。 形状ファイル作成 †サーバ側でSIGVerse作業ディレクトリに移動し、形状ファイルを作成します。 $ cd ~/MyWorld $ emacs box.x3d box.x3d この形状ファイルは1辺が10の立方体です。 以下の行で色(r,g,b)を設定します。緑色に設定しました。 <Material diffuseColor='0.2 0.8 0.2' /> box以外にもsphere,cylinder形状を作成することができます。 エンティティの設定 †エンティティの設定ファイルを作成します。 $ emacs box.xml <filename>box.x3d</filename> の行で先ほど作成した形状ファイルを指定しました。 エンティティにコントローラをアタッチする場合 †作成したエンティティにコントローラをアタッチして自律動作させたい場合は2行目を修正します。 <define-class inherit="Entity.xml" name="box"> ↓ <define-class inherit="Agent.xml" name="box"> Entity.xmlをAgent.xmlに変更しました。Entity.xmlを指定した場合コントローラの取り付けができないので注意してください。 世界ファイル作成 †次に世界ファイルを作成します。 $ emacs testBox.xml testBox.xml 立方体を高さ20cmのところに設置します。 実行 †これで準備完了です。それでは実行してみましょう。 $ sigserver.sh -w ./testBox.xml SIGViewerでサーバにつなげてみると緑色の箱が見えます。 シミュレーションを開始すると箱が落下します。 ポリゴン形状 †頂点座標からポリゴン形状を作成する場合はshapeノードの中を以下のように修正します。 $ emacs box.x3d ↓ 以下の行でテクスチャ"checker.png"を指定しました。 色々なテクスチャがクライアント側のSIGViewerインストール先にサンプルとして用意されています。 テクスチャサンプル場所: <sigverseインストール場所>\SIGViewer\media\materials\textures ここに自分専用のテクスチャを追加することも可能です。 実行 †それでは実行してみましょう。 $ sigserver.sh -w ./testBox.xml ビューワーで接続する前に以下の設定をしておきます。 ビューワーのメニューバーにある「Settings」をクリックして「Overwrite shape file」にチェックを入れておきます。これによりクライアント側の形状ファイルが上書きされます。 それではサーバに接続してみましょう。 以下のようなチェック模様の箱が見えます。 Old Version †
Counter: 2343,
today: 1,
yesterday: 0
|