トップページgamedev
989コメント399KB

【3Dエンジン】Irrlicht初心者質問スレ【高速描画】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/10/05(木) 06:50:19ID:UN/zUzoQ
zlibライセンスでクロスプラットホームなゲームライブラリ、Irrlichtのスレです。

※回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近Irrlichtを始めたばかり
3.SDKを見ても、Googleで検索しても、エキサイト翻訳でもいまいち理解できない人

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「英語読め」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する人 】
・ どんな事で躓いているのか明確にする。
・ 長くならないなら躓いている部分のコードを晒してみてください。
・ 解決した場合、お礼を言うのは当然ですが、何をどうしたら解決したかを明確に書くこと。

前スレ
http://pc8.2ch.net/test/read.cgi/tech/1104179696/
0204名前は開発中のものです。2007/07/14(土) 11:39:06ID:6FF8AiM/
>>197本人ではないけれどゲムデブロダにあげなおしてみた
ttp://gamdev.org/up/img/9764.zip
0205名前は開発中のものです。2007/07/15(日) 17:05:34ID:YU7A9b2a
エラー全文です。
Please select the driver you want for this example:
(a) Direct3D 9.0c
(b) Direct3D 8.1
(c) OpenGL 1.5
(d) Software Renderer
(e) Burning's Software Renderer
(f) NullDevice
(otherKey) exit

a
Please press 'y' if you want to use high level shaders.
y
Irrlicht Engine version 1.3.1
Microsoft Windows XP Personal Service Pack 2 (Build 2600)
Using renderer: Direct3D 9.0
NVIDIA GeForce FX 5600 nv4_disp.dll 6.14.10.9371
HLSL pixel shader compilation failed:
error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upg
rade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL


HLSL pixel shader compilation failed:
error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upg
rade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL

あとは省略
02061972007/07/15(日) 17:11:27ID:YU7A9b2a
ちなみに、10.Shadersのexampleです。
setPixelShaderTextureはD3D9 HLSL用にしか作っていません。
0207名前は開発中のものです。2007/07/15(日) 18:30:05ID:YU7A9b2a
age
0208名前は開発中のものです。2007/07/15(日) 19:50:18ID:YU7A9b2a
ttp://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1238810&SiteID=1
error X3539について載っていますが・・読めねぇ!!
最初から入っているDLLだと問題おきないのに
書き換えたソースをコンパイルすると>>205のような問題がおきます。
なぜ?誰か分かる人教えてください
0209名前は開発中のものです。2007/07/15(日) 19:59:17ID:YU7A9b2a
あ、ソース中でコンパイルターゲットを
ps2_0,vs2_0にすると、普通にシェーダー有効になりますね。
でも書き換える前のソースではこんな風にならないのに・・?
本来なら書き換える前のソースでコンパイルしたDLLでも
問題が起きるはずなんですが。
0210名前は開発中のものです。2007/07/15(日) 20:56:28ID:EtuSIamm
>>208
大事な部分だろうところを訳してみた。参考にどうぞ

windozer_ wrote:
>DirectX10ではpixel shader1.xはサポートされなくなりました。
>pixel shader2.0以上のみ動作します。
>まだ古いshader modelでfxcを扱いたいなら、/LDスイッチを使用してください。
>OCT2006_d3dx9_31_x86(x64).cabをアプリケーション配布ランタイムに含める必要があります。
>ps_1_xシェーダでpxcを使うには、後方互換用に/Gecスイッチが使えます。
>このスイッチは上位pixel shaderをターゲットにするときは影響しません。
>
>Dx9とDx10の相違点:
>December 2006 SDKはDx10 HLSLコンパイラ(fxc)がデフォルトです。
>Dx9コンパイラールール(fxc.exe)で、再度コンパイルしたいアプリケーションのために
>/LDスイッチをfxc.exeで使う必要があります(これにはD3DX9_31.DLLが必要)
>Dx10 HLSLコンパイラは直接ps_1_xシェーダをサポートしません。
>ps_1_xシェーダでpxcを使うには、後方互換用に/Gecスイッチが使えます。
>このスイッチは上位pixel shaderをターゲットにするときは影響しません。
>
>Dec 2006 SDKでps3.0を使うときは(/T fx_3_0)を指定してください。

あれ、同じ事が2回書かれてる。
つまり、新しいSDKではps1.xでの開発は廃止されて、尚且つDx10では実行のみ限定サポートってこと?
ピクセルシェーダは全然分からないけど、SDKのバージョンに由来する問題じゃないのかなぁ。
0211名前は開発中のものです。2007/07/15(日) 21:21:15ID:YU7A9b2a
>>210
stubD3DXCompileShaderの処理を変えたら出なくなりました。
(flagsにD3DXSHADER_USE_LEGACY_D3DX9_31_DLLを設定)

しかし、せっかく作ったsetPixelShaderTextureは使えず・・・。
ITextureをCD3D9Textureにダイナミックキャストして、
IDirect3DDevice9::SetTextureに渡しているんですが、ここに間違いが・・?
HRESULT hr = CD3D9HLSLMaterialRenderer::pID3DDevice->SetTexture( (DWORD)hndl,
dynamic_cast<CD3D9Texture*>(texture)->getDX9Texture() );
textureはITextureです。
0212名前は開発中のものです。2007/07/15(日) 21:26:20ID:YU7A9b2a
あ、間違い発見しました
D3DXHANDLE hndl = tbl->GetConstantByName(NULL,name)
したのをなぜかDWORDにキャストして渡しています。
これがいけなかったようです。
SetTexture( tbl->GetSamplerIndex(hndl)
dynamic_cast<CD3D9Texture*>(texture)->getDX9Texture() );

やっと動いた!バンザーイ!!
・・・うpするのはまた後で。
0213名前は開発中のものです。2007/07/15(日) 21:32:50ID:YU7A9b2a
ttp://gamdev.org/up/img/9776.zip
多分書き換えたファイル全て含んでいると思いますが、もし間違っていたらごめんなさい。
0214名前は開発中のものです。2007/07/15(日) 22:09:12ID:EtuSIamm
>>213
おめでとさん!!
0215名前は開発中のものです。2007/07/15(日) 22:27:00ID:YU7A9b2a
http://gamdev.org/up/img/9777.zip

試しに使ってみました。10.Shadersのmain.cppに上書きしてください。
シェーダーの適用された箱のテクスチャが変わっているはずです。
0216名前は開発中のものです。2007/07/15(日) 22:30:44ID:YU7A9b2a
あと
・できればD3D8やOpenGLでもsetPixelShaderTextureを実装
・ボリュームテクスチャやキューブテクスチャの対応
したいんですが、難しそう・・
0217名前は開発中のものです。2007/07/18(水) 16:54:07ID:siT7N+Pd
irrlichtの3D周り以外をDXライブラリで補うことはできませんかね。
そうすれば非常に使いやすい物になりそうなんですが。
0218名前は開発中のものです。2007/07/18(水) 18:07:47ID:Kk6j5tgO
>>217
俺はそれでやってる
02192172007/07/18(水) 18:20:31ID:siT7N+Pd
>>218
SetNotWinFlagでDXの方でウィンドウを生成せずに、IrrlichtDeviceの生成をしてみたのですが、
これだとDXの2D描画機能は使えませんよね。
ここを何とかうまくいかせる方法が知りたいのですが、アドバイス頂けませんか?
0220名前は開発中のものです。2007/07/20(金) 21:47:25ID:gz816Uua
これどうやってαブレンド設定するんですか?
ピクセルシェーダーでαを0.5fにしたりしても反映されません。
0221名前は開発中のものです。2007/07/22(日) 23:24:20ID:dHNqWe5Y
IrrEditで作ったTerrainでコリジョン判定がうまくいかないっす
Demoのソースで読み込みとかcreateCollisionResponseAnimatorやってるけど
うまくいかないでっす サンプルとかないですかね。
0222名前は開発中のものです。2007/07/24(火) 16:40:21ID:GWz2iQy5
モデルに透過したテクスチャを表示したいのですがうまくいきません。

// 必要なものを用意
IrrlichtDevice *device =
createDevice( EDT_DIRECT3D9, dimension2d<s32>(800, 600), 16,
false, false, false, 0);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();

// 画像を読み込みテクスチャを透過する
ITexture* images = driver->getTexture("texture.bmp");
driver->makeColorKeyTexture(images, position2d<s32>(0, 0));

// メッシュを読み込みノードを生成しテクスチャを貼る
IAnimatedMesh* mesh = smgr->getMesh("mesh.x");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode(mesh);
node->setMaterialTexture(0, images);
node->setMaterialFlag(EMF_LIGHTING, false);

driver->draw2DImageでテクスチャが透過されていることは確認しています。
ですが、実際にはテクスチャが透過されないまま貼られてしまいます。
どこが間違っているんでしょうか・・・
0223名前は開発中のものです。2007/07/24(火) 20:23:31ID:IJhrCg6D

EMT_TRANSPARENT_ALPHA_CHANNEL
EMT_TRANSPARENT_ALPHA_CHANNEL_REF
02242222007/07/24(火) 21:45:32ID:GWz2iQy5
>>223
できました。ありがとうございます。
0225名前は開発中のものです。2007/08/17(金) 16:36:03ID:6fURu5ue
サウンド鳴らしたり、
JoyStickを使ったりキーボード同時押ししたりしたいんだけど、
どのライブラリと組み合わせるのがいいのかねえ?
やっぱSDLか。
0226名前は開発中のものです。2007/08/17(金) 21:21:07ID:JOm4yoYn
>>225
SDLがいいだろね
1.3.1からSDLスクリーンを"_IRR_USE_SDL_DEVICE_"で指定できるらしいから

- Added an SDL device for cross-platform window support. Especially useful
for embedded systems and others without hardware acceleration. This device
is mutually exclusive with the other devices and requires linking against
the SDL library.
0227名前は開発中のものです。2007/08/21(火) 13:39:32ID:6YwC5BTI
xファイルのIAnimatedMeshを複数のIAnimatedMeshSceneNodeで使ってるんですが
IAnimatedMeshXのsetCurrentAnimationを使ってアニメーションの切り替えをすると
当然ですがすべてのNodeのアニメーションが切り替わってしまいます。
メッシュ共通でノードごとに個別のアニメーションを設定したいんです。
MD2ならIAnimatedMeshSceneNode::setMD2Animation()というメソッドがあるようですが
xファイルで同様のことをするのは無理なんでしょうか。

・巨大な1つのアニメーションのみを使用しsetFrameLoopで切り分ける
・ノードごとにメッシュを持つ
以外の策はあるでしょうか。
0228名前は開発中のものです。2007/08/22(水) 01:22:32ID:01NRLC2p
似たような質問だけど、結局キャラデータ扱うとき一番いいのはなんなんだ?
.objも.xも.md2も読めるのはわかるけど、、、 Demoとか見たり、サンプルソースみるとmd2がいいのかどうなのか
0229名前は開発中のものです。2007/08/23(木) 10:20:15ID:8/SMkDSC
>>228
独自フォーマット
0230名前は開発中のものです。2007/08/23(木) 19:23:09ID:4OFxg1Qw
ライブラリとかツールとか人間とかの実力を手っ取り早く評価するには
その成果物を見ればいいってばっちゃが言ってた。

ってことで、なんかIrrlichtで作られたスゲーゲームない? 知ってたら教えてちょんまげ
(ORGEとかも見たいけどあっちのスレかな)
0231名前は開発中のものです。2007/08/23(木) 23:24:27ID:nraT72mF
>>230
ここに紹介されてる
ttp://irrlicht.sourceforge.net/screenshots-projects.html

古いの
http://www.youtube.com/watch?v=1hY70f9ex8U
最近の
http://www.youtube.com/watch?v=zY_KjT9UEz8
それとインドネシアの日本ゲー大好き兄ちゃんが作ったもの
http://www.youtube.com/watch?v=bZ-e47yRJmg
0232名前は開発中のものです。2007/08/24(金) 02:41:31ID:lkVVoHFO
このスレならどんな質問にも答えてくれるよ
http://pc11.2ch.net/test/read.cgi/avi/1102121520/
0233名前は開発中のものです。2007/08/28(火) 23:08:27ID:Ssyzhq4l
>>231
Tokusatsu Agent に、md3吹いた
0234名前は開発中のものです。2007/09/11(火) 20:37:12ID:RC31XfpB
VC6上で、STLとirrlichtを共存させた場合

std::stringと
irr:core::stringがかちあって
ビルドエラーが起きてしまうのですが、
どうすれば良いかわかりますでしょうか?

stringを使用する箇所では、全てnamespaceを入れて指定していますが、
自分が書いていない、
2つのライブラリのヘッダファイルのレベルでエラーが起こってしまいます。

以下、エラー文です。
irrlicht-1.3も試しましたが、エラーでした。

c:\vc98\include\xstring(613) : error C2955: 'string' : クラスのテンプレート名で仮引数リストの指定がありません。
c:\irrlicht-1.3.1\include\irrstring.h(817) : 'string' の宣言を確認してください。
0235名前は開発中のものです。2007/09/12(水) 01:47:37ID:8kBEhANN
>>234
1.ヘッダよりも下で基本名前空間を指定する
2.using namespace core;、using namespace std;を使わない(使うたびに指定する)

この二つに注意してもエラーになる?
少なくともvc2005では、その現象を再現できなかった
02362342007/09/12(水) 06:57:46ID:yt2vr1g+
>>235
はい、使うたびに指定していますが、なってしまいます。

同じソースをVC2003でビルドしますと、うまく通るのですが、
他に使ってるライブラリがVC6を要求していまして、
VC6でビルドしないといけないもので、どうしたものかと。。
02372342007/09/12(水) 12:00:39ID:TaH0UuNn
自己解決いたしました。
ありがとうございます。
0238名前は開発中のものです。2007/09/12(水) 12:27:50ID:8kBEhANN
>>236
それなら、考えられる対策3つほど簡単な順に。

・VC6にSP6を適用する
http://www.microsoft.com/downloads/details.aspx?FamilyID=a8494edb-2e89-4676-a16a-5c5477cb9713&displaylang=ja

・ヘッダ等をWindows Server 2003 Platform SDK February 2003 Editionにバージョンアップ(VC6.0対応は2003.02まで)
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm

・ライブラリ部分だけをDLL内部に閉じ込めて影響範囲を狭める。
やりとりはブリッジ関数をかませたりして面倒なのが欠点。

上から試して解決すればいいんだけどねぇ。
それと、運がいいとVC6でライブラリビルドしたものをvc2003以降でそのまま使えるかも。
0239名前は開発中のものです。2007/09/12(水) 12:30:31ID:8kBEhANN
>>237
おめでとう、入れ違いになった。
解決方法はどんな風に?
02402342007/09/13(木) 02:27:50ID:Vi6ngnsF
#include <irrlicht.h>
#include <string>

#include <string>
#include <irrlicht.h>
で通りました。

すみませんありがとうございましたorz
0241名前は開発中のものです。2007/09/17(月) 18:17:03ID:w4SFU02u
VisualStudio2005でlightfeatherのビルドうまくいかないけど、どうすればいいんですかね。
サンプルにあるVC6用のプロジェクトファイルだとうまくいったりいかなかったりだけど、
新たにプロジェクト作ってソースとかヘッダーいれるだけだとうまくいかないです。
0242名前は開発中のものです。2007/09/17(月) 20:45:49ID:dcjZVnkb
lightfeatherはいじってないからわかんない
あれってまだIrrlichtの名残りある?
本家よりも拡張されてるようだけど、動作不安定で俺のところは落ちるよ
0243名前は開発中のものです。2007/09/18(火) 02:25:01ID:7EBKJzTE
lightfeatherは、デモが落ちまくるから信頼性なしw
0244名前は開発中のものです。2007/09/19(水) 17:41:58ID:+A3proP+
Irrlichtはあるのかしらん?
そろそろエンジンに頼らないとやってられなくなってきた。
0245名前は開発中のものです。2007/09/19(水) 19:16:55ID:RUbs+riS
>>244
あるのかしら、とは信頼性のこと?
レンダリングの挙動がおかしい場合もあるけど
少なくともエラー落ちはないに等しい
0246名前は開発中のものです。2007/09/22(土) 13:44:43ID:a9XL70nj
DX10にはいつ対応するのかしらん
0247名前は開発中のものです。2007/09/28(金) 22:18:30ID:J7/3w0px
自分でドライバ書けば
0248名前は開発中のものです。2007/09/29(土) 00:45:20ID:hb9qADnP
>>247
ごもっとも過ぎるw

DX10でしか実現できない機能を実装する段階にならないと対応はないんじゃないかな?
つまり当分先な気がす
0249名前は開発中のものです。2007/09/29(土) 06:30:01ID:7kgtZ9g6
10.0で何が出来るのかさ知らないがwwwww
0250名前は開発中のものです。2007/09/29(土) 08:55:07ID:6wJlaFYW
Vista対応w
0251名前は開発中のものです。2007/09/29(土) 08:57:22ID:PKANHVaL
ドライバ書けって何のドライバ書けばいいのさ
0252名前は開発中のものです。2007/09/29(土) 10:06:15ID:UnzWy8dg
ソースみて自分で学べ
0253名前は開発中のものです。2007/09/30(日) 18:44:07ID:sFU/qm7G
ドライバじゃねがっす
DX10のラッパーと言うべきか
DX9だってエミュレーションだけどVistaで動くしな〜
0254名前は開発中のものです。2007/10/01(月) 18:29:07ID:nK/QuGDo
>>253
Irrlichtのローカル用語でそういうのをドライバというのさ

1.CD3D9*系のモジュール(全部で7つ、必要なら増やせ)をDX10対応に書き換えて、
CD3D10*系モジュールを作る
2.CIrrDeviceWin32,cppをいじって、新しく作ったモジュールに対応できるようにする。

これだけだ、がんがれw
0255名前は開発中のものです。2007/10/01(月) 21:52:00ID:VPa19YHN
RADIANCEフォーマット(.hdr)の画像書き込み/読み込みクラスを作って
次にfloatのテクスチャを作れるようにしようとしたんですが
DirectX9では出来たものの、OpenGLでは知識が無くて苦戦・・
0256名前は開発中のものです。2007/10/01(月) 22:13:48ID:l2LADDgi
質問だが、自作ゲームが微エロゲーになってしまったんで、
18禁の定義を診断してくれないだろうか、セーフなら15禁、アウトなら18禁って事で。

問題1:
イタイケなおにゃの子が、淫魔に追っかけられるクロックタワーのパロゲー。
捕まるとハァハァされる、絵による描写は無く台詞のみ。

問題2:淫語使いまくり、顔グラに汁グラあり。
0257名前は開発中のものです。2007/10/01(月) 22:17:10ID:bT+F18r8
18斤

でも、すれ違い
ほかのところでやるべし
0258名前は開発中のものです。2007/10/01(月) 22:34:55ID:l2LADDgi
>>257
了解、回答ありがとう。
…と、言われたものの、他ねぇ。
0259名前は開発中のものです。2007/10/01(月) 22:49:35ID:l2LADDgi
って、今更気づいたが、
ここ質問スレは質問スレでも、スレ立てスレじゃない!?
やっべ、なんという誤爆!スレ汚しマジすまん!



でも回答サンクスコ(´・ω・`)
0260名前は開発中のものです。2007/10/04(木) 23:49:59ID:XO6lWepS
視野角90度で平行投影したいんですがどうすれば
ある一点からキューブマップをレンダリングしたいです。
0261名前は開発中のものです。2007/10/05(金) 10:17:02ID:IKhaq7cZ
>>260
ほれ

http://www.irrlicht3d.org/wiki/index.php?n=Main.IsometricProjectionByJohnFredCee

ヒント:buildProjectionMatrixOrthoLH

公式のOrthgonalチュートリアル貼ろうと思ったらリンク切れてたしw
0262名前は開発中のものです。2007/10/05(金) 23:17:03ID:5WSrAfdX
>>261
トンクスです。
この関数は知っていましたが使い方が分かりませんでした
0263名前は開発中のものです。2007/10/06(土) 12:26:08ID:Iq/e+TZM
1.4betaなんて出てたのね
0264名前は開発中のものです。2007/10/06(土) 21:22:18ID:OSyH3sfK
うん。
ただし、まだまだ作業中みたい
今のうちに不具合報告すれば即直してくれそうだなぁ

ところで、IGUIFileOpenDialogって
Unicodeとマルチバイト、どっちでコンパイルしても
日本語は文字化けするよね?
0265名前は開発中のものです。2007/10/06(土) 22:27:35ID:QRh8Z4nZ
>>264
Gogoのzgock氏が公式フォーラムにパッチ投げてくれてる。
で、MadHyde氏のIrrlichtML(Truetype組込版)はそのへんマージ済

ttp://etwas.wolfish.org/Irrlicht/irrlichtml.html
02662642007/10/07(日) 01:13:43ID:IkjREsJq
>>265
うぁ、実はそのMadHyde本人です
本家のみの使用で解決してる人はいるのか気になって聞いてみた次第

せめて表示だけは文字化けしないように
zgock氏のマルチバイト変換コードを
オフィシャルでマージしてもらえるようにレポートしてみる
0267名前は開発中のものです。2007/10/07(日) 13:50:19ID:f6k7egVq
>>266
てら乙
Gogoのzgock氏、どうもご本人の興味がIrrlichtから
CG/Poserとかの方にいっちゃったみたいで、
(メッシュファイル関連でPoserに手出してたからそっちが楽しくなっちゃったんだろね)
そっちの世界でセルシェーダのプラグイン書いたりがんがっておられるようです。

MadHyde氏が日本語関連の砦です。
がんがってくだされ
0268名前は開発中のものです。2007/10/08(月) 10:26:52ID:bWH+igss
質問よろしいですか
まだ導入もしていないのだけれども、Irrlicht SDK 1.2は安定版ですよね
プログラムの偶数バージョンは安定版のはずだけど自信がなくて…
0269名前は開発中のものです。2007/10/08(月) 10:50:26ID:o9MbTnSi
え、そんな法則あったんですか?
linuxkernelがそうであることは知っているけど、、、
0270名前は開発中のものです。2007/10/08(月) 11:16:37ID:YblPsSas
linuxというか、un*x系の流儀で、そういうルール使う場合もしばしばある(FreeBSDなんかもそう)が、
Irrlichtの場合あまり関係ない
ので、安心して1.3使ったがいい
0271名前は開発中のものです。2007/10/08(月) 12:00:58ID:bWH+igss
回答サンクス!安心して1.3を導入します
0272名前は開発中のものです。2007/10/09(火) 16:22:23ID:bAtjWg0O
Lunaとどっちが凄いの?
ボーン取得して動かせる事できる?
xファイル読み込める?
当たり判定ある?
0273名前は開発中のものです。2007/10/09(火) 16:27:38ID:saf09NRl
>>272
目指してる方向性が違うのでどっちが凄いかは決められない
ボーン取得はできる
xファイルは読めるし、それ以外の対応フォーマット多彩
コリジョンはある
0274名前は開発中のものです。2007/10/09(火) 19:38:30ID:biTCbtf6
>272 3Dマップ(bspやirrなど)を使うなら、無料ライブラリではたぶんIrrlichtが最強最速。
ただし日本語関連が非公式頼り(>264-266)なのと、
2D描画機能が最低限なのがネックか。
スケールや回転を行いたいだけでも3Dが必要になる。
あとは、言うまでもなく日本語資料の少なさ。
英語資料を含めても意外と抜けが多く、3Dマップやmd2以外のモデルの使い方は不足気味。

Lunaはドキュメント不足気味で、取っつきにくい。3Dライブラリなのにチュートリアルに3Dがないし。
Lunaのおおよその機能は次世代たるSeleneに移植されていて、そちらのほうが資料面ではマシ。
Seleneはまだメジャーリリース前なので、どうしても機能や関連ツール群で劣る。
Irrlichtに比較して、シーン構築やGUI部品がまだ実装されていない。
ただし2D描画機能はちゃんと積んでいる。代表的完成品「トラブル☆ウィッチーズ」が2DSTGだし。
あとは、独自モデルなのはともかく、モデルの作成ツールがやや使いづらいのがネック。
(テクスチャマップ貼り付けがあるのに削除がなかったり、そもそも貼り付けられているか分からない)
0275名前は開発中のものです。2007/10/10(水) 20:54:11ID:c3o/pV+/
お前ら、Irrlichtと組み合わせで、お勧めのサウンドライブラリを教えて下さい。

やっぱり、irrKlangになるんだろうか・・・
0276名前は開発中のものです。2007/10/11(木) 23:17:17ID:WfkI6oI+
サウンドはOpenALで適当に作ったな
0277名前は開発中のものです。2007/10/11(木) 23:59:19ID:3R315KwB
irrKlangはIrrlichtとコーディングスタイルが似てて使いやすいかもね
Audiereもおぬぬめ
ttp://audiere.sourceforge.net/
0278名前は開発中のものです。2007/10/12(金) 00:46:18ID:s8TbIxv0
AudiereはIrrKlangが出来る前まではIrrlichtDemoの中で使われてたからな
0279名前は開発中のものです。2007/10/12(金) 13:58:24ID:PIfwULpF
>>276
dクス

・IrrKlang
 フリー利用はフリー、商用は、有償。
 マルチプラットフォーム。
 3DSound、エフェクトに対応。ループポイント指定不可。
 簡単そう。
・Audiere
 LGPL。
 マルチプラットフォームっぽい。
 Java、Pythonバインディング有り。
 サンプルアプリでは、ループポイント指定可能のようだ。
 簡単そう。
・OpenAL
 LGPL。
 DirectSound並に低レベル。
・SDL_Mixer
 LGPL。
 簡単そう。

という感じでしょうか。

私的には、LGPLが許せば、Audiereがよさげだな・・・

一回、wikiにでも、まとめておいた方がいいですね。
これ以上は、ライブラリスレに行った方がいいか。
0280名前は開発中のものです。2007/10/13(土) 02:05:03ID:HyccwUSY
なんかこのスレって割と経験者の集まりだな
超初心者スレはないのか・・・
0281名前は開発中のものです。2007/10/13(土) 02:09:08ID:oaqS3f97
>>280
別に超初心者な質問しても誰も怒らないと思うぞ、
ただでさえ過疎スレなのに、さらに分家しても意味ない。
0282名前は開発中のものです。2007/10/13(土) 02:13:29ID:HyccwUSY
そうか。ありがとう
といってもまだ今日始めたばかりなんだ
もしつまづいたら聞くかも知れないので、その時は暇だったら教えてください
0283名前は開発中のものです。2007/10/13(土) 08:25:21ID:dBFGuNg7
>>282
おぅ、がんばれー
0284名前は開発中のものです。2007/10/14(日) 13:37:57ID:5IQh9etz
サンプルirrファイルを使ってコリジョン判定をやってみようかと思ったんですが、
createOctTreeTriangleSelectorだとメッシュとシーンノードの取得の方法が
わかりません。どうしたらいいのでしょうか。
0285名前は開発中のものです。2007/10/14(日) 15:40:55ID:lMM34/uL
シーンノードの「取得」ってのが意味不明なので・・・
軽くエスパーしてみる

TriangleSelectorは基本的に一つのシーンノードに対しての
コリジョン判定器だから、
複数のノードに対してTriangleSelectorつかうなら、
その数だけTriangleSelectorを用意することになる。
自前でコリジョン判定するなら、
TriangleSelectorのgetTrianglesメソッドで、
レイなりバウンディングボックスなりとのコリジョンをとればいいから
(Triangleが存在する=コリジョンしてるということ)
当たりを取りたいノード分だけぶん回せばいい

そうじゃなく、createCollisionResponseAnimatorで複数のノードに反応したいということなら、
CMetaTriangleSelectorを使う
0286名前は開発中のものです。2007/10/14(日) 16:23:52ID:5IQh9etz
えーと、その前の事で、

IrrlichtDevice *device = createDevice(略);
devive->loadScene("terrain.irr");

とシーンファイル読み込むとマップモデルが表示されるのですが、ここから
createTriangleSelectorに指定するノードとメッシュをどうやって取得すれば良いのかが分からないのです。
0287名前は開発中のものです。2007/10/15(月) 00:32:46ID:Alx2212L
>>286
おk把握w
.irrのシーンファイルは、ただのxmlで、
開くと中に普通にメッシュとかのロード指示が入ってる。
サンプルのexample.irrだと、
部屋のメッシュとしてroom.3dsを読み込んでいることがわかる。
なので、こいつのNameフィールドにしかるべきvalueを与えて、
(IrrEditで開いて、Name付けても可)
getSceneNodeFromName()で持って来ればいい。
つか、TriangleSelector関係ねーじゃんw
0288名前は開発中のものです。2007/10/15(月) 02:05:29ID:H/ew0wXN
モデラーというか、最終的にirrlichtに読み込ませるファイルはみんな何で作ってる?
色々試したけど、xファイルはmilkshapeで作ったのじゃないと上手く読めない感じ・・・
md2は作りにくいし・・・
結局Irrlicht A GoGoの作り方のとおりにやるのが一番簡単なのかな
0289名前は開発中のものです。2007/10/15(月) 21:13:59ID:Alx2212L
>>288
xファイルについてなら、ここ見てみた?
ttp://lesson.ifdef.jp/
0290名前は開発中のものです。2007/10/15(月) 23:00:37ID:RgsypFFj
>>287
できました。ありがとうございます。
0291名前は開発中のものです。2007/10/15(月) 23:15:22ID:5mOqSGG2
VC2005EEで
IRR_USE_SDL_DEVICEつけてコンパイルする方法が分かりません・・。
SDL.libとSDLmain.libを追加の依存ライブラリに設定しましたが
最後にリンカエラーが出ます。
しかも、どうやったらSDLの命令を使ったり出来るのかもわかりません。
0292名前は開発中のものです。2007/10/16(火) 01:50:36ID:JzrpuxP2
>>291
どんなエラーか詳しく。
ってか、IRR_USE_SDL_DEVICEは、
どっちかっつーとMacであるとかその他組込系とかのために、
3DエンジンをSDL管理下に投げるためにあるわけだが、
何がしたいん?
0293lesson.ifdef.jp2007/10/17(水) 00:35:48ID:MD/R4l7g
>>264 MadHydeさん
IGUIFileOpenDialogでだけ?格納されている文字列が
おかしくなっているのを確認しました。
以下に、例をあげてみます。

「終了」という名のファイルがあったとします。
WCHARで示すと 8F 49 97 B9となります。
しかし、IGUIFileOpenDialogでは8FFF 4900 97FF B9FFとなっています。
(1バイト文字だけの時は問題なく、2バイト文字がまざるとなります。)

FFを省けば問題なく日本語の表示が可能です。
(ファイル名で半角カナも混ざっている場合があるので
 全角文字に変換するか、半角カナも表示する機能も必要になります。)

ここにサンプルを載せてありますので、良かったらどうぞ。
http://lesson.ifdef.jp/A03.html
http://lesson.ifdef.jp/file/a03.zip
0294名前は開発中のものです。2007/10/17(水) 01:48:53ID:gpaUcF8i
>>291
うちでIrrlichtMLのIMETEST.exe上で動作確認してみた。
別に「終了」というファイル名も、
「終了テスト」という半角カナ交じりのファイル名も
問題なく表示できたけどなあ?
WindowsXPSP2/Windows2000SP4上で確認
0295名前は開発中のものです。2007/10/17(水) 01:58:45ID:gpaUcF8i
連投ごめん
もし、オリジナルのIrrlichtでそういう問題があるという指摘だったら、
上記のように既にzgock/MadHyde両氏で対策済だから、
別に騒がなくてもいいと思
0296lesson.ifdef.jp2007/10/17(水) 02:45:21ID:MD/R4l7g
>>294 ID:gpaUcF8iさん

MadHydeさんが「本家のみで解決できてるか」との質問を出していたので
本家ではどうなているか調べてみました。
>>264
>>265
>>266
>本家のみの使用で解決してる人はいるのか気になって聞いてみた次第

本家だけを使用した場合は、1ステップが必要になる(バグの可能性がある)。
現在Irrlichtが1.4へバージョンアップ中のため、この内容を伝えれば
修正をしてくれるかも? ということかと思います。
そして、さらに「どうせならマルチバイト変換コードもオフィシャルに」
と、伝えるつもりなのかと思って、私なりに調査・報告したまでです。

「本家で確認しました」というコメントが抜けていてすみませんでした。
0297名前は開発中のものです。2007/10/17(水) 03:00:46ID:gpaUcF8i
>>296
了解了解。それなら納得です。

ただ、wcstombs関連の扱いについては、
提示していただいたサンプルだと、
1.setLocale()をJapanese決めうちしちゃってる
2.IrrMLの処理に比べて冗長
な気がするんで、
zgock/MadHyde氏版の処理の方がスマートな気はする。
0298lesson.ifdef.jp2007/10/17(水) 03:26:50ID:MD/R4l7g
>>296 ID:gpaUcF8iさん
遅くまでお疲れ様です。

マルチバイト文字を変換する方法としては
確かにMadHydeさんのものより長くなっております。
ですので、私のサンプルはまだまだ改善するべきかもしれません。
※Irrlichtで用意してあるGUIがマルチバイト文字必須なので
 仕方なく使用している感じです。

現在はマルチバイト文字は使用していないので、
http://lesson.ifdef.jp/A02.html
で示すPrintfだけで日本語が表示可能になっています。
0299MadHyde2007/10/17(水) 06:49:29ID:lb1CWKLF
>>293-298
Irr Lessonさんを紹介する記事をアップした矢先に中の人が降臨なさっている!
しかも、熱い討論が交わされているとは。
お二方、遅くまで乙です。

>>266を訊いてみたのは、コアハックをせずとも
エクステンションパックのような形で日本語対応できれば
利用しやすく保守が確実なものができるのではないかと考えているからです。
(ただし、他の言語圏でも有用なコードは、なるべくマージしてもらおうと言う試み)

今週中は時間取るのが難しいですが、なんとか提示頂いたサンプルを見て
最適な実装方法とは何かを検討してみようと思います。

ところで、lessonさんのお名前を伺ってもよろしいでしょうか?
サイトでの紹介には、やはり執筆者のお名前を添えたいので。
0300MadHyde2007/10/17(水) 07:11:32ID:lb1CWKLF
コンタクトフォームからも連絡が来てた。
返信しておきましたm(_ _)m
0301名前は開発中のものです。2007/10/17(水) 22:09:06ID:JMcE+2Z1
>>292
自己解決しました。
CIrrDeviceSDL.cppと同.hが何故かプロジェクトに入っていませんでした。

>どっちかっつーとMacであるとかその他組込系とかのために、
>3DエンジンをSDL管理下に投げるためにあるわけだが、
>何がしたいん?

複数キー同時押しとか、ジョイスティック使用とかです。

CCameraSceneNodeって、setRotationで角度指定できないんですね・・。
0302名前は開発中のものです。2007/10/18(木) 01:38:13ID:QBfYpW0R
>>301
描画にSDL使わないんなら、
CIrrDeviceSDLを使い必要はないはずなんだがな・・・
単純にリンクできたはず。
0303lesson.ifdef.jp2007/10/18(木) 21:12:13ID:ttH8nhVa
>>301 さん
そのままでは回転できないので、カメラとは別にノードを作成し
ISceneNode *cameraMan;//カメラマンを用意
それを親とするカメラを作成してみて下さい。
カメラマンを動かすことで、カメラも一緒に動くことが可能です。

もう少しスマートに動かせたら楽なんですけども
一応上記の方法で可能です。
0304lesson.ifdef.jp2007/10/18(木) 21:21:43ID:ttH8nhVa
>>299 MadHydeさん
お返事ありがとうございます、必要事項は返信しておきました。
先日の確認はver1.3.1を使用しましたので、
時間があれば1.4Βでも確認してみたいと思います。

2バイト文字対応に関しては、私のサンプルでは日本語だけですが
irrlichtMLでは日本語以外も対応しているので、
標準機能になると心強いですね。
なんとか、頑張って欲しいものです。
■ このスレッドは過去ログ倉庫に格納されています