トップページ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/
0739名前は開発中のものです。2009/01/17(土) 17:48:32ID:yGPU7swR
Visual C++ 2008EEでデバッグ開始コマンドからビルドして実行するとうまくウィンドウが
立ち上がりゲームが動くのに、その後、出力された実行ファイルから起動しようとすると
「問題が発生したため、1stIrrlicht.exe を終了します。 ご不便をおかけして申し訳ありません。」
って出て強制終了されるんですけど、どうしてですか
0740名前は開発中のものです。2009/01/17(土) 18:04:03ID:yGPU7swR
解決しますた
0741名前は開発中のものです。2009/01/17(土) 18:27:24ID:JxxGO0sa
DLLってみんな何処に置いてる?
0742名前は開発中のものです。2009/01/17(土) 20:51:34ID:2PJ4/yoK
膝の上
0743名前は開発中のものです。2009/01/18(日) 01:34:46ID:dulsH/UM
>>741
開発機ではIrrlichtのbinディレクトリに環境変数でPATH切ってる
0744名前は開発中のものです。2009/01/18(日) 04:24:15ID:SNlaeLd5
たとえば、1面から2面に以降するときのシーンのリセットでどうやるの?
最初から1,2面のリソース全部読んでおいてノードだけ消すの?
それとも、シーンを破棄・生成しなおすの?

後者だとエラー起きるんだけど・・・
07457102009/01/18(日) 22:23:37ID:w6uQu1u7
なぜかGLだとポスターフレームが出なかったり
一時停止中にシークすると正しい場所の画像が出なかったりします。
・・まだGLの対応は不完全でした。

何故なんでしょう?CImageに反転した画像を入れて
glTexSubImage2Dすると
テクスチャに直接書き込めるDirect3DやBurning'sVideo
より遅くなるのが、何か関係しているのでしょうか。

>>738
確かに対応しておきたいところです。
でもffmpegの他にも乱立していてどれにすべきか迷います。
07467102009/01/18(日) 22:55:13ID:w6uQu1u7
ttp://uproda.2ch-library.com/src/lib093103.zip.shtml
PBOに対応しようとしましたが失敗しました・・
FPSもあがると思ったのに。
テクスチャが3/4ぐらいしか使われていません。
ttp://wiki.livedoor.jp/mikk_ni3_92/d/PixelBufferObject

Driver->extGlBufferData(GL_PIXEL_UNPACK_BUFFER_ARB, 0,
NULL, GL_DYNAMIC_DRAW_ARB);

glMapBufferARBを呼ぶ前にNULLポインタでglBufferDataを呼べ
と上のURLに書いてありますがやったらアプリケーションが
落ちました。
0747名前は開発中のものです。2009/01/19(月) 00:14:47ID:/hAZzN2J
Irrlicht使ってるけどML版作ってるひとありがとう。すごく助かってる。
0748名前は開発中のものです。2009/01/19(月) 20:02:42ID:/hAZzN2J
irrlichtの静的リンクってどうやるのでしょうか?
0749名前は開発中のものです。2009/01/19(月) 20:44:45ID:y3tA2i/i
>>748
もしVCを使っているなら、source\Irrlichtのプロジェクトファイル(ex. Irrlicht9.0.vcproj)を開いてごらん
1.5からはRelease、Debugと並んでStatic libが選べる
Static libを選んでリコンパイルすれば、静的ライブラリの出来上がり
以後はそれをリンクすればおk
0750名前は開発中のものです。2009/01/19(月) 23:29:31ID:/hAZzN2J
あーなるほど!理解できました!ありがとうございます!
07517102009/01/20(火) 22:03:32ID:NRdPFAc+
//if (Driver->Version > 101)
// PixelType=GL_UNSIGNED_INT_8_8_8_8_REV;
何でか分かりませんが、COpenGLTexture.cppの
この部分をコメントアウトすると速くなりました!
(ECOLOR_FORMATがECF_A8R8G8B8のとき、OpenGLのPixelTypeを
GL_UNSIGNED_BYTEにする)
720x480の動画でもビデオのFPSが30になるようになりました。

http://uproda.2ch-library.com/src/lib093854.zip.shtml
07527102009/01/20(火) 23:10:21ID:NRdPFAc+
まだ
・ファイルによっては正常にシークできない(違うところにシークする)
・GLだとポスターフレームが表示されない
・GLだと一時停止時にシークしたときに画像が更新されないか
違うところの画像が表示される

等の不具合を残しています。まだまだ問題は山積みです・・。

動画をテクスチャにレンダリングする機能ってどんな使い道が
考えられるでしょうか?
0753名前は開発中のものです。2009/01/20(火) 23:15:33ID:sLt/OsE0
使い道も分からずに一か月も何やってんのお前頭おかしいんじゃないの?と思ったが、
とりあえず3Dモデリングした各種モニタ類の表示に使える。TVとか電光掲示板とか。
0754名前は開発中のものです。2009/01/21(水) 08:44:54ID:b4uHzUkn
なにこれ
ファイル選択画面でCPU使用率100%とかふざけてんの?
0755名前は開発中のものです。2009/01/21(水) 08:48:45ID:d16xRujn
>>754
たぶんおまいさんのメインループの書き方に問題がある。
チュートリアルのメインループとかはそういうこと考慮していないから、
メインループにSleep(0)とかいれてみ。
0756名前は開発中のものです。2009/01/22(木) 00:38:43ID:gWDPAEFx
1.5のlwoの読み込みでメッシュ表示を試してみたが、どうもポリゴンの裏表が逆になっているようなのだが気のせい?

textureファイル名を絶対パスで指定していると死ぬ orz
モデル側を直せばいいのかもしれないが、何か良い方法はないものか。
0757名前は開発中のものです。2009/01/24(土) 00:10:05ID:8pul47RA
Sleep(0)だとCPU使用率100%のままだろ
1以上じゃないと
0758名前は開発中のものです。2009/01/24(土) 01:00:24ID:7x2MqZ+J
あの、Irrlichtのノードクラスなどのremove,drop,gradの違いってなんでしょうか?
動作させてもエラー起きてよくわかりません。

あとメッシュはノードが利用中は削除できない?

しかし、irrlichtは使いやすい。便利だ。ありがたや、
0759名前は開発中のものです。2009/01/24(土) 01:32:01ID:7x2MqZ+J
ああ、自己解決しました。

node->grab();
node->drop();

と、呼べばエラー起きなかった。すいませんでした。
0760名前は開発中のものです。2009/01/24(土) 20:52:10ID:7x2MqZ+J
http://chris.j.mash.googlepages.com/irrphysx
このirrphysx使ってる人います?
0761名前は開発中のものです。2009/01/24(土) 22:32:33ID:7x2MqZ+J
ちなみに機能は

・DirectX9/OpenGL切り替え
・HGIMG3程度の移動・回転・描画
・リソースの共有自動管理
 ・HGIMG3のリソース共有をさらに進歩させて自動で同じものを使う
・自動で地面・キャラ・オブジェクトのコリジョン処理
 ・コリジョンはOBB〜円など
・Bullet物理エンジンによる物理処理
・xfileによるアニメーション
 ・影
 ・フォグ
・HSP用にDLL化

が、今できてるとこ。
まだやりたいことあるから次のHSPのバージョン出るころ狙ってる。
0762名前は開発中のものです。2009/01/24(土) 22:33:35ID:7x2MqZ+J
誤爆・・・orz
0763名前は開発中のものです。2009/01/24(土) 22:57:32ID:7x2MqZ+J
新しいirrの情報サイト発見、載せとく
ttp://柊つかさ.jp/wiki/index.php?title=Irrlicht
0764名前は開発中のものです。2009/01/25(日) 22:25:33ID:jW6fSNqp
処理の遅れにかかわらず
1コマずつ進めるのってどうするんですか?
device->getTimer()->stop();
int frameCounter = 0;
while(device->run)
{
...
device->getTimer()->setTime(frameCounter * 16.666666f);
frameCounter++;
...
}
みたいにしてみましたが、stopしてしまったせいか
シーンノードにRotationAnimator設定しているのに動きません。
どうすればいいですか?
0765名前は開発中のものです。2009/01/26(月) 00:29:31ID:1iFFYXhs
realtime()ではじまりと終わり取得して、差分だけSleepじゃだめ?
(コマの意味が分からないから的外れな回答かもしれないけど)

int _fps = 60;

// タイム開始
timeBegin = device->getTimer()->getRealTime();

(処理)

// タイム終了
timeEnd = device->getTimer()->getRealTime();

// タイム差
timeCount = timeEnd-timeBegin;
timeSec = (1000/_fps )-timeCount;

// もし待機時間がプラスなら
// 待機
if ( timeSec > 0 ) {
Sleep( timeSec );
}

とかで_fpsで指定したフレーム/秒を維持させてカウントじゃだめ?
0766名前は開発中のものです。2009/01/26(月) 02:52:25ID:6Wqz3VFh
>>765
その方法だと、60フレーム固定にはならないね。

0767名前は開発中のものです。2009/01/26(月) 06:34:46ID:1iFFYXhs
まじで?この方法でgetFPS()で60って出てたからいいのかと思ってた。
あとどうやるんだろ。
0768名前は開発中のものです。2009/01/26(月) 08:44:42ID:6yTEP1R4
ん〜、というかね、sleepってそういう使い方しない方がいいね。
どれだけ止まるかわからないコードを組み込むとデッドロックになる可能性がある。
winの場合特に。
0769名前は開発中のものです。2009/01/26(月) 18:50:51ID:1iFFYXhs
つまり、待機幅を16ms以上いかないようにするとかってこと?
プログラムは難しいね。
0770名前は開発中のものです。2009/01/26(月) 21:51:56ID:1iFFYXhs
自分の環境だけかもしれないけど。
DirectionalLightは座標無効・光源ベクトル有効のはずが座標必須・ベクトル無効になってる。
逆にPointLightは座標必須なのに座標動かない。

今のところ、カメラの視線上(radius分)に平行光源を座標移動させると通常のDirectionaLight動作になってる。
光源周りの実装が不安定?

0771名前は開発中のものです。2009/01/27(火) 02:22:16ID:xmRAMtaz
>>769
いや16msで終わらないときの動作がバラバラになる。
よほど古い環境を使ってなければ対処は不要かもしれないけれど
古い環境でもそれなりに遊べるようにするにはキー入力を含めた
内部的な処理と描画は分けて考えたほうがいいと思う
0772名前は開発中のものです。2009/01/27(火) 19:19:29ID:xhf1lpaD
そうか、単に待機だけじゃなくて描画コストとかも視野にいれなくちゃだめか。
今FPSについて調べたら描画飛ばしてた、ありがとう。
07737642009/01/27(火) 21:58:40ID:kWYCqtij
タイマーを手動で進めたいだけなんです・・・
(連番BMP出力が出来るように)
setTimerの後にtickを呼んだりしてみましたが、やっぱりシーンノードのアニメータが
動きません。
0774名前は開発中のものです。2009/01/27(火) 23:41:01ID:xhf1lpaD
dispatchとか送ったりじゃだめなの?
0775名前は開発中のものです。2009/01/28(水) 00:07:10ID:JeeNdE6V
OnAnimate と os::TImer 周りをちょろっと見てみたが、
とりあえず stopTimer() しておけば、getTimer() 時には
setTimer() した値がそのまま流れるから、>>764
アニメーションできそうだけどなあー(1.5 で確認した限り)。

とりあえず、device 作ったらすぐに stopTimer() して、
setTimer(0) したあとに、各種 node を add するようにしてみると
どうだろうか?
07767642009/01/29(木) 21:43:37ID:3EGnGNZl
あれ、いろいろやっていたらちゃんと動きました・・・
何でさっき動かなかったんだろ?
stopとsetTimeだけでOKでした。
0777名前は開発中のものです。2009/02/02(月) 01:28:09ID:KbId8Vyo
irrEditのFogって何処で指定するんですか?
デフォルトで色は白みたいですが。
0778名前は開発中のものです。2009/02/02(月) 05:50:39ID:aYp0krC2
>>777
君はラッキーだ!とてもラッキーだ!
それはまるで青い鳥に逢えた兄弟のように!
さて質問だが知らない
0779名前は開発中のものです。2009/02/06(金) 01:32:14ID:9Imz+9bB
シェーダーを使ってみたい
でも、分からないいいサイトとかサンプルないでしょうか?
0780名前は開発中のものです。2009/02/07(土) 00:59:24ID:XPy8bQ1y
irrlicht1ヶ月目でやっと特殊な地面・壁判定できた。
ちょっと拡張したことやろうとすると日本語の情報まったく無いねー。
(チュートリアルの翻訳とかばっかり?)

本家のAPIリファレンスでクラス追って翻訳繰り返すしかないか。
調べたことサイト載せたいけど維持できる自信ねー。長い戦いだぜ。
0781名前は開発中のものです。2009/02/07(土) 09:56:25ID:ScHW0xDd
ぜひ、そのノウハウをブログに書いてくれ
0782名前は開発中のものです。2009/02/07(土) 13:28:50ID:lKasty/T
がらんどう状態の翻訳wikiがテンプレに載ってるんだからそっちに書いてくれよ
0783名前は開発中のものです。2009/02/07(土) 15:43:46ID:XPy8bQ1y
気が向いたら書いてみる
0784名前は開発中のものです。2009/02/07(土) 23:24:51ID:XPy8bQ1y
質問

http://www.irrlicht3d.org/wiki/index.php?n=Main.HowToUseTheNewAnimationSystem
wikiのTransitionsをモーション補間だと思ってるんだけど合ってる?

翻訳してコーディング試したけどブレンドしないね。
既存のモーションの先頭に追加の場合 = モーションが動作してない

// モーション関係
node->setTransitionTime( 15 );
node->animateJoints();
node->setAnimationSpeed( 15 );
 ・・・ 以後、ループなどの設定で描画

この関数は呼び出すタイミングとか必要?
0785名前は開発中のものです。2009/02/09(月) 19:54:49ID:Y2SoBYRA
あ、分かった ありがとう
0786名前は開発中のものです。2009/02/10(火) 12:30:16ID:/MJN1cDT
解決法書けよ
0787名前は開発中のものです。2009/02/12(木) 05:41:09ID:1p75ZWmt
785じゃないけど、こうかな?

モデル読み込んでるとこで、

model->setAnimationSpeed(30);
model->setFrameLoop(0, 60);
node->setTransitionTime( 15 );

ループで、

while(device->run())
{
model->animateJoints();

// biginScene〜endScene
}

ソフトウェアでボーン処理(1.4.2)してるから結構重いと思われ。
モレは、通常は
setJointMode( EJUOR_NONE );
で、ブレンディングが必要なタイミングだけ、
setJointMode( EJUOR_CONTROL );
して、ループで
animateJoints();
するようにして、なんとか凌いでる…。

ところで、まだ1.4.2なんだが、1.5は安定してる?
changes.txt見ると、魅力的な機能やらfixやらがあるんだが、
1.4.1→1.4.2でxの読み込みが超バグって泣かされたんで、躊躇してる…。
0788名前は開発中のものです。2009/02/12(木) 19:54:21ID:z0e2gKlB
1.5普通に使えてるよ。オヌヌメ。
0789名前は開発中のものです。2009/02/12(木) 20:30:40ID:1p75ZWmt
>>788
おk、煎ってくる
0790名前は開発中のものです。2009/02/13(金) 09:37:35ID:V2MX8176
セレクター部分が良く分からないんだけど

IAnimatedMesh で読み込んで IAnimatedMeshSceneNode で描画ノード作る。
判定用に ISceneNode で同じメッシュデータから ITriangleSelector を作る。
そうすると ISceneNode と IAnimatedMeshSceneNode の2つ描画されちゃうよね。

こーゆー場合はどうすればいいの?
理想は1つのNodeで両方管理したい。
0791名前は開発中のものです。2009/02/14(土) 00:03:47ID:xrAfzk3Z
>>790
IAnimetedMeshの親はIMesh
IAnimatedMeshSceneNode の親はISecenNode

http://irrlicht.sourceforge.net/docu/classirr_1_1scene_1_1_i_animated_mesh.html
http://irrlicht.sourceforge.net/docu/classirr_1_1scene_1_1_i_scene_node.html

http://irrlicht.sourceforge.net/docu/classirr_1_1scene_1_1_i_scene_manager.html#266625379b1558e9be1dc062ea4e71f7
を使えば 上記2つから作れるんじゃないかな?
もう少し詳しいひと補間よろ
0792名前は開発中のものです。2009/02/14(土) 01:33:42ID:GNk4XXfi
IrrlichtMLの中の人も見ているらしいので、質問させてください。

IrrlichtML1.5のビルドで、「Release - Fast FPU」の時だけ、

1>------ ビルド開始: プロジェクト: Irrlicht, 構成: Release - Fast FPU Win32 ------
1>リンクしています...
1> ライブラリ ..\..\lib\Win32-visualstudio\Irrlicht.lib とオブジェクト ..\..\lib\Win32-visualstudio\Irrlicht.exp を作成中
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_Done_Face@4" は未解決です。
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_Init_FreeType@4" は未解決です。
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_Load_Glyph@12" は未解決です。
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_Done_FreeType@4" は未解決です。
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_New_Face@16" は未解決です。
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_Get_Char_Index@8" は未解決です。
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_Render_Glyph@8" は未解決です。
1>CGUITTFont.obj : error LNK2001: 外部シンボル "@FT_Set_Pixel_Sizes@12" は未解決です。
1>..\..\bin\Win32-visualstudio\Irrlicht.dll : fatal error LNK1120: 外部参照 8 が未解決です。

というリンクエラーが出ます。
他の構成だとエラーおきずにちゃんとlib/dllが作られます。
FreeTypeのビルドで何か特別な設定とかいるのでしょうか?

ビルド環境は、

VS2008SP1
DirectX November 2008
Vista(32bit)

です。
0793名前は開発中のものです。2009/02/14(土) 02:34:45ID:GXRpJZjr
787
1.4.2→1.5
う〜ん。結構変わってるね。
Mayaスタイルのカメラの初期位置指定ができなくなった
カメラの移動速度単位が変わった
string型に直接イコール演算子でs32とかf32とかを代入できなくなった
setRotationは、現在からの相対角度ではなくて絶対角度を入れる仕様になった

bool HardwareSkinning;
の実装が待ち遠しいぜ
0794 ◆YATA/oetrw 2009/02/14(土) 17:22:54ID:doIyOwPB
>>792
エラーの原因は「Release - Fast FPU」の呼び出し規約が__cdeclから__fastcallに変更されているからです。
スタティックライブラリだと問題ないのが不思議。

対策は2つ。
1つ目はIrrlicht側の呼び出し規約だけ__cdeclに戻す方法。
2つ目はFreetypeの呼び出し規約を__fastcallに変更する方法。

後者のほうが速度的には最適だと思われるためファイル一式にまとめてみました。
動作確認をしていないので、動くかどうか報告お願いします。
ttp://etwas.wolfish.org/files/IrrlichtML-1.5-FastFPUModTEST.zip
0795名前は開発中のものです。2009/02/15(日) 22:12:45ID:lvPVKAdJ
>>794
なるほど……呼び出し規約とは気付きませんでした。

ビルドは通り、サンプルのIMETestの動作は確認しました。
Irrlichtは、ごく最近サンプルを読みながら勉強し始めた所なので
それ以上の動作確認はできていません。

対応ありがとうございます。
0796名前は開発中のものです。2009/02/16(月) 12:33:55ID:e7/u8sva
久しぶりに有意義な書き込みが増えたね
0797名前は開発中のものです。2009/02/16(月) 22:38:12ID:j0MqxWkl
文字描画はなんとかしてくんないか?
それさえありゃ、使い物になったのに
0798名前は開発中のものです。2009/02/16(月) 23:46:47ID:rBU4Xntr
MLつかった?あっちは文字つかえなかったけ?
0799名前は開発中のものです。2009/02/17(火) 00:13:02ID:RDK28y0e
>>791
出来ました!ありがとうございます!
普通に

ITriangleSelector Selector = this->Core->Scene->createTriangleSelector( Mesh, Node );
Node->setTriangleSelector( Selector );
Selector->drop();

で出来ました!
OBBとか以前レスあったようなのですが、使いたいのにソースDLできません><
どなたか分かる方いませんか
0800名前は開発中のものです。2009/02/20(金) 20:30:27ID:3qadtHxy
irrPhysxの作者に1.5対応してくれない?ってメール送ったら対応してくれた
一応報告
0801名前は開発中のものです。2009/02/24(火) 23:32:26ID:0RewKqWh
SDLからキー入力が奪えない・・・
ジョイスティックは取得できてるからレシーバー継承して書くしかないのだろうか・・・
なんかスマートじゃない実装で欝だわー
0802名前は開発中のものです。2009/02/25(水) 18:00:38ID:cuEKcEeQ
併用する時点でスマートじゃない気がするが
0803名前は開発中のものです。2009/02/25(水) 18:11:24ID:MKsiDZl8
どうすればいいぬかーーーーーーづけ!!
0804名前は開発中のものです。2009/02/28(土) 00:15:08ID:PWBt4IjE
おま!irrlichtにもジョイスティックのイベントあるじゃないか!
なぜ教えてくれなかった!

> event.JoystickEvent

しかし、イベントが50ms毎とかなのか検出にムラがあるな・・・
0805名前は開発中のものです。2009/02/28(土) 03:49:36ID:PWBt4IjE
なんとかirrlichtだけでキーボードのpress,down,up,releaseの4つ取得と
ジョイスティック使えるようにできた・・・ながいなー
0806名前は開発中のものです。2009/03/01(日) 13:12:49ID:ISZp42BO
ビルボードのUVの変え方貼り逃げ

vector2df UVCount, UVSize, UVScale, UVFrame;

// UVの縦横のコマ個数を保存
UVCount = vector2df( 4, 4 );
//UVの縦横の現在のコマを保存
UVFrame = vector2df( 0, 0 );

// 1つあたりのサイズ取得
UVSize.X = Texture->getOriginalSize().Width/UVCount.X;
UVSize.Y = Texture->getOriginalSize().Height/UVCount.Y;
// スケール比
UVScale.X = 1.0f/UVCount.X;
UVScale.Y = 1.0f/UVCount.Y;
// リソースサイズ取得
f32 sizeW = Texture->getOriginalSize().Width;
f32 sizeH = Texture->getOriginalSize().Height;
//
matrix4 mat;
// UV変更
mat = Node->getMaterial( 0 ).getTextureMatrix( 0 ).buildTextureTransform( 0.0f, vector2df( 0.0f ), vector2df( UVSize.X*UVFrame.X, UVSize.Y*UVFrame.Y ), vector2df( UVScale.X, UVScale.Y ) );
// マテリアル再設定
Node->getMaterial( 0 ).setTextureMatrix( 0, mat );
0807名前は開発中のものです。2009/03/14(土) 14:43:49ID:MYdApQq5
ジョイスティックイベントってずいぶん簡素な感じだけど
イベント起こるたびに使ってるキーの状態取るように自前で書いてねってこと?
0808名前は開発中のものです。2009/03/15(日) 10:05:04ID:acZCrlw8
Rockdebone2で作ったXファイル、読めはすれども動かん……。
他人様がBlenderで作ったらしい奴はちゃんと動くんだが。
0809名前は開発中のものです。2009/03/15(日) 21:31:22ID:I1rvJPrN
イルリヒトレッスンに正常に読めるように直すやり方が書いてあるけど
0810名前は開発中のものです。2009/03/18(水) 12:41:59ID:O/5piR/c
>>809
情報thx。

Meshviewerで再保存したら普通に読めた。
0811名前は開発中のものです。2009/03/22(日) 23:27:46ID:CBvGJds+
頂点数20,000ぐらいのモーション付きxファイルを動かそうとしているのですが、処理が重くて詰まってます。

irrlicht → ver 1.3

exampleの01.HelloWorld → 40fps前後
上記を自前のxファイルに差し替え → 1〜2fps

・そもそもそんな頂点数は無謀?
・PCスペックをどうにかしないと厳しい?
0812名前は開発中のものです。2009/03/23(月) 21:43:43ID:XcDakVO9
>irrlicht → ver 1.3
なぜ最新版を使わない!(現在1.5
あと01.HelloWorldはレンダラーがソフトウェアになっていたと思うけど
EDT_DIRECT3D9かEDT_OPENGLにした方が・・

・そもそもそんな頂点数は無謀?
そんな事無い。2万ぐらい普通。・・多分。
・PCスペックをどうにかしないと厳しい?
スペック見ないとわかんない
0813名前は開発中のものです。2009/03/23(月) 21:47:29ID:XcDakVO9
ageとく
0814名前は開発中のものです。2009/03/24(火) 00:00:53ID:EA/4/CJa
EDT_DIRECT3D9にしてみたところ、30fpsぐらいになりました。

これで行けそうな気がしたので現段階では十分です。
頂点数による比較やバージョンによる比較は別途やってみます。
(1.5にすると早くなるのでしょうか)

ありがとうございました。
0815名前は開発中のものです。2009/03/24(火) 21:23:24ID:gs9CpZfM
>>814

http://www.realintegrity.net/~irr/index.php?News
・頂点バッファオブジェクト (GPU上にメッシュを保存するなど)
とか
>>736とか

1.3→1.5への移行ってそんなに大変か
0816名前は開発中のものです。2009/03/24(火) 21:28:58ID:gs9CpZfM
バグフィックスも多いからアップデートしたほうがいいのでは。
0817名前は開発中のものです。2009/03/24(火) 21:51:14ID:qkIry6qe
細かいところでAPI仕様が変わりまくるから、思いっきり作りこんでるときはアップデートNGだけどね
試しに使っている分には最新版がよかろう
0818名前は開発中のものです。2009/03/24(火) 23:39:11ID:fefIo8eu
漏れの場合はバグ潰しの切のいいとこで移行するのが自然かな
バグ潰しと仕様変更の同時進行なんて考えただけで死ねる
0819名前は開発中のものです。2009/04/17(金) 23:45:16ID:T51/DXpG
あげ
0820名前は開発中のものです。2009/05/01(金) 15:14:35ID:FdqGkXmG
面数が70000とかのメッシュでポリが半分くらい消えます
GPUの限界なのか頂点数や面数の16ビット制限なのかよくわかりませんが
面数20000のメッシュを4個表示するなら欠けが出ないので分割する事にし
2DマップエディタのcsvからXYZ反映したポリ生成してUV割当し任意数に分割とかmqo出力するツールをちょこっと作りました
最初は読み込んだモデルに問題があるのかと思って調べたり
irrlichtが1.5から32ビットメッシュ(頂点数だと思うんですが)に対応と書かれてるから大丈夫なのかと思って試してみたり
svnリポジトリで1.6取ってきて試すと頂点数?が16ビット超えてる的なメッセージが新たに出るようになっててダメなのか使えるのかどっちだー!?と悩んでみたり
そもそもソース見ると16bitしか使えないようにenum値を固定的に返してるように見えたり頭こんがらがりましたが
mqoのフォーマットを理解するいい機会になりましたしデカイマップ用のツールもできて無駄にはならなかったようなそうでもないような
何が言いたいかというと、疲れた、おやすみなさいorz
0821名前は開発中のものです。2009/05/02(土) 22:02:50ID:O/fjO5Vy
>そもそもソース見ると16bitしか使えないようにenum値を固定的に返してるように見えたり頭こんがらがりましたが
32bitの頂点インデックス使いたいなら
32bitのインデックスを使うCMeshBufferを自作すればいいんじゃない。
(最初から含まれてはいない?)

1.5で
SSharedMeshBufferというクラス(構造体?)があるのを知ったが
なぜか実装されていないメソッドがたくさんあった。
仕方なくCMeshBufferから移してきたけどなんで実装されてないの?
0822名前は開発中のものです。2009/05/02(土) 22:26:30ID:O/fjO5Vy
MikuMikuDanceのPMDファイル読み込むCPMDMeshFileLoader作った
http://www.77c.org/d.php?f=nk7142.zip

・・のだけど、MeshBufferのマテリアルのDiffuseColor
に設定しても面の色が黒いままのはなぜ?
EmissiveColor二設定すると反映されるけど・・
これは自己照明だから使うべきではない気がする
0823名前は開発中のものです。2009/05/03(日) 00:07:18ID:rlwz5c0a
age
08248222009/05/04(月) 17:27:55ID:MvR/yAW0
頂点色で表示されているみたい・・
ならDiffuseColorには何の意味が?
08258222009/05/10(日) 21:59:15ID:o8OHU3+s
どうやらディフューズ色に頂点色を使うかマテリアルのDiffuseColorを使うか
指定するための機能が無いみたい・・。
PMDを表示するにはスキンメッシュを扱う機能が必要だけど
Irrlichtのはハードウェアスキニングに対応していなくて遅いようだ。
ブレンドの重みが頂点配列じゃなくて別の配列に設定するようになってるけど
これじゃハードウェアスキニングできないじゃん・・
0826名前は開発中のものです。2009/05/11(月) 13:55:48ID:hDDgNhJJ
テクスチャのUVの仕方分からんのだけど・・・
0827名前は開発中のものです。2009/05/12(火) 21:25:44ID:bOT4f8ce
>>826

何をしようとしているの?その書き方だと分からん
0828名前は開発中のものです。2009/05/12(火) 23:05:33ID:V8xdT15e
3DモデルのBillbordクラスのテクスチャをUVさせたい
UVの分割とかの設定はできてるんだけど移動ができない

上に出てた通り書いてみたんだけど・・・
0829名前は開発中のものです。2009/05/12(火) 23:07:46ID:HTyyPayL
UVさせたいってどういうことなのか全然わかりません。
0830名前は開発中のものです。2009/05/12(火) 23:12:53ID:SJexRbIJ
このコピペ思い出した。

俺は初めて彼女とMMXした。
「もうそろそろiiyama? 君のI/ODATAを確かめたいんだ。XT」
MITSUMIあうと、彼女のMECはALBATRONとしていた。
緊張した俺は焦り彼女のソケット478をAOpenしようとした。
「ちょ、ちょっとRADEON!何をSis」もう俺は既にエレコム。
Sound Blasterのホックを外すとはちきれそうなPioneerがBarracuda
でもBIOSTARは意外と玄人志向だった。
「恥ずかしいわ。あまりミネベア・・・」
SCSIをTORICAるとKEIANをSOLTEKした痕がアルファデータ。
あそこはSUPERMICROだった。OMEGAドライバも少し鼻についた。
しかし、彼女のCREATIVEを刺激しつつ俺のセレロンを
彼女のSerial-ATAからASUSに這わせると、「FireWire〜ン」
「もう、ATI」「COREGA欲しいんだろ?」「早くリテール」
俺は激しくTSUKUMO。「インテルはいってるっ!IEEE!1394!」
「あぁ・・・もうDell!」
0831名前は開発中のものです。2009/05/12(火) 23:48:33ID:bOT4f8ce
>3DモデルのBillbord
CBillboardSceneNodeのこと?
(シーンマネージャのaddBillboardSceneNodeで使えるやつ)

UVの値を変えてテクスチャがスクロールしているように見せたいなら
ソースのCBillboardSceneNodeをいじって
OnRegisterSceneNode()にアニメーションする処理を追加すればいいんじゃない。
ビルボード表示に使われるデータはverticesというメンバに入ってるから
これのUV値を変えれば
0832名前は開発中のものです。2009/05/13(水) 00:20:59ID:+zsp8toq
あ、あ、最近3D離れてたら用語の使い方勘違いしてた
UVを移動させたいだった
 
>>831
ありがとうございます、了解です、試してみます
0833名前は開発中のものです。2009/05/13(水) 00:26:13ID:Sa6EJgpo
                _. -‐"^`'ー 、
            |ヽ-<        ヽ_
         ー-ァ{」_. \         'ー、_
        ,-ゝ"    `ー`            Z
        (    、__            rlii;;;{ヾ=,}
        {_    }`ッ-、-、  、_   ,r=、 `ー、) |!
         (_ ('t__`!.f.、 ; ``!ソ }テ"`! ';ト-- 、}
     ク   └`- `-} ヾ'  ``    !‘.... ν
   ク チ       ヽ ..ノ   .ィ ,.;;;iiii|||||||)
   チ  ュ         `-、/,,!ii||||||||||||||i、_
    ュ              ィii||||||||||||||!!'''" }
     (( ●          `|||||||!'''" _... `;
     _..., /           /|||!'"// _.. ` 、
   _..f ./!、 ● ))      /l||!'/ --==  ̄ /
   _i l_/_. ×         i i|!〃..-- 、、_  /
  (└ィニ、_/- !r;;、       l i!' ,;ii||||||||||||||||iii;ソ
   ×/``ニ`ヾ!||||i;、,,..   ,ィ!ニヾ!!|||||||||||||||||||!'
  / し="   `ーィi|||||i;,、<〃!、ヽ 〉||||||||||||||||/
  / / (/、  /||||||||||||||||ii;;;i、ソ||||||||||||||||/
   /  ヽ-'ー"T||||||||||||||||||||||||||||||||||||||||||/
          ``'''〃||||||||||||||||||||||||||||||/{_
             `''''〃==ミ;|||||||||||||/ii;、ヽ、_
0834名前は開発中のものです。2009/05/13(水) 08:06:32ID:fO/NJ9WT
OnAnimate() が悲しそうな目でこちらを見ています
0835名前は開発中のものです。2009/05/13(水) 08:27:14ID:+zsp8toq
どういうことかね 言ってみたまえ
0836名前は開発中のものです。2009/06/09(火) 22:41:53ID:3tYaXLEU
1.6まだー?ハードウェアスキニングは?
0837名前は開発中のものです。2009/06/10(水) 02:50:43ID:CFjwkZ3/
最近、SVNコミットの勢いが落ち気味だったのでなんとも
0838名前は開発中のものです。2009/06/10(水) 09:15:58ID:6Nbj1qJv
>>836
どうせ現バージョンでも使いこなしてないんだろ?
フィードバックもする気のない癖に次バージョン強請んなよ
■ このスレッドは過去ログ倉庫に格納されています