自作の形状ファイルの読み込み
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
|
Help
]
Start:
[[Tutorial]]
#contents
*自作形状ファイルの読み込み(静止物体) [#fd56e710]
※このチュートリアルはv2.1.0以降対応です。
ここでは形状ファイル(x3d)を作成してSIGVerseに登場させる方...
**形状ファイル作成 [#cbb45b7b]
まず静止物体の形状ファイルを作成します。形状ファイルはノ...
ここでは簡単な立方体の形状ファイルを作成します。
***形状ファイル作成 [#b0eabf1f]
サーバ側でSIGVerse作業ディレクトリに移動し、形状ファイル...
$ cd ~/MyWorld
$ emacs box.x3d
box.x3d
#highlight(xml){{
<?xml version="1.0" encoding="UTF-8"?>
<X3D profile="Interchange">
<Scene>
<Group >
<Transform >
<Shape>
<Box size="10 10 10"/>
<Appearance >
<Material diffuseColor='0.2 0.8 0.2' />
</Appearance>
</Shape>
</Transform>
</Group>
</Scene>
</X3D>
}}
この形状ファイルは1辺が10の立方体です。
以下の行で色(r,g,b)を設定します。緑色に設定しました。
<Material diffuseColor='0.2 0.8 0.2' />
box以外にもsphere,cylinder形状を作成することができます。
***エンティティの設定 [#b46382b1]
エンティティの設定ファイルを作成します。
$ emacs box.xml
#highlight(xml){{
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<define-class inherit="Entity.xml" name="box">
<body filename="dummy-body.xml"/>
<!--形状ファイルの指定 -->
<x3d>
<filename>box.x3d</filename>
</x3d>
</define-class>
}}
<filename>box.x3d</filename>
の行で先ほど作成した形状ファイルを指定しました。
***エンティティにコントローラをアタッチする場合 [#mae6a055]
作成したエンティティにコントローラをアタッチして自律動作...
<define-class inherit="Entity.xml" name="box">
↓
<define-class inherit="Agent.xml" name="box">
Entity.xmlをAgent.xmlに変更しました。Entity.xmlを指定した...
***世界ファイル作成 [#n22bd9fe]
次に世界ファイルを作成します。
$ emacs testBox.xml
testBox.xml
#highlight(xml){{
<?xml version="1.0" encoding="utf8"?>
<world name="boxtest">
<gravity x="0.0" y="-980.7" z="0.0"/>
<!--自作エンティティboxの設定-->
<instanciate class="box.xml">
<set-attr-value name="name" value="box_000"/>
<set-attr-value name="x" value="0.0"/>
<set-attr-value name="y" value="20.0"/>
<set-attr-value name="z" value="0.0"/>
<set-attr-value name="dynamics" value="true"/>
<set-attr-value name="collision" value="true"/>
</instanciate>
</world>
}}
立方体を高さ20cmのところに設置します。
***実行 [#dd8bb5f6]
これで準備完了です。それでは実行してみましょう。
$ sigserver.sh -w ./testBox.xml
SIGViewerでサーバにつなげてみると緑色の箱が見えます。
#ref(./box_1.PNG,40%)
シミュレーションを開始すると箱が落下します。
* ポリゴン形状[#a1dee552]
頂点座標からポリゴン形状を作成する場合はshapeノードの中を...
$ emacs box.x3d
#highlight(xml){{
<Shape>
<Box size="10 10 10"/>
<Appearance>
<ImageTexture url='"man_c01.jpg"' />
</Appearance>
</Shape>
}}
↓
#highlight(xml){{
<Shape >
<Appearance >
<ImageTexture repeatS="true" url='"checker.png"' re...
</Appearance>
<IndexedFaceSet convex="false" coordIndex=" 1 2 3 0 -...
<TextureCoordinate point="0.0 0.0, 0.0 1.0, 1.0 1.0...
<Coordinate DEF="Coaster_c01GeoPoints" point="-5.0...
</IndexedFaceSet>
</Shape>
}}
以下の行でテクスチャ"checker.png"を指定しました。
#highlight(xml,firstline[3]){{
<ImageTexture repeatS="true" url='"checker.png"' re...
}}
色々なテクスチャがクライアント側のSIGViewerインストール先...
テクスチャサンプル場所:
<sigverseインストール場所>\SIGViewer\media\materials\te...
ここに自分専用のテクスチャを追加することも可能です。
***実行 [#dd8bb5f6]
それでは実行してみましょう。
$ sigserver.sh -w ./testBox.xml
ビューワーで接続する前に以下の設定をしておきます。
ビューワーのメニューバーにある「Settings」をクリックして...
それではサーバに接続してみましょう。
以下のようなチェック模様の箱が見えます。
#ref(./box_2.PNG,40%)
//※注意)SIGVerseではX3D形式のファイルを読み込み可能ですが...
*Old Version [#x6e41d74]
- [[自作の形状ファイルの読み込み(v1.4.8)]]
#highlight(end)
End:
[[Tutorial]]
#contents
*自作形状ファイルの読み込み(静止物体) [#fd56e710]
※このチュートリアルはv2.1.0以降対応です。
ここでは形状ファイル(x3d)を作成してSIGVerseに登場させる方...
**形状ファイル作成 [#cbb45b7b]
まず静止物体の形状ファイルを作成します。形状ファイルはノ...
ここでは簡単な立方体の形状ファイルを作成します。
***形状ファイル作成 [#b0eabf1f]
サーバ側でSIGVerse作業ディレクトリに移動し、形状ファイル...
$ cd ~/MyWorld
$ emacs box.x3d
box.x3d
#highlight(xml){{
<?xml version="1.0" encoding="UTF-8"?>
<X3D profile="Interchange">
<Scene>
<Group >
<Transform >
<Shape>
<Box size="10 10 10"/>
<Appearance >
<Material diffuseColor='0.2 0.8 0.2' />
</Appearance>
</Shape>
</Transform>
</Group>
</Scene>
</X3D>
}}
この形状ファイルは1辺が10の立方体です。
以下の行で色(r,g,b)を設定します。緑色に設定しました。
<Material diffuseColor='0.2 0.8 0.2' />
box以外にもsphere,cylinder形状を作成することができます。
***エンティティの設定 [#b46382b1]
エンティティの設定ファイルを作成します。
$ emacs box.xml
#highlight(xml){{
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<define-class inherit="Entity.xml" name="box">
<body filename="dummy-body.xml"/>
<!--形状ファイルの指定 -->
<x3d>
<filename>box.x3d</filename>
</x3d>
</define-class>
}}
<filename>box.x3d</filename>
の行で先ほど作成した形状ファイルを指定しました。
***エンティティにコントローラをアタッチする場合 [#mae6a055]
作成したエンティティにコントローラをアタッチして自律動作...
<define-class inherit="Entity.xml" name="box">
↓
<define-class inherit="Agent.xml" name="box">
Entity.xmlをAgent.xmlに変更しました。Entity.xmlを指定した...
***世界ファイル作成 [#n22bd9fe]
次に世界ファイルを作成します。
$ emacs testBox.xml
testBox.xml
#highlight(xml){{
<?xml version="1.0" encoding="utf8"?>
<world name="boxtest">
<gravity x="0.0" y="-980.7" z="0.0"/>
<!--自作エンティティboxの設定-->
<instanciate class="box.xml">
<set-attr-value name="name" value="box_000"/>
<set-attr-value name="x" value="0.0"/>
<set-attr-value name="y" value="20.0"/>
<set-attr-value name="z" value="0.0"/>
<set-attr-value name="dynamics" value="true"/>
<set-attr-value name="collision" value="true"/>
</instanciate>
</world>
}}
立方体を高さ20cmのところに設置します。
***実行 [#dd8bb5f6]
これで準備完了です。それでは実行してみましょう。
$ sigserver.sh -w ./testBox.xml
SIGViewerでサーバにつなげてみると緑色の箱が見えます。
#ref(./box_1.PNG,40%)
シミュレーションを開始すると箱が落下します。
* ポリゴン形状[#a1dee552]
頂点座標からポリゴン形状を作成する場合はshapeノードの中を...
$ emacs box.x3d
#highlight(xml){{
<Shape>
<Box size="10 10 10"/>
<Appearance>
<ImageTexture url='"man_c01.jpg"' />
</Appearance>
</Shape>
}}
↓
#highlight(xml){{
<Shape >
<Appearance >
<ImageTexture repeatS="true" url='"checker.png"' re...
</Appearance>
<IndexedFaceSet convex="false" coordIndex=" 1 2 3 0 -...
<TextureCoordinate point="0.0 0.0, 0.0 1.0, 1.0 1.0...
<Coordinate DEF="Coaster_c01GeoPoints" point="-5.0...
</IndexedFaceSet>
</Shape>
}}
以下の行でテクスチャ"checker.png"を指定しました。
#highlight(xml,firstline[3]){{
<ImageTexture repeatS="true" url='"checker.png"' re...
}}
色々なテクスチャがクライアント側のSIGViewerインストール先...
テクスチャサンプル場所:
<sigverseインストール場所>\SIGViewer\media\materials\te...
ここに自分専用のテクスチャを追加することも可能です。
***実行 [#dd8bb5f6]
それでは実行してみましょう。
$ sigserver.sh -w ./testBox.xml
ビューワーで接続する前に以下の設定をしておきます。
ビューワーのメニューバーにある「Settings」をクリックして...
それではサーバに接続してみましょう。
以下のようなチェック模様の箱が見えます。
#ref(./box_2.PNG,40%)
//※注意)SIGVerseではX3D形式のファイルを読み込み可能ですが...
*Old Version [#x6e41d74]
- [[自作の形状ファイルの読み込み(v1.4.8)]]
#highlight(end)
Page: