BlenderのGame Engineを使ってリアルタイム表示
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
4件表示
(全4件)
すべてのコメント一覧へ
投稿ツリー
-
BlenderのGame Engineを使ってリアルタイム表示
(Hans, 2008/9/3 22:26)
-
ソースファイル
(Hans, 2008/9/3 22:44)
-
Re: ソースファイル
(まんだ, 2008/9/4 8:38)
-
Re: ソースファイル
(Hans, 2008/9/4 20:29)
Hans
投稿数: 52
BlenderのGame Engineを使って、簡単にリアルタイム表示してみました。
様子:
http://www.viddler.com/explore/hanspg/videos/12
何か外部のアプリケーションが出すデータを分かりやすく見せるために、データを基に3Dモデルがリアルタイムに動くソフトを作ろうと思ったら、かなり大変でした。でも、Blenderがあったんです。
BlenderのGame Engineにデータを送って、BGEが受け取り、それに合わせてモデルの位置を変えるPythonコードを作ります。どのようにしてBGEにデータを受け渡そうか困ったのですが、よい方法が見当たらなかったので、ファイルに読み書きするようにしました。
ファイル上でデータを受け渡しすると、パフォーマンスが悪そうですが、実際はキャッシュ機能によってメモリ上にキャッシュされて、ドライブアクセスはほぼなしになり、問題ありませんでした。
どんな用途に使うか、ですが、実験のデモで使うために作りました。実験室でモータなどを動かす実験なのですが、実験装置が何を表しているか、それだけでは分かりにくいことがよくあります。この装置の動きは、実際は何を表しているかを、CGで合成して同時に見せることで、分かりやすく伝えられます。
必要がなければ、誰も作らないと思いますが、Blenderはいろいろな使い方が出来そうですね。
(Game Engineにデータを送る方法があれば、教授ください。)
様子:
http://www.viddler.com/explore/hanspg/videos/12
何か外部のアプリケーションが出すデータを分かりやすく見せるために、データを基に3Dモデルがリアルタイムに動くソフトを作ろうと思ったら、かなり大変でした。でも、Blenderがあったんです。
BlenderのGame Engineにデータを送って、BGEが受け取り、それに合わせてモデルの位置を変えるPythonコードを作ります。どのようにしてBGEにデータを受け渡そうか困ったのですが、よい方法が見当たらなかったので、ファイルに読み書きするようにしました。
ファイル上でデータを受け渡しすると、パフォーマンスが悪そうですが、実際はキャッシュ機能によってメモリ上にキャッシュされて、ドライブアクセスはほぼなしになり、問題ありませんでした。
どんな用途に使うか、ですが、実験のデモで使うために作りました。実験室でモータなどを動かす実験なのですが、実験装置が何を表しているか、それだけでは分かりにくいことがよくあります。この装置の動きは、実際は何を表しているかを、CGで合成して同時に見せることで、分かりやすく伝えられます。
必要がなければ、誰も作らないと思いますが、Blenderはいろいろな使い方が出来そうですね。
(Game Engineにデータを送る方法があれば、教授ください。)
投票数:5
平均点:6.00
ソースファイル
msg# 1.1
Hans
投稿数: 52
ソースファイル:
http://www.esnips.com/doc/4c467bb7-cf44-4fe7-a8f1-0fc82b5c0da5/RealTimeSatelliteRotation_BGE_StandAlone
使い方:
実行の方法は、ほぼムービーのとおりです。
1. Blender 2.45でファイルDrawExternalSignal.blendを開く。
2. キーPを押して、Gameを開始。
3. ファイルOutputSignal.exeを実行。
4. ボタン「動作」をクリック。すると、ファイルData.txtが作成され、その中に随時、値が書き換えられ、その値どおりにBlenderの中にあるオブジェクトCubeが動く。
5. 「更新頻度」を増やすと、動きが滑らかになる。また、ファイルDrawExternalSignal.blendのコードの中の変数lcUpdateFreqを減らすことで、動きが滑らかになる。
お試しください
http://www.esnips.com/doc/4c467bb7-cf44-4fe7-a8f1-0fc82b5c0da5/RealTimeSatelliteRotation_BGE_StandAlone
使い方:
実行の方法は、ほぼムービーのとおりです。
1. Blender 2.45でファイルDrawExternalSignal.blendを開く。
2. キーPを押して、Gameを開始。
3. ファイルOutputSignal.exeを実行。
4. ボタン「動作」をクリック。すると、ファイルData.txtが作成され、その中に随時、値が書き換えられ、その値どおりにBlenderの中にあるオブジェクトCubeが動く。
5. 「更新頻度」を増やすと、動きが滑らかになる。また、ファイルDrawExternalSignal.blendのコードの中の変数lcUpdateFreqを減らすことで、動きが滑らかになる。
お試しください
投票数:8
平均点:3.75
Re: ソースファイル
msg# 1.1.1
まんだ
居住地: むかしは本州の西端
投稿数: 570
Hans さん、おはようございます。
試してみました。なめらかに動きますね。
ちょっと試してみて気づいた点が数点あります。
・操作ウィンドウを「常に手前」に出来るとうれしい
・blenderのゲームモード終了を操作ウィンドウから行いたい
ふと思ったんですが、この方法だったらネットワークドライブにアクセスできれば「異なったPCから遠隔操作」も可能かもしれませんね。
[EDIT]あと、Blenderの起動はデフォルトでフルスクリーンなので終了のさせ方がわからないとアレなので、ウィンドウモードで起動が選択できる、とか
試してみました。なめらかに動きますね。
ちょっと試してみて気づいた点が数点あります。
・操作ウィンドウを「常に手前」に出来るとうれしい
・blenderのゲームモード終了を操作ウィンドウから行いたい
ふと思ったんですが、この方法だったらネットワークドライブにアクセスできれば「異なったPCから遠隔操作」も可能かもしれませんね。
[EDIT]あと、Blenderの起動はデフォルトでフルスクリーンなので終了のさせ方がわからないとアレなので、ウィンドウモードで起動が選択できる、とか
blender.exe -w -p 30 100 640 480
投票数:5
平均点:4.00
Re: ソースファイル
msg# 1.1.1.1
Hans
投稿数: 52
まんださん、こんばんは。
ためしてもらって、ありがとうございます。
確かに、確かに。「常に手前」がbetterですね。操作ウィンドウでBlenderの実行と終了をコントロールできれば、起動の手間も省けます。起動選択も一緒に指定できますし。
いいアドバイス、どうもです
ためしてもらって、ありがとうございます。
確かに、確かに。「常に手前」がbetterですね。操作ウィンドウでBlenderの実行と終了をコントロールできれば、起動の手間も省けます。起動選択も一緒に指定できますし。
いいアドバイス、どうもです
投票数:6
平均点:5.00
4件表示
(全0件)
すべてのコメント一覧へ
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki