【3Dエンジン】Irrlic ..
[2ch|▼Menu]
470:名前は開発中のものです。
08/03/29 00:01:52 9eKD+9jY
キャラクタークラスはどう作ります?
候補と印象は以下

1、エンティティの中にシーンノードを保持する。
 シーンノードを自由に組み合わせられるのは魅力的だが、
 特殊な表現をするには結局新しいシーンノードを作る必要がありそう。

2、シーンノードを継承する。
 自由に描画処理を記述できるメリットは大きいが面倒そう。

3、シーンノードアニメータを継承してシーンノードに追加する。
 複数のシーンノードを組み合わせて使うのが大変そう。

4、それ以外。


471:名前は開発中のものです。
08/03/30 23:27:58 q0Ctn/EA
URLリンク(www.irrlicht3d.org)
Special Shader Pack by Nadroって何処からDL出来るんですか?
フォーラムに飛びますが何処からDLするのか分かりません。

472:lesson.ifdef.jp
08/04/04 22:03:23 I+kk4Izj
>>441
遅くなりましたがOBBTreeの報告です

COBBTreeTriangleSelector.cpp内の17行目辺り
bool COBBTreeTriangleSelector::_checkCollision()の
この部分を
if (!childAL && !childAR && !childBL && !childBR)
{
  result = true;
}
trueを返していますが、コメントアウトしておいてください。
if (!childAL && !childAR && !childBL && !childBR)
{
//  result = true;
}
これで、当たり判定があった部分は全て表示が変わります。
ただし問題が1つあって、回転させた場合、
「回転する前のオリジナルのOBBTreeの位置に当たり判定が発生」しています。
これは、createRotationAnimator()が悪さをしているのだとは思いますが
そこまでは調べていません。

とりあえず報告まで お試しください

473:lesson.ifdef.jp
08/04/04 22:10:21 I+kk4Izj
>>470
キャラクタークラスを作成するにあたって、
私としては「2、シーンノードを継承する。」が一番楽だとは思います。
キャラを用意して、動きなどを設定してあげれば
render()で全て描画してくれるので確かに楽です。
getPosition/setPosition/getRotationなどがすぐに使えるのがいいです。

気になる点としては、描画順番の管理の仕方でしょうか?
(弾丸を発射させても、MAPの後ろに隠れて表示されないなど
 そういう問題が発生して、どうしようかと思っている所です)
これは、他にわかる人からの助言が欲しいです。

474:lesson.ifdef.jp
08/04/04 22:18:25 I+kk4Izj
>>472
17行目ではなく147行目です・・・
関数名で検索してください;;

>>471
Nadro氏の投稿記事内で時々URLが出ていますが、
全てがダウンロードできるわけではなさそうです。
URLリンク(rapidshare.com)
URLリンク(rapidshare.com)
URLリンク(rapidshare.com)
あとは、同じように記事内にShaderのプログラムがそのまま
記載されているので、それを必要な部分に組み込む形になるかと思います。

475:名前は開発中のものです。
08/04/06 00:16:57 Naj1qGbT
>>473
ソースを見た限り、Irrlichtはノードをテクスチャでソートしてしまっているので、
細かい描画順の管理(Ogreのプライオリティ管理のようなもの)は出来ないかと思います。

が、半透明オブジェクトのパスは、通常オブジェクトのパスより後に来ることは保証されているので、
マップのような半透明のHUDで弾オブジェクトが隠れてしまうのを防ぎたいのであれば、
registerNodeForRendering の引数に ESNRP_TRANSPARENT を指定するといいんではないでしょうか。

476:名前は開発中のものです。
08/04/06 00:25:09 8nqMAlGm
>>472
ありがとうございます!試してみます

>「回転する前のオリジナルのOBBTreeの位置に当たり判定が発生」しています。
どうりで当たっていないOBBが赤くなると思いましたよ・・。
さて、どうすりゃいいか・・。

477:lesson.ifdef.jp
08/04/06 01:01:36 qjatMiVM
>>475
>Irrlichtはノードをテクスチャでソートしてしまっているので、
やっぱり、ソートしてる感じですかorz
特定の向きだと表示される場合があったりしてすごいはまりました。
情報ありがとうございます。

はまる前はISceneNodeを継承させずにやってたので気づきませんでした。


478:lesson.ifdef.jp
08/04/06 01:19:50 qjatMiVM
>>476
アニメータが悪さしてるかと思っていましたが
setPosition/setRotationで移動/回転を行ってみたところ
こちらでもオリジナルの座標で計算していました。

なので、_checkCollisionなどで「回転」も与えないと厳しそうですね。
オリジナル版では接触部分の色変化はさせていなかったので、
もしかしたら気づかなかったのかもしれません。

479:名前は開発中のものです。
08/04/07 17:33:46 tTPi+peN
Irrlicht lessonのとうりインストールしましたが、エラーが出てコンパイルできません。
Vista,VC++Expressで、プロジェクト名lessonです。どこが悪いか教えてください

<出力>
1>------ ビルド開始: プロジェクト: lesson, 構成: Debug Win32 ------
1>マニフェストを埋め込んでいます...
1>mt.exe : general error c10100b1: Failed to load file "..\Debug\lesson.exe". U_Q9LdK
1>~[
1>ビルドログは "file://c:\irrlicht-1.4\lesson\lesson\Debug\BuildLog.htm" に保存されました。
1>lesson - エラー 1、警告 0
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========


ビルド ログ ビルド 開始: プロジェクト: lesson、構成: Debug|Win32
コマンド ライン 一時ファイル "c:\irrlicht-1.4\lesson\lesson\Debug\RSP00000113044012.rsp" を作成しています。内容 :
[
/outputresource:"..\Debug\lesson.exe;#1" /manifest

".\Debug\lesson.exe.intermediate.manifest"
]
コマンド ライン "mt.exe @"c:\irrlicht-1.4\lesson\lesson\Debug\RSP00000113044012.rsp" /nologo" を作成しています。
出力ウィンドウ マニフェストを埋め込んでいます...
mt.exe : general error c10100b1: Failed to load file "..\Debug\lesson.exe". U_Q9LdK
~[
結果 ビルドログは "file://c:\irrlicht-1.4\lesson\lesson\Debug\BuildLog.htm" に保存されました。
lesson - エラー 1、警告 0





480:名前は開発中のものです。
08/04/07 17:35:25 tTPi+peN
>>479
VC++2008Expressです

481:441
08/04/07 21:45:06 HN/Waynt
>>478

>なので、_checkCollisionなどで「回転」も与えないと厳しそうですね。
行列を使って回転の処理もちゃんとしているつもりでしたが
どうやら何処か処理が間違っているようです。
野村XX氏のは行列を移動用と回転用で分けて渡していますがこのプログラムでは
そうしていません。core::matrix4のtranslateVectとrotateVectを使えば分けなくてすむと
思ったのでそうしました。

482:lesson.ifdef.jp
08/04/08 00:32:01 UBGq2D2b
>>479
>Irrlicht lessonのとうりインストールしましたが、エラーが出てコンパイルできません。
むむ、すみません。ファイルを作成した場合は、
ビルドする対象に設定する(ソリューションに追加する)必要があります。
その部分を更に詳しく追記しておきましたので、確認してください。

■エラー内容
通訳?すると、ビルドする対象が存在しないためビルドに失敗しました、です。

■対処方法
ソリューションにmain.cppを追加してください。
URLリンク(lesson.ifdef.jp) の下部に詳細を追記しておきました。
ソリューション エクスプローラーにファイルを追加すると大丈夫です。

>>441
OBB自体の描画は問題ないようなので、当たり判定をする時の座標を
注目すれば何とかなりそうな気はします。
こちらでも、確認できたら再度お知らせします。
オリジナルよりも簡潔になっている部分も多々あったので応援してます。

483:名前は開発中のものです。
08/04/08 19:37:04 46Ui6/PR
>>482
できました。ありがとうございます
またお願いします

484:441
08/04/08 23:57:58 s2YHW7Mx
とりあえずイベントレシーバーを使ってオブジェクトを自由に移動、回転できるようにしてみました。
でも今日うpは無理かもです。

485:441
08/04/10 21:51:47 x0tHNvR8
1箇所修正しただけで直りました!

COBBTreeTriangleSelector::isCollisionの

boxA.Matrix.rotateVect(vecAtoBTrans, boxA.Center - boxB.Center);
となっているところを
boxA.Matrix.rotateVect(vecAtoBTrans, boxB.Center - boxA.Center);
にしなければならなかったようです。

486:441
08/04/10 23:42:49 x0tHNvR8
変更予定
1.基底クラスをITriangleSelectorではなく独自のに変更する
(CTriangleSelectorだとTrianglesがCOBBTreeTriangleSelectorを作るたび配列Trianglesが
毎回作られ処理時間とメモリが無駄)
2.できればOBBの面が裏返らないようにしたい
3.接触しているポリゴンのペアと交点を取得可能にする
4.OBBTree以外にも球や直方体と当たり判定が可能にする

lesson.ifdef.jpさんデバッグありがとうございます

487:名前は開発中のものです。
08/04/11 19:18:44 guvAZOSL
こんにちは、Irrlicht Lessonを利用させていただいている者です。
LessonB03ーXファイルの表示について、lesson.exeを実行するとちゃんと表示できます。しかし、Lesson.dswを開いてVC++上で実行するとコンパイルはできても、tiger.xが真っ黒でテキスチャが反映されません。一応Debugフォルダにtiger.xを入れてみてもやっぱりだめです。
何が原因かがわかりません。
Lesson006-テクスチャはともにうまくいきました。
どうぞご確認ください

488:lesson.ifdef.jp
08/04/11 22:13:29 5Azux61S
>>483
VCの初期設定の不足分の指摘ありがとうございました。開発がんばです!

>>441
修正お疲れ様です! 変更予定箇所が沢山ありますね。
変更は大変なので、バックアップを忘れずにっっ

>>487
ご利用ありがとうございます。微妙にライトの挙動がおかしいですね…
プロジェクトから実行した際に、真っ黒なのを確認しました。
現段階の対応策として、nodeの定義の後に以下を追記してください。
ライトの影響を無視するので、テクスチャの確認は可能です。

node1->setPosition(vector3df(-2,0,0));
node1->setMaterialFlag(EMF_LIGHTING, true); //←これ追加 false:ライト無視

node2->setPosition(vector3df(2,0,0));
node2->setMaterialFlag(EMF_LIGHTING, true); //←これ追加 false:ライト無視

<<お土産>>
現在作っているFPSゲームの実行ファイルをアップしておきます。
URLリンク(lesson.ifdef.jp)

489:lesson.ifdef.jp
08/04/11 22:36:35 5Azux61S
>>487
ご利用ありがとうございます。微妙にライトの挙動がおかしいですね…
プロジェクトから実行した際に、真っ黒なのを確認しました。
現段階の対応策として、nodeの定義の後に以下を追記してください。
ライトの影響を無視するので、テクスチャの確認は可能です。

node1->setPosition(vector3df(-2,0,0));
node1->setMaterialFlag(EMF_LIGHTING, false); //←これ追加 false:ライト無視
: ^^^^^
node2->setPosition(vector3df(2,0,0));
node2->setMaterialFlag(EMF_LIGHTING, false); //←これ追加 false:ライト無視
^^^^^
※trueではなくfalseです…。
trueで表示されないことを確認して、そのままupしてしまったorz

490:名前は開発中のものです。
08/04/13 10:39:19 DXszE/f/
こんなかんじで
URLリンク(2sen.dip.jp:81)

491:lesson.ifdef.jp
08/04/13 21:34:01 yZyopwHg
>>490
数日で戦車のXファイルを表示できるまでになったのはスゴイですね
キー操作で動かせるようになると、さらに楽しくなるのでオススメです

492:名前は開発中のものです。
08/04/13 23:09:36 ++ZLZc4W
URLリンク(www-2ch.net:8080)
まだまだ間違いがありました・・。
DLKEYはobbtreeです。多分入れ忘れは無いと思います

493:lesson.ifdef.jp
08/04/13 23:50:10 yZyopwHg
>>492
ダウンロードしてみましたが、以下の2つが見つかりませんでした…
CCameraSceneNode.cpp
CCameraTPSSceneNode.cpp
とりあえずご報告まで

494:441
08/04/14 22:12:55 u3RVdEoB
現在は使っていないのでなくても大丈夫だと思います・・・

495:470
08/04/16 11:25:01 0VSRffog
>>473
返信遅れてすいません。

シーンノードはデータ駆動でデータを再現すれば状態を復元できます。
ゲームの特徴と一致していますし
「キャラクターはシーンノードを継承する」というので同感です。

ただ、言われた通り描画順序の問題や更新処理のみを行うことが困難です。
本格的にやるならIrrlichtの改造が必要そうですね。

496:441
08/04/17 22:45:15 t7r2WetS
三角形同士の当たり判定って結構重いですね・・。
BVHとか使わなきゃいけないんでしょうか?

497:lesson.ifdef.jp
08/04/19 18:08:01 IeoDZSma
>>441
使用していないファイルをプロジェクトから外すことで
問題なく動作するのを確認できました。
キーで2つのオブジェクトも操作できるので当たり判定の確認も
わかりやすくなっていました。

>>470
キャラクターの描画だけであれば、シーンノードで特に問題はありません。
銃弾や他オブジェクトはシーンノードを継承せずに、
drawIndexedTriangleList/drawIndexedTriangleFanを使用して
回避することも可能です。
できればシーンノードを継承していきたいですが、
私としては当分は自前の描画で対応してみようかなと思っています。

498:441
08/04/20 20:58:58 A28b/pa+
"Cache-Ef?cient Layouts of Bounding Volume Hierarchies"
を読んでみる事にします。

499:441
08/04/20 21:02:14 A28b/pa+
すいませんコピーするときfiを直すの忘れてました。
Cache-Efficient Layouts of Bounding Volume Hierarchies
です。果たして実装できるのだろうか?
URLリンク(gamma.cs.unc.edu)
URLリンク(lucille.atso-net.jp)
URLリンク(lucille.atso-net.jp)

500:470
08/04/26 22:21:42 LvlHrFkO
>>497
自前で描画できれば最高ですね。
実力不足でシーンノードを利用するというのが本音です。
できればオブジェクトは統一的に管理したいので
OnRegisterSceneNodeを呼ぶタイミングを操作する手もあるかもしれません。
これならIrrlichtを修正する必要はないですしね。
色々と検討してみます。

501:470
08/04/26 22:43:32 LvlHrFkO
>>500
テクスチャでソートされてましたね・・・。
すいません、忘れてました。
勉強してきます。

502:lesson.ifdef.jp
08/04/27 23:35:33 RbWzqJOX
HLMV(Half-Lifeのモデルビューア)を作成しました
最初から読み込めるモデルファイルに
URLリンク(www.counter-strike-dl.com)
で公開されている武器やキャラクターモデルを使用できるようになります
(ここでは、Counter-Strike 1.6のモデルに対応しています)
MD2に比べて、モデルのクオリティが上がっているのでなかなかよさげです
また時間があればSourceやHL2にも対応してみたいと思います

こちらでソースと実行ファイルを公開しました
URLリンク(lesson.ifdef.jp)

>441
BVHは詳しくないですが、基本的にはIrrlichtで用意されている
ITriangleSelectorを使用しています
もしかしたら、こちらの方が参考にしやすいかもしれません
(Irrlichtのソースはかなり見やすい方なのでおすすめです)

>470
シーンノードを使用するとrender()が呼ばれない場合が発生してしまいます
自分の記述ミスなのか、内部のミスなのかは不明ですが
ここも何か関係しているのかもしれません
この場合の無理やりな対策方法としてOnRegisterSceneNode()内で
render()を呼び出すことで何とか回避可能です

自力の描画はモデル等ではなく空間上のスプライト(画像)関連で
使用しています
これであれば、特に描画に苦しむことなく対処可能かと思います
drawIndexedTriangleFan/drawIndexedTriangleListを呼べばいいので
挑戦したくなったときにでも見てみるとよいかもです
(DirectXやOpenGLと記述方法が同じなので、そちらで勉強するのもアリです)


503:名前は開発中のものです。
08/04/30 19:11:34 lXj3d1Z3
URLリンク(www.realintegrity.net)
Irrlicht-Toutorial7.Collisionで

scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("20kdm2.bsp");
scene::ISceneNode* q3node = 0;
if (q3levelmesh)
q3node = smgr->addOctTreeSceneNode(q3levelmesh->getMesh(0));
scene::ITriangleSelector* selector = 0;

if (q3node)
{
q3node->setPosition(core::vector3df(-1370,-130,-1400));
selector = smgr->createOctTreeTriangleSelector(
q3levelmesh->getMesh(0), q3node, 128);
q3node->setTriangleSelector(selector);
selector->drop();
}

と、q3nodeが設定されていますが、このq3nodeは一体何ですか?後で妖精ノードが追加されているけどそれとは違いますよね。


504:名前は開発中のものです。
08/04/30 19:12:19 lXj3d1Z3
もうひとつ

scene::ICameraSceneNode* camera =
camera = smgr->addCameraSceneNodeFPS(0,100.0f,300.0f);
camera->setPosition(core::vector3df(-100,50,-150));

scene::ISceneNodeAnimator* anim =
smgr->createCollisionResponseAnimator(
selector, camera, core::vector3df(30,50,30),
core::vector3df(0,-3,0),
core::vector3df(0,50,0));
camera->addAnimator(anim);
anim->drop();

は、カメラが壁にぶつかるのを防ぐためにカメラ衝突判定用のノードanimを作り、これと壁との衝突を判定しているとうことでいいですか?

505:名前は開発中のものです。
08/05/01 04:56:34 CPjy9vH/
>>503
地面や壁をAnimatedMeshを元にOctTree方式でシーンノードとして生成してる。
その後、q3nodeを通して生成したシーンノード(壁)を移動させたり
衝突判定オブジェクトを各作成したりしてます。

>>504
Yes

506:名前は開発中のものです。
08/05/01 17:53:06 2ANReaIH
>>505
壁がありましたね。学習がはかどりました

507:名前は開発中のものです。
08/05/17 23:39:10 hnGWnyu0
URLリンク(sourceforge.net)
こんなのが発足した模様です。

508:名前は開発中のものです。
08/05/18 00:30:20 4fpjGLSX
かなり前から公式にもアナウンスありますな
でも、まだ再稼動したばかりなので様子見…

Irrlichtは基本機能のみのリリースで
irrExtから必要な拡張機能をチョイスする使い方を想定してるっぽい
フォーラムからエクステンションを発掘してくる時間を、これで節約できればいいな、と

509:名前は開発中のものです。
08/05/27 19:26:56 aolezDeL
スレ違になるかも知れませんが、質問させてください。
GtkRadiantでマップを作ると、商用目的での利用は不可と知ったんですが、
商用目的でゲームを作成する場合、どうしたら良いのでしょうか?
bsp以外の形式では駄目なんですよね?

510:lesson.ifdef.jp
08/05/27 19:58:58 Ku435Aae
>>509
参考になればですが
「Valve Hammer Editor」というものもあります
GtkRadiant同様にbspファイルを作成可能ですので
こちらを調べてみてはどうでしょう
bspにこだわらなければxファイルでマップを作成することも可能です

511:名前は開発中のものです。
08/05/27 22:57:58 aolezDeL
>>510
おお!即答どうもです。
特にbspにはこだわってません。xファイルでもいけるのかぁ。
Valve Hammer Editorもこれから調べてみます。

512:名前は開発中のものです。
08/06/03 21:34:28 M+I6OwAB
案内カキカキ

TopPage - game-develop.com wiki
URLリンク(wiki.game-develop.com)

GameDevWikiを何とかするスレ
スレリンク(gamedev板)

513:名前は開発中のものです。
08/06/03 22:12:48 ioTO156U
>>511
Irrlichtはいろんなメッシュの形式をサポートしています。
そしてIrrlicht Wikiにはいろんなマップエディタへのリンクがあります。

514:名前は開発中のものです。
08/06/11 23:35:53 2R3HrNSv
age

515:名前は開発中のものです。
08/06/16 22:49:04 mwennFf6

DirectXSDKは、最新バージョンを入れておく必要がありますか?


516:名前は開発中のものです。
08/06/17 00:08:09 ED7pbxcn
アーカイブ付属のIrrlicht.dllを使うだけならSDKは全く必要ないですよ
ランタイムだけ最新のものにしておけば大丈夫です

517:名前は開発中のものです。
08/06/17 11:35:23 61jTsrvQ
VC++2005EE に導入してサンプルをビルドしたら、以下の警告が出ました。

LNK4075: /EDITANDCONTINUE は /INCREMENTAL:NO の指定によって無視されます

デバッグオプションに、/ZI が指定されていたので、/Z7 に変更したら警告は回避されましたが、
この回避方法で問題ないでしょうか?

518:名前は開発中のものです。
08/06/18 22:42:17 VmSvuPuh
すみません、meshやテクスチャをリソースから読み込むには、どの命令を
使えばいいのでしょうか?
ヘルプで探しましたが、それらしい命令が見つかりませんでした。


519:名前は開発中のものです。
08/06/19 12:39:05 9n9YiRNS
>>518
フォーラムくらい調べたらどうだ?

520:名前は開発中のものです。
08/06/20 22:09:58 tu1r3q9t
テキスト形式のXファイルをリソースから読み込むのは無理なんじゃない?
DirectXには専用の読み込み命令があるからできるけど、これにはないっぽいし。
テクスチャなら load>lock とかのファイルP取得で可能。
バイナリ形式のXにはIrrlicht自体対応していないから、別のフォーマットを
リソースにするのがよいかと。

521:名前は開発中のものです。
08/06/20 23:43:18 qP/MJpm6
リソースって実行ファイルの一領域のことかね
ファイルクラスにリソースから読み込めるようなコードをかけばいけそうだが面倒だろうね
標準機能ではファイルシステムとZIPファイルからのみ

522:名前は開発中のものです。
08/06/21 22:38:51 RLcQR90a
小数以下まで取得できる高精度なタイマーを使うにはどうすれば?

523:名前は開発中のものです。
08/06/21 23:10:22 r8z/kdJT
少数以下?何が?

524:名前は開発中のものです。
08/06/22 05:02:30 XhnKslKn
違ったらすまん
URLリンク(irrlicht.sourceforge.net)

525:522
08/06/24 23:04:11 WZc05MQe
この関数、整数でしか取得できないんだよなあ・・・

526:名前は開発中のものです。
08/06/24 23:15:25 NpZv7yBS
1000.0で割ればほら秒単位で小数点以下が

527:名前は開発中のものです。
08/06/24 23:41:55 3dzGCyOt
>>522
ITimerで満足できないと他に手段がないような…
Windows上ではWinAPIのメディアタイマーを使って、理論上は高精度な時間を取得してるよ

IrrlichtDevice *irrdevice;
u32 milliseconds;

irrdevice = CreateDevice(...);
milliseconds = IrrlichtDevice->getTimer->getRealTime();

>>526の言うように1000.0で割れば1秒未満は小数点以下になるのだが


528:名前は開発中のものです。
08/06/24 23:43:27 3dzGCyOt
>>527
変数間違えた
milliseconds = irrdevice->getTimer->getRealTime();

529:名前は開発中のものです。
08/06/25 02:27:18 BgXBw7cf
パフォーマンスカウンタじゃいかんのか?

530:522
08/06/25 22:11:45 nNaFuqPk
>>529
それどうやって使うんですか?
1ms未満も取得したいです。

531:名前は開発中のものです。
08/06/26 00:24:03 VosWmIAS
質問の前提条件を小出しにするのはやめてくれんか

532:名前は開発中のものです。
08/06/26 00:35:55 6P5ToaRh
これだけ情報が出たんだからググレカスでおk

533:名前は開発中のものです。
08/07/03 19:23:03 2Vc3TCLM
CollisionManagerについてお聞きします。

irr::scene::ISceneCollisionManager::getSceneNodeFromRayBB()
Returns:
Returns the scene node nearest to ray.start, which collides with the ray and matches the idBitMask, if the mask is not null. If no scene node is found, 0 is returned.
この関数は、ray線に当たっているノードではなくray線に最も近いノードを返し、当たっているか否かは関知しないといことですか?

534:名前は開発中のものです。
08/07/03 20:15:58 aTMEusjJ
which collides with the ray

535:名前は開発中のものです。
08/07/03 21:29:57 j83D325d
>>533
いやいや、>>534も言ってるように、Ray直線上の物体で一番手前のものを返すってこと
言い換えるとRayが当たっているものの中で一番近いノード

536:名前は開発中のものです。
08/07/04 01:01:03 Nuwyr8lG
>>535
だから「which collides with the ray」かつ「nearest to ray.start」なんだろ
説明読めば、答えがまんま書いてあるぞって言いたかっただけだよ

537:名前は開発中のものです。
08/07/04 01:02:27 Nuwyr8lG
>>535
あ、すまん何をとちったか補足に煽り入れちまったwww俺m9(^Д^)プギャー
>>535さんごめんね、そして補足ありがトン

538:名前は開発中のものです。
08/07/04 01:04:11 58m11+HL
533です。わかりました。
それと
getSceneNodeFromRayBB ( core::line3d< f32 > ray,
s32 idBitMask = 0,
bool bNoDebugObjects = false
)
idBitMaskはいったい何のことですか?お願いします

539:名前は開発中のものです。
08/07/04 02:33:32 FKcMRpjl
>>538
衝突判定先SceneNodeのidを選別するためのマスク
id AND idBitMask = 0ではないNodeだけがRay判定対象
対象Nodeには予め自分で好きな値を定義しておくれ



540:名前は開発中のものです。
08/07/04 14:00:28 m932bkDc
irrlichtてWindowsメッセージのコールバックを受け取ることって出来ますか?
搭載GUI の外観ショボいから自前のを使いたいんですが
サンプルなどを見たところ
Winのメッセージプロシジャのループみたいなのも
全部隠蔽されちゃってるっぽいのですが。

541:名前は開発中のものです。
08/07/04 14:45:08 m932bkDc
あ、あった。
URLリンク(www.realintegrity.net)

542:名前は開発中のものです。
08/07/04 15:51:38 m932bkDc
メッシュ表示したいだけなのに実行時エラーがでるんですが、誰か助けてください><
VisualStudio2005 WinXPを使ってます。
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.


INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
IrrlichtDevice *Device = createDevice(EDT_OPENGL, dimension2d<s32>(512, 384), 16, false, false, 0);
IVideoDriver *Driver = Device->getVideoDriver();
ISceneManager *Scene = Device->getSceneManager();

Scene->addCameraSceneNode(0, vector3df(0,10,-40), vector3df(0,0,0));

IAnimatedMesh* TigerMesh = Scene->getMesh("tiger.x");
IAnimatedMeshSceneNode* Tiger = Scene->addAnimatedMeshSceneNode(TigerMesh);
Tiger->setPosition(vector3df(-2,0,0));

while(Device->run())
{
Driver->beginScene(true, true, SColor(0,100,100,160));
Scene->drawAll();
Driver->endScene();
}
Device->drop();
return 0;
}

543:名前は開発中のものです。
08/07/04 16:44:31 m932bkDc
あ、DLLのバージョンが違うとか?

DLL作るのってSDKに入ってるプロジェクトをそのままビルドしたら
いいんですかね?
なんかコンパイルは通りましたが何処にもDLLができてません><;

プロジェクトの構成もdllになってるようですけど、やり方があるんでしょうか?

544:名前は開発中のものです。
08/07/04 16:51:38 m932bkDc
あ、binフォルダに入ってましたwww

545:名前は開発中のものです。
08/07/04 17:19:59 h5ni90+9
誤爆も含めて、ここはお前の日記帳じゃないんだぞ

546:名前は開発中のものです。
08/07/04 18:19:35 FKcMRpjl
ブログに書いてな
DLLなんてプリコンパイルされてるのがあるんだから、それを使えばいいじゃない
メッセージのコールバックはDevice->run()を自分で処理すればおk
以上終了

547:名前は開発中のものです。
08/07/04 19:35:40 58m11+HL
>>538
ありがとうございました

548:名前は開発中のものです。
08/07/04 20:10:39 Nuwyr8lG
>>548
いえいえ、どういたしまして。

549:名前は開発中のものです。
08/07/05 17:38:38 DHgfPhX0
下のような感じでアルファ用とカラー用で二つのUVもたせて
テクスチャを何層か重ねて描画したいんですけど
ITerrainSceneNodeでそういうのってできますか?

------ 花カラー  
****** 花アルファ 
------ 草カラー  
****** 草アルファ 
------ 土カラー  

550:名前は開発中のものです。
08/07/06 07:55:11 IqMgGGcD
irrlichtの座標軸ってこう?なんかカメラ位置決める時とか分かりづらい。

    y
   /
  /
 /
  ------→x
U
U

z


551:名前は開発中のものです。
08/07/06 09:56:54 IqMgGGcD
見え方なんてのはカメラのアップベクトルとかで変わるか・・・
ごめん。

552:名前は開発中のものです。
08/07/08 18:39:07 MJ51wxLd
モデルのデータファイルとか皆さんどうしてます?
ユーザーにデータ丸出しにするのは抵抗があるんだけど・・・

DXDの3DXLoadMeshFromXInMemoryみたいな
メモリ上に展開したデータから読み込む関数はないですよね?

なにか方法はないでしょうか?

553:名前は開発中のものです。
08/07/08 22:36:05 ELir2XE9
>>552
irr::io::IFileSystemのcreateMemoryReadFileでいけるんじゃない?
メモリ上のデータをファイルのように扱える関数と思われる。

554:名前は開発中のものです。
08/07/08 22:37:04 ELir2XE9
って、いつの間にか1.4.1リリースしてんだ。
知らなかった・・

555:名前は開発中のものです。
08/07/08 23:03:37 gy2iNnCl
私たちはIrrlicht1.4.1をリリースしました。sourceforgeサーバから利用可能です。
ゆっくりダウンロードしていってね。1.4.1はバグフィックスメインだよ。

・COLLADA1.3ローダーの改善。Milkshape1.8形式、拡張.3ds、.obj、
 マイクロソフト.xファイルアニメーションプレイバックのサポートや改善。
・OSXでX11追加。
・いくつかの速度最適化
・たくさんのバグフィックス、API拡張、および他の小さな改善。

irrchilit1.4.1と100%互換の新しいirrEditをリリースしました。IrrEditはIrrlicht用でフリーの3Dシーンエディタです。

詳細は更新履歴を見てください。


556:名前は開発中のものです。
08/07/08 23:59:47 JhsSynUi
おいおいw
気づくの遅ーよwww
>>552
ファイルシステムは自前のアルゴリズムのものを読み込ませられなかったっけ?

557:名前は開発中のものです。
08/07/09 05:49:19 yHOeFPG0
>>553
マニュアルみたら、なにやら「内部関数だから使わないでくれ」と・・・

>>556
>ファイルシステムは自前のアルゴリズムのものを読み込ませられなかったっけ?

もう少し具体的に教えてもらえないでしょうか。
どういうことかいまいち分かんないです。

あくまでファイルのパースやメッシュ・ボーンの構築とかはirrlichtに任せたいんです。
そこまで自前でやるとしたらこれ使う意味がかなり無くなりますし・・・

558:名前は開発中のものです。
08/07/09 15:41:36 T43bLGu5
lesson.ifdef.jpタソありがとう!

559:名前は開発中のものです。
08/07/09 22:40:05 SF8ehHxO
おまいらIrrlichtを何で知った?

560:名前は開発中のものです。
08/07/09 22:45:22 SDEdX/tX
このスレwww

561:名前は開発中のものです。
08/07/09 22:54:37 DBg69Y8l
ogreスレ。資料少なくてこっちきちゃった

562:1
08/07/09 23:22:05 2Ro0RYQH
3D Engine Databaseの上位レビュー数のリンクから。
前スレが埋まらないのは大きな誤算でした。

>>557
>>553のやり方ならこれは?
URLリンク(irrlicht.sourceforge.net)

563:名前は開発中のものです。
08/07/10 05:03:35 W/0efpFG
>>562
ありがとう。丁度それを調べてて、その辺が落としどころかなと思った。

564:553
08/07/10 21:53:53 Ji3rYPpZ
>>557
>マニュアルみたら、なにやら「内部関数だから使わないでくれ」と・・・

・・・そんな事書いていないけど?
Creates an IReadFile interface for accessing memory like a file.

This allows you to use a pointer to memory where an IReadFile is requested.

Parameters:
memory,: A pointer to the start of the file in memory
len,: The length of the memory in bytes
fileName,: The name given to this file
deleteMemoryWhenDropped,: True if the memory should be deleted along with the IReadFile when it is dropped.

Returns:
Returns a pointer to the created file interface. The returned pointer should be dropped when no longer needed. See IReferenceCounted::drop() for more information.

565:名前は開発中のものです。
08/07/10 21:58:59 W/0efpFG
>>564
すまそ。
irr::io::createMemoryReadFile の方を見てたw

566:名前は開発中のものです。
08/07/12 15:03:40 Mi2YO7SP
IrrNewtを落としたのですが、サンプル(helllo.cpp)をコンパイルできません。
#include "irrnewt.hpp"はリンクがうまくできましたが、その中の#include <newton.h>で
c:\irrnewt_sdk_0_4\include\irrnewt.hpp(27) : fatal error C1083: include ファイルを開けません。'newton.h': No such file or directory
と出ます。そこでnewton.hを探してもIrrNewt中どこにも見当たらず困っています。
newton.hはどこにあるのでしょうか?
サンプルのexeファイル自体は動くので問題はそれだけだと思います。

567:名前は開発中のものです。
08/07/12 15:27:54 ffOHtAdU
Newton Game Dynamics SDK必須
URLリンク(www.newtondynamics.com)

568:名前は開発中のものです。
08/07/12 16:56:53 Mi2YO7SP
>>567
それ入れて再コンパイルしたらエラー警告の嵐。別の使います

569:名前は開発中のものです。
08/07/13 16:36:30 Gix+c9ik
irrlichtってモデル大量に生成したらその分だけもモデルデータ読み込む?
たとえば、同じモデルデータならそこから参照するとかの最適化は実装されてない?
調べればいいんだろうけどDLしてないからさ・・・

570:名前は開発中のものです。
08/07/13 17:23:39 4McjhppB
DLすればいいじゃん。

571:名前は開発中のものです。
08/07/13 17:36:49 Gix+c9ik
DLしたいんだけど目がつぶれちゃって確認できないんだよね。

572:名前は開発中のものです。
08/07/13 19:03:54 b/sDRfyP
目がつぶれてるなら確認できないな・・・
となるとモデルの最適化も確認できないしこの話題はこれでもう終わりか。

573:名前は開発中のものです。
08/07/13 19:08:08 Gix+c9ik
あ、目治った。
けど、DLするための手が折れたからDLできない。

574:名前は開発中のものです。
08/07/13 21:03:55 pMB423a9
もう夏休みなのか

575:名前は開発中のものです。
08/07/13 21:35:54 M1BsVdsc
嘘を言っているようには見えない
俺が確認してやるよ

576:名前は開発中のものです。
08/07/13 22:07:31 Gix+c9ik
ありがとうございます。ついでに答えてください。
じゃないと今度は心が折れそうです。

577:名前は開発中のものです。
08/07/13 22:58:45 M1BsVdsc
俺はおまえを信じたのに、おまえは俺を信じないのか?
黙って待ってろ

578:名前は開発中のものです。
08/07/13 23:17:10 Gix+c9ik
(;^q^) 信じてます・・・ごめんなさい・・・待ちます

579:名前は開発中のものです。
08/07/13 23:25:44 M1BsVdsc
今後俺を疑ったり催促するような真似をしたらもう教えねえ
いいな

580:名前は開発中のものです。
08/07/14 00:17:00 n7MzDU6p
はい、ほんと信じて待ってます

581:名前は開発中のものです。
08/07/14 00:22:26 t4sVOdei
よし待ってろ
他の奴らは普通に話進めてくれや

582:名前は開発中のものです。
08/07/14 18:37:37 NUWzYR3F
あげ

583:名前は開発中のものです。
08/07/14 18:48:05 n7MzDU6p
あのどの位待てばよいですか?

584:名前は開発中のものです。
08/07/15 19:17:07 kClkDntU
大うそつきめ!地獄におちろ!
おちてしまえ!

585:名前は開発中のものです。
08/07/16 11:44:30 iSpH132a
泣いた女が バカなのか
だました男が 悪いのか
褪(あ)せたルージュの くちびる噛んで
夜霧の街で むせび哭(な)く
恋のみれんの 東京ブルース

586:名前は開発中のものです。
08/07/17 19:20:01 o/DUvkgJ
irrlicht用モデルにMilkshape3Dを使うと思っています
しかし、感想を読むとMilkshapeは簡単にモデルを作れる反面、アニメーションには向かない。
アニメーションをつけて動かすとばらばらになる
またシェーディングができないとかありました
そんなに使えないのでしょうか。あくまでirrlichtとの関係でなんですけど...

587:名前は開発中のものです。
08/07/17 21:00:06 uAQ9zE97
Milkshapeがアニメーションに向かないなんて初めて聞いたけどソースどこ?

588:名前は開発中のものです。
08/07/17 22:54:05 o/DUvkgJ
forum

589:名前は開発中のものです。
08/07/18 09:08:39 UGzqvHd8
>>588
ちゃんと書こうよ。君の為のチラ裏スレじゃないんだよ?

590:名前は開発中のものです。
08/07/18 09:20:49 lURobZwZ
ちゃんと書いてもこのスレ頼りにならないもの。どうせ。

591:名前は開発中のものです。
08/07/18 10:48:34 UGzqvHd8
じゃあ、最初から質問レスしなきゃいいのに


どうせ。

592:名前は開発中のものです。
08/07/18 11:27:57 8KTlYCyj
ForumのURLをはってほしかった

593:名前は開発中のものです。
08/07/20 09:22:15 ftAAg5vX
そもそもIrrとMilkのどっちのforumなんだよ
なぜ使えないって書かれてるかわからないと答えようない

それに、使えないって言ってるやつに使えるソフトを聞くと
MAYAとXSIのどっちが使いやすいかの論争になって
MAXユーザーが「昔はみんなMAX使ってたけどね」と哀愁に浸っていると
LWユーザーが「人に勧めるわけじゃないけどLW使いやすいよ」って控えめに割り込んでくる
メタセコユーザーが「メタセコで十分だよ。むしろ高額ソフト使いにくいよ」と主張し始める
そして、全員から「メタセコはアニメーションできねーよ!!」とツッコミが入り終了
涙目で作者逃亡したアニメーション作成ソフトを引き合いに出すが誰にも相手にされず。

594:名前は開発中のものです。
08/07/20 09:39:36 NEoxp7jg
落ち着けよ

595:名前は開発中のものです。
08/07/20 10:24:18 QG3DgdEh
まあ3Dソフトはそれごとに仕様が違いすぎて単純に比較する事自体無理がある

596:名前は開発中のものです。
08/07/20 14:39:34 zgBZw03q
そもそもMilkshape3Dはフォーマットのコンバートぐらいしか使い道ないだろ
個人的にはgameSpaceでもいいから市販パッケージもの使えと思うけどな(Shade以外で)
できれば最近安価になってきた4大3DCGソフトのどれかを選ぶべき

597:名前は開発中のものです。
08/07/20 16:26:03 V9aQD2R1
>>596のオススメは?

598:名前は開発中のものです。
08/07/20 17:06:23 n1XBSwxO
suretigai

599:名前は開発中のものです。
08/07/20 17:25:33 W8xdRxhe
今日のチラ裏
違う環境でモデリングして出力倍率をソフトのデフォルト値でやってしまった
お城が鶏小屋サイズ('▽'

600:名前は開発中のものです。
08/07/21 17:23:10 SToAXBSf
ボーンの子にしたモデルがぴったり追従してくれないみたいなんですがなぜでしょうか?
Forumで質問してみたけど英語が通じてないのか誰も答えてくれないw

URLリンク(irrlicht.sourceforge.net)

解決方法を知ってる人がいたら教えてください。

601:名前は開発中のものです。
08/07/21 19:22:06 FidJB4ox
>>600
現メインコーダーのHybridがレスしてくれてるぞw
要約するとこんな感じ?

>何件か報告があり、2つ程考えられる原因がある。
>詳しいことが分かるまでバグフォーラムに移すね。

602:名前は開発中のものです。
08/07/21 19:50:44 SToAXBSf
>>601
バグスレに移されたw
困ったなぁ・・・

装備アイテムにもキャラと同じ骨仕込んでモーション付けて重ね置きするしか解決法が思いつかない。
他になにかアイデアないですか。

603:名前は開発中のものです。
08/07/23 01:43:10 g3maxvXW
OGREを使ってるゲームの画像と比べてIrrlichtのはかなりクォリティ低いみたいですけど、
やっぱり向こうの方が性能いいのかなあ

604:名前は開発中のものです。
08/07/23 08:38:28 akH1GhBF
性能に差はそれほど無いと思うのだが、Irrlichtはチュートリアルのモデルが超が付くほどショボい

605:名前は開発中のものです。
08/07/23 13:50:22 mrkPJ98o
簡単なゲームを作るんだったらIrrlichtの方が楽
逆に金とれるような、規模の大きいゲームを作りたいんだったらOGREの方が楽

606:名前は開発中のものです。
08/07/23 14:12:09 iTcNFbMW
その代わり、OGREは本体とエクステンションのライセンスが複雑
本体自身がIrrlicht程自由じゃないのものね
ま、金取るゲームならライセンス料払えばいいのではないかな

607:名前は開発中のものです。
08/07/23 14:18:22 UKJLenJr
OGREはダイナミックリンクにしとけばおk
スタティックでも金はかからんよ。ソースは公開しなきゃならんけど

608:名前は開発中のものです。
08/07/23 14:26:08 iTcNFbMW
ダイナミックでもLGPLだとリバースエンジニアリングは妨げてはいけないっぽいことが
wikipediaに書いてあったけど、真相はどうなんだろ?

609:名前は開発中のものです。
08/07/23 14:27:21 OzVNaIY+
ライセンスといえばIrrlichtの方も配布の仕方がいまいち分からないんだけど
license.txtとかに
URLリンク(irrlicht.sourceforge.net)
ここの文章コピペって、
あとはソース改造してdllに変更加えた場合は
何処をいじったかchange.txtとかに適当に書いておけばいいかな?

610:名前は開発中のものです。
08/07/23 14:35:45 iTcNFbMW
>>609
Readme.txtに概要、change.txtに詳細を書けばいいと思う
後は元のソースをどこからDLすればいいかとか

611:名前は開発中のものです。
08/07/23 14:42:37 OzVNaIY+
概要って何の概要?

612:名前は開発中のものです。
08/07/23 14:54:19 qT85z1qg
>>610
>詳細を書けばいいと思う
ライセンスの問題が絡むから憶測や、曖昧さを残して
レスしては、見てる回りの人が混乱するだけですよ

613:名前は開発中のものです。
08/07/23 15:05:53 UKJLenJr
>>608
ダイナミックだと、LGPLはOGRE DLLだけで、自アプリには好きな独立してライセンスを適用できるyp

スレ違いすまん

614:名前は開発中のものです。
08/07/23 15:16:54 iTcNFbMW
>>611-612
概要ってのは、どんな目的の改造なのか

ともかく憶測ですんません
作者に直接聞いてください

615:名前は開発中のものです。
08/07/23 15:33:27 OzVNaIY+
>>614
改造の”目的”なんて全く問われてないでしょう?
なんか言葉の使い方が杜撰だと思う。

>>609
2を訳してみると、”改造した事を明示”すればいいんだと思うんだけど
それが単に”改造しましたという事実”を述べればいいのか、
あるいは”改造した内容”まで提示する必要があるのか、
その辺が分からない。

あと、3は
”この表示を消しちゃいけない”って事だと思うから
”概要”なんかじゃなくてきちんと
The Irrlicht Engine License以下を全部をコピペして貼る必要があると思うんですけど。

フォーラムにポストするにもこの辺の微妙なニュアンスを英語で書く自信がないw

616:名前は開発中のものです。
08/07/23 16:47:08 iTcNFbMW
>>615
ご立腹している理由がわからないけど、言葉遣いが不適切で申し訳ない

>あるいは”改造した内容”まで提示する必要があるのか
公開されたものをDLしてみる側としては、これがあると相違点がすぐわかって嬉しい

617:名前は開発中のものです。
08/07/23 17:07:19 1mEIYJe8
質問しといて回答の仕方にケチつけるとか阿呆にも程がある
そういうのは放置しとくに限るよ

618:名前は開発中のものです。
08/07/23 17:33:47 OzVNaIY+
>>616
>公開されたものをDLしてみる側としては、これがあると相違点がすぐわかって嬉しい

DLした人が嬉しいか嬉しくないかって問題じゃないでしょw
大は小をかねるという意味で改造の内容も書いとけば安全といえば安全なんだろけど。

>>617
むしろありがたい。
まともに回答もする気も考える気もない人間に適当な書き込みをされても
612もいうように周りが混乱するだけだから。

619:名前は開発中のものです。
08/07/24 01:09:21 HsrNUR2y
LGPLだとDLL使っても感染しないんだっけ?
「そのアプリケーションに必須の機能」の場合はDLLで外に出しても丸ごと感染するのがGPLだったと思うが。

620:名前は開発中のものです。
08/07/24 01:35:34 hR1ptHB3
上から目線の夏厨が降臨してるwww
自分の思い通りにいかないと気がすまないメンヘラみたいな野郎だ

621:名前は開発中のものです。
08/07/24 03:30:12 xNFLyC/c
更に上を行くわけですね、わかります

622:名前は開発中のものです。
08/07/24 21:52:56 eKs5QfTK
zlibはゆるい

623:名前は開発中のものです。
08/07/27 14:59:45 VW6euZzn
Irrlicht a GoGoの日本語フォント表示クラス使いたいんですけど、
1.41だとコンパイル通りません;;

どうやって改造したらよいのでしょうか?

とりあえずIUnknownは既に無くなったらしいのでIReferenceCountedに変更。
さらに純粋仮想関数化された関数を何個か再定義しつつ、
const化された関数をconst化していくと
どんどん伝播して最後にはcache関数もconst化しなければいけなくなって
この中でメンバを変更してるのでエラー。

とりあえずconstメンバ関数はメンバ変数を変更できない、ってくらいしか難しくて分かりません・・・

624:名前は開発中のものです。
08/07/27 15:07:26 VW6euZzn
うぉ、フォーラムに1.4.1対応版上げてくれてあったようです・・・
超感謝・・・

625:名前は開発中のものです。
08/08/02 23:47:01 Pnu26psa
IrrlichtML使えばいいじゃん

626:名前は開発中のものです。
08/08/03 17:31:19 uQa+vIJd
IrrlichtML導入(Irrlichtに上書き)したら、MLのサンプルIMETest.exe以外のirrlichtのサンプルHelloWorld.exe以下が全てエラーで実行できなくなりました。
どうなってるんですか?

627:名前は開発中のものです。
08/08/03 19:26:20 MvGZaNHZ
IrrlichtMLってfont->size=nで文字サイズ変更効かないんですか?

628:627
08/08/03 19:53:02 MvGZaNHZ
CGUITTFontだけ使わせてもらってるんですが、
ソースみるとsizeは中で使われてるっぽいんだけど・・・

なぜか表示サイズ変わらないです;;

629: ◆YATA/oetrw
08/08/03 20:58:57 6ok4WfcM
>>626
IMETest.exe以外は再コンパイルを

>>627
IGUIFont同様の動作をするはず
なので、別サイズを作り直してsetFontをしてください

630:名前は開発中のものです。
08/08/03 21:20:54 MvGZaNHZ
>>629
了解しますた。ありがとうございます。

631:名前は開発中のものです。
08/08/03 23:09:03 uQa+vIJd
>>626
ありがとうございました

632:名前は開発中のものです。
08/08/04 20:28:39 zIBesbiU
irrlicht lessonA02.日本語表示の最後で

1.文字を縦方向に2倍にして表示してみましょう。
2.文字を太字にして表示してみましょう。
3.影つきの文字を表示してみましょう。

という宿題があります。恥ずかしい話ですがさっぱり分かりません。

Printf(driver,0,120,0xFFFFFF00,"こんにちは");
をどうすればいいか教えてください


633:名前は開発中のものです。
08/08/04 20:29:21 zIBesbiU
あげときます

634:名前は開発中のものです。
08/08/05 19:45:45 0B8D+Y1A
>>632

Printf(IVideoDriver *driver, int x, int y, int sx, int sy, SColor color, const char *fmt, ...)

にでも改造して、

DrawImage(driver,tex,x+posx,y+posy, w,h,tx,ty,color,color,sx,sx);

呼び出しは、

Printf(driver,0,120,1,2,0xFFFFFF00,"こんにちは");

635:名前は開発中のものです。
08/08/05 19:59:40 0B8D+Y1A
>>634
追伸。
そのままだと、sxとsyに1以外を入れると隣の文字同士が重なったりするから、Printf内で posx と posy をプラスしているところを弄らないといけない。
それから、sx と sy は float形(f32)の方がいいかな。とすると、posx と posy も f32 に直すか。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4120日前に更新/299 KB
担当:undef