2007年11月29日

Ogre Wiki - Intermediate Tutorial 2 Exercise

Intermediate Tutorial 2の練習として、少し改造してみました。そろそろ実行ファイルをつけたいお年頃ですが、最低限必要なファイルだけに分けるのが面倒なので、実行ファイルとMedia用素材だけつけます。

Intermediate2_bin.zip

実行する場合はOgreSDK 1.4.5_VC80をインストールして、フォルダ構成は同じにしてあるので見比べて配置すればOKです。結構前に載せたVS2005の再配布可能パッケージも必要な気がしますな。
コピーが終わったらOgreSDK\bin\release\Ogre3D_IntermediateTutorial2.exeを実行してください。まぁそこまでやる人はいないでしょうが。

実行結果

左クリック&ドラッグではちゅねミク配置
中クリックでそちらの方を見る
右ドラッグで見回す
WSADキーで前後左右移動
ESCキーで終了

screenshot_im2-2.jpg

一応Blenderで設定したWalkアニメーションをずっと繰り返してます。移動はまだしないけどね。


web拍手 by FC2
posted by シンドラー at 17:38 | Comment(0) | TrackBack(0) | Ogre Wiki - Intermediate Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月28日

Ogre Wiki - Intermediate Tutorial 2

ふー。連休中に駄目な生活していたら心身ともにおかしくなってきました。歳のせいですかね。
というわけで中級チュートリアル2です。久々の更新になってしまいました。
Intermediate Tutorial 2: RaySceneQueriesと基本的なマウスの使用方法(1/2)
ということで、マウスクリックでレイを飛ばして物体を選択したりするんでしょうかね。
レイというのは光線のことで、視点から光線を飛ばしていってオブジェクトにあたった部分をどうやらこうやらというものです。レイトレーシング法という方法でレイを全部飛ばして物体に当たったら反射して…みたいなのをきちんと計算してきれいにレンダリングする方法もよく使われます。計算時間かかりますが。
とりあえずマウスとレイというと、マウスでクリックした画素からレイを飛ばして、接触したオブジェクトや頂点を選択する、といった方法がよく用いられます。モデリングソフトでも適当にクリックしたら3次元上のオブジェクトを選択してくれると思いますが、レイを飛ばしてたと思います。たぶん。というわけでWikiの内容に戻ります。

導入

このチュートリアルでは、基本的なScene Editorの作成を開始します。このプロセスでは、以下のことを説明します。

  1. 地形に落下する間からカメラを維持するためのRaySceneQueriesの使い方
  2. MouseListenerとMouseMotionListenerの使い方
  3. マウスを使って地形上のxとy座標を選択する方法

あなたはチュートリアルのソースコードをここで見つけることができます。ゆっくり勉強してください。

必要条件

Ogreプロジェクトの作成ができることと、SceneNodesやEntitiesなどについての基本的な知識があることが必要です。また、STLのiteratorについての知識があるといいです。

実行結果
screenshot_m2.png


続きを読む
web拍手 by FC2
posted by シンドラー at 20:07 | Comment(0) | TrackBack(0) | Ogre Wiki - Intermediate Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月23日

BlenderでBone 2

とりあえずOgreでアニメーション方法はわかったので、BlenderでBone入れてみた。注意点はOgreXMLConverterのせいでMeshは一つにまとめておかないといけないってことですな。とりあえずBlenderで歩かせてみました。次はOgreに取り込んでみますか。

walk2.gif


web拍手 by FC2
posted by シンドラー at 15:08 | Comment(9) | TrackBack(0) | Ogre 3D & Blender | このブログの読者になる | 更新情報をチェックする

2007年11月22日

Blender to Ogre3D Vertex Animation Export

BlenderからOgre 3D用に頂点アニメーションを出力する方法

えー。というわけで、Intermediate Tutorial 1でちょっとアニメーション情報をmeshにどうやって埋め込めばいいのか気になったのでそれ関係のネタを投入しようと思います。

アニメーションを行う方法として、頂点アニメーションとボーンアニメーションがあるらしいです。他にもいっぱいあるかもしれませんが私は知りません。近年ではボーンを使ったアニメーションが多いようですが、Ogre Wikiにタイトルのようなチュートリアルがあったので、今回は頂点アニメーションを使用する場合について考えてみたいと思います。Ogreでボーンアニメーションもできるのかどうかも知りません。気が向いたら調べるかもしれません。

追記:以前ボーン入れて腕振ってたはちゅねミクをOgre Mesh Exporterで出力すると、ちゃんとskeletonって骨付きで出力できました。Ogreでのskeletonの取り扱いはまだチュートリアルでは出てきてなかったですよね・・・。どこかにあるかなー。

で、まぁBlenderを使うわけです。Blenderなら頂点アニメーションもボーンアニメーションも両方できると思います。ボーンはちょっと前にやりましたし、頂点アニメーションはこれから試すからです。

Ogre Mesh Viewerでの表示結果
screenshot_10.jpg

続きを読む
web拍手 by FC2
posted by シンドラー at 19:05 | Comment(0) | TrackBack(0) | Ogre 3D & Blender | このブログの読者になる | 更新情報をチェックする

Ogre Wiki - Intermediate Tutorial 1

それでは中級チュートリアル、Intermediate Tutorial 1です。
ここではアニメーション、ポイント間のウォーキング、基本的なクォータニオンを勉強します。
なかなか面白そうなところですね。

導入

このチュートリアルでは、Entityをアニメーションする方法、あらかじめ設定したポイント間を歩く方法について説明します。ここでは、Entityを移動する方向に向けるための方法を示すことによって、クォータニオンの基本についても説明します。ゆっくりコードの追加と結果の確認を行って学習してください。

最終的なソースコートはここにあります。

必要条件

Ogreプロジェクトの作成方法とコンパイルの仕方を既に知っていると想定しています。このチュートリアルでは、STLのdequeデータ構造を使用します。dequeの使い方についての知識は必要ありませんが、少なくともテンプレートについては知っておくべきです。もしあなたがSTLに詳しくないのであれば、STLポケットリファレンスを推薦します。これはあなたの助けになるでしょう。

ということで、STLについての知識もいるようです。STLもクォータニオンも一応経験あるから私は大丈夫です!

実行結果

screenshot_9.png

続きを読む
web拍手 by FC2
posted by シンドラー at 14:41 | Comment(0) | TrackBack(0) | Ogre Wiki - Intermediate Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月21日

Ogre Wiki - Basic Tutorial 8

さて、Basic Tutorial 8です。Basic Tutorialの最後です。複数のシーン・マネージャの使用です。

導入

この短いチュートリアルは、複数のシーン・マネージャを交換する方法について説明します。
このチュートリアルのソースコードはここにあります。注意深くチュートリアルのコードを学習してください。

実行結果

screenshot_8.jpg

これでBasic Tutorialは終わりですね。。。次はIntermediate Tutorialsです。続きを読む
web拍手 by FC2
posted by シンドラー at 18:09 | Comment(0) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

Ogre Wiki - Basic Tutorial 7

Basic Tutorial 7: CEGUIとOgre

導入

このチュートリアルでは、OgreでCEGUI(組み込みGUIシステム)の使い方について説明します。このチュートリアルが終わるころには、あなたのアプリケーションに機能的に基本的なCEGUIを追加することができるようになっておくべきです。注意:このチュートリアルは、CEGUIの使い方を完全に含んでいるわけではありません。CEGUIのすべての機能についての疑問やヘルプはCEGUIのホームページに直接行ってください。
このチュートリアルのソースコードはここにあります。何か問題があればよく見比べてみてください。

実行結果

tutorial7.jpg続きを読む
web拍手 by FC2
posted by シンドラー at 16:56 | Comment(4) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月19日

Ogre Wiki - Basic Tutorial 6

というわけで、今回もとっても地味そうなBasic Tutorial 6です。
内容が地味そうなので見た目だけでも気にしてみました。

導入



このチュートリアルでは、Ogreを例題フレームワークを使用せずに開始する方法について学びます。これによって、あなたはOgreアプリケーションをExampleApplicationやExampleFrameListenerを使用せずに作成できるようになるべきです。

このチュートリアルのソースコードはここにあります。注意深く勉強してください。

続きを読む
web拍手 by FC2
posted by シンドラー at 21:49 | Comment(0) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

Ogre Wiki - Basic Tutorial 5

それでは続いてBasic Tutorial 5です。バッファリングされた入力です。この後のチュートリアルもなんとなく地味そうなので、早く次のIntermediateチュートリアルに進みたいものです。

ではいきなり紹介です。
この短いチュートリアルは、OISのバッファリングされた入力の使い方を勉強します。前のチュートリアルでは各フレームでマウスの状態を見ていましたが、このチュートリアルでは、キーボードやマウスイベントが発生したらすぐに扱えるという点が違います。このチュートリアルはOISのバッファリングされた入力を紹介するもので、OISのすべての機能を完全に説明しているわけではありません。OISについての情報はUsing OISを見てください。

このチュートリアルのコードはここにあります。自分のソースコードと見比べながら注意深く勉強してください。

続きを読む
web拍手 by FC2
posted by シンドラー at 16:49 | Comment(0) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

Ogre Wiki - Basic Tutorial 4

では、誰も待っていないBasic Tutorial 4の説明です。

Basic Tutorial 4:Frame Listeners and Unbuffered Input
フレームを聞いたりバッファリングされてない入力をするんですかね。よくわかりませんが。

要求
これまでとおんなじでC++の知識とこれまでのチュートリアルちゃんとやっとけよということです。

導入
このチュートリルでは、Ogreでもっとも便利なものの一つであるFrameListenerについて紹介します。このチュートリアルで、あなたはFrameListenerをどのように使うのかやバッファリングされていない入力システムについて理解することができるでしょう。
このチュートリアルのコードもWikiでダウンロードできるので、自分のプロジェクトと比べながら勉強してください。

続きを読む
web拍手 by FC2
posted by シンドラー at 02:10 | Comment(0) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月17日

BlenderでBone

今日はBlenderでBoneをやってみました。
肩の辺りとか不自然になっちゃって難しいですねぇ。
まーモデリング能力は乏しいので、Ogre 3DのためにBoneを入れて終了ぐらいで良かったかもしれません。
作りこめば色々できそうな気もしますね。
とりあえずBone動かしてネギ振ってみました。
インバースキネマティクスか何か知りませんが、途中のフレームのポーズを決めておけばその間は補間してくれるので楽ですね。

mikunegi.gif
web拍手 by FC2
posted by シンドラー at 23:29 | Comment(0) | TrackBack(0) | Ogre 3D & Blender | このブログの読者になる | 更新情報をチェックする

2007年11月16日

Ogre Wiki - Basic Tutorial 3

Basic Tutorial 3 : Terrain, Sky, Fog, and the Root object

Terrainってなんでしょうね。地形{ちけい}、地勢{ちせい}、地域{ちいき}、領域{りょういき}、範囲{はんい}、分野 by alc.

準備:C++の知識とこれまでのチュートリアルやってりゃOK.

導入:このチュートリアルは、地形、空、霧をあなたのOgreアプリケーションでどのように操作するか説明します。このチュートリアルの後で、Skyboxes、Skyplanes、そしてSkydomesの違いとその使い方を理解するべきです。霧の種類の違いと使い方についても知るべきです。
チュートリアルを通じて、ゆっくりコードをあなたのプロジェクトに追加して、結果を良く見てください。最終的な状態のソースコードはここで見ることができます。何か問題が発生したら、このソースコードと良く見比べてみてください。

実行結果:ん〜霧は暗いからSkyDomeと地形で。やっぱり影が欲しいねぇ。今回はいまいち訳がよくわからなかったので適当です。間違ってそうなところもあるのでてきとーにお願いします。

screenshot_5.png

おまけ

Ogre 3DのDemo_Water.exeではちゅねミクを泳がせてみました。
半端じゃない速度で雨の降る水面をぶっちぎります。

screenshot_6.png

続きを読む
web拍手 by FC2
posted by シンドラー at 20:08 | Comment(0) | TrackBack(1) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月15日

Ogre Wiki - Basic Tutorial 2

えー。1の和訳が全部終わってないじゃないかという問題は置いておいて、Basic Tutorial 2に入りたいと思います。これからは和訳は暇で気が向いたときにすることにして、要点だけ書いていくことにします。
Basic Tutorial 2では、カメラ、光源、影の設定を行っています。
予備知識(準備)はBasic Tutorial 1が実行できていればOKです。

実行結果:忍者とはちゅねミク

screenshot_4.png
続きを読む
web拍手 by FC2
posted by シンドラー at 16:30 | Comment(2) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月14日

Metasequoia -> Blender -> Ogre Mesh

というわけで、とりあえずBasic Tutorial 1だけでもメッシュファイルの表示はできます。
この(*.mesh)というメッシュファイルですが、Ogre独自のファイルフォーマットのようです。
今回はMetasequoia -> Blender -> Ogre Meshについて説明します。

実行結果。詳細は続きを読むで。

screenshot_2.png

ほっぺたはBlenderでアルファマッピングの仕方がわからないからです。つーかーれーたー。

追記:MQOインポータを最新版に動くようにしていてくれたようです。
めでたしめでたし。
http://blender.jp/modules/newbb/viewtopic.php?viewmode=thread&topic_id=267&forum=5&post_id=3542#3542
続きを読む
web拍手 by FC2
posted by シンドラー at 20:15 | Comment(2) | TrackBack(0) | Ogre 3D & Blender | このブログの読者になる | 更新情報をチェックする

Ogre Wiki - Setting up an application

えー、やっぱり第0回ともいえる設定も書いておいた方がいい気がするのでそうします。
でも基本的にVS2005の場合だけです。ついでに自己流です。設定が終わったものが欲しいという場合はここからSVNでとってくればいいようです。

とりあえずBasic Tutorial 1の実行結果を張っておきますね。

screenshot_1.png続きを読む
web拍手 by FC2
posted by シンドラー at 14:23 | Comment(0) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

2007年11月12日

Ogre Wiki - Basic Tutorial 1

では第1回チュートリアル、Basic Tutorial 1です。
英訳が違ってても怒らないでそっと指摘してください。

ビギナーチュートリアル1

SceneNode, Entity, と SceneManagerを作ります。

必要要件

C++プログラミングに関する知識とOgreアプリケーションのセットアップとコンパイルができていると想定します。Ogreに関する知識はなくても大丈夫です。

導入

このチュートリアルは、SceneManager, SceneNode, and Entity objectを構築するためのもっとも基本的なことを紹介します。ソースコードの量も少ないので、Ogreの基本的なコンセプトを学ぶのにちょうどいいと思います。
このプロジェクトを基本として、コードの追加と結果の確認でゆっくり
理解していってください。これらのコンセプトに慣れるためには実際に
プログラミングするのが一番です。読み飛ばしてしまいたい衝動を抑えてください。
続きを読む
web拍手 by FC2
posted by シンドラー at 17:46 | Comment(4) | TrackBack(0) | Ogre Wiki - Basic Tutorials | このブログの読者になる | 更新情報をチェックする

Ogre 3DとかIrrlicht Engineとか色々

物理エンジンはODEかPhysXのどちらかでいいとして、描画が問題です。
ODEのDrawstuffは微妙だしOpenGLやDirectXで自分で書くのも勉強には
なるけど微妙なものしかできない気がします。

というわけで3Dゲームエンジンぽいものでよさそうなものとして
Ogre 3D (LGPL)Irrlicht Engine (Zlib)辺りが有名なようです。
それ以外にもいろいろありますね。
http://gamdev.org/w/?%5B%5B%A5%CB%A5%E5%A1%BC%A5%B9%A5%BD%A1%BC%A5%B9%5D%5D

日本語の情報はIrrlictの方が少し多そうです。こことか。
http://www.realintegrity.net/~irr/index.php

Ogreはオーガがひっかかって微妙に探しにくいだけかもしれません。
Ogre 3DはオプションでODE使えるみたいですがIrrlictはどうなんでしょうね。

というわけで時間がある時に少し試してみようと思う今日この頃でした。
日本語でわかりやすいチュートリアルとかあったら教えてください。

続きを読む
web拍手 by FC2
posted by シンドラー at 12:57 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2007年11月10日

MQOファイルローダ+ODEトライアングルメッシュ

はちゅねミクを全て選択→選択部処理→四角の面を全部三角化みたいな処理をした
MQOファイルを読み込んでODEのトライアングルメッシュで物理シミュレーションをやってみた。

できたかなーと思ったらStack overflow.
ODEはalloca使っててヒープじゃなくてスタック使っているからたくさんの
メッシュで構成されたモデルを読み込むとすぐスタック領域があふれちゃうらしい。
ソースをallocaをmallocに書きかえれば良いと書いていたのでめんどくさいなーと
思いながらODEのプロジェクトをallocaで検索してみると…。

config.h

* dUSE_MALLOC_FOR_ALLOCA (experimental)-
* Use malloc() instead of alloca(). Slower,
* but allows for larger systems and more
* graceful out-of-memory handling.

ほほう。さすがに0.9ともなると試験的でも対応はしている様子。

/* #define dUSE_MALLOC_FOR_ALLOCA */

のコメントアウトを外してコンパイルするとスタックオーバーフローの
エラーは無くなりました。

後は衝突時にLCP internal errorがいっぱい出ます。
パラメータいろいろ変えてみたけど改善されないしトライアングル
メッシュ使うならPhysXのほうがいいんですかねー。

というわけでテストプログラムをうぷ。ダウンロード
あやしく跳ねるはちゅねミク。'u'を押してると上に飛んでいきます。

web拍手 by FC2
posted by シンドラー at 00:19 | Comment(0) | TrackBack(0) | OpenGL & Metasequoia | このブログの読者になる | 更新情報をチェックする

2007年11月09日

PhysX SDKについて

さて、ODEを使用しようかPhysXを使用しようか、どちらがいいでしょうね。
ODEのdrawstuffを使用しないのでどちらでもいいといえばどちらでもいいですね。
PhysXボード持っているわけでもありませんし。

ODEでは最近「簡単!実践!ロボットシミュレーション」という本が発売されており、
購入しましたがODEの基礎から数学的な説明まで詳しく書かれており良かったです。
本を買うお金がない場合は著者のHPにもODE講座があり参考になります。

PhysXの本はでないんですかねぇ。

それは置いておいて、PhysXのLesson101を無理矢理ひとつのファイルにまとめてみました。
特に意味はありません。
Lesson101_0.cpp
web拍手 by FC2
posted by シンドラー at 16:21 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2007年11月07日

OpenSceneGraphについて

OpenSceneGraphとは、オープンソースのシーングラフツールキットです。
http://www.openscenegraph.org/projects/osg

OpenGLのラッパーライブラリで、色々な3Dファイルを読み込んでシーングラフを作って
色々いじれるなかなか良さそうなものです。
ドキュメントが少なく、日本語の情報はさらに少ないという感じですがどうなんでしょうね。

日本語で参考になりそうなページ
http://www.eml.ele.cst.nihon-u.ac.jp/~momma/wiki/wiki.cgi/OpenSceneGraph.html

さすがにメタセコのファイルには対応していないようです。
オープンソースだから自分で対応しろと言われればそれまでですが。
web拍手 by FC2
posted by シンドラー at 16:44 | Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。