【3Dエンジン】Irrlicht初心者質問スレ【高速描画】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/10/05(木) 06:50:19ID:UN/zUzoQ※回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近Irrlichtを始めたばかり
3.SDKを見ても、Googleで検索しても、エキサイト翻訳でもいまいち理解できない人
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「英語読め」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する人 】
・ どんな事で躓いているのか明確にする。
・ 長くならないなら躓いている部分のコードを晒してみてください。
・ 解決した場合、お礼を言うのは当然ですが、何をどうしたら解決したかを明確に書くこと。
前スレ
http://pc8.2ch.net/test/read.cgi/tech/1104179696/
0498441
2008/04/20(日) 20:58:58ID:A28b/pa+を読んでみる事にします。
0499441
2008/04/20(日) 21:02:14ID:A28b/pa+Cache-Efficient Layouts of Bounding Volume Hierarchies
です。果たして実装できるのだろうか?
ttp://gamma.cs.unc.edu/COLBVH/
ttp://lucille.atso-net.jp/blog/?p=177
ttp://lucille.atso-net.jp/wiki/index.php?%B6%F5%B4%D6%A5%C7%A1%BC%A5%BF%B9%BD%C2%A4
0500470
2008/04/26(土) 22:21:42ID:LvlHrFkO自前で描画できれば最高ですね。
実力不足でシーンノードを利用するというのが本音です。
できればオブジェクトは統一的に管理したいので
OnRegisterSceneNodeを呼ぶタイミングを操作する手もあるかもしれません。
これならIrrlichtを修正する必要はないですしね。
色々と検討してみます。
0502lesson.ifdef.jp
2008/04/27(日) 23:35:33ID:RbWzqJOX最初から読み込めるモデルファイルに
http://www.counter-strike-dl.com/cs-skins.html
で公開されている武器やキャラクターモデルを使用できるようになります
(ここでは、Counter-Strike 1.6のモデルに対応しています)
MD2に比べて、モデルのクオリティが上がっているのでなかなかよさげです
また時間があればSourceやHL2にも対応してみたいと思います
こちらでソースと実行ファイルを公開しました
http://lesson.ifdef.jp/
>441
BVHは詳しくないですが、基本的にはIrrlichtで用意されている
ITriangleSelectorを使用しています
もしかしたら、こちらの方が参考にしやすいかもしれません
(Irrlichtのソースはかなり見やすい方なのでおすすめです)
>470
シーンノードを使用するとrender()が呼ばれない場合が発生してしまいます
自分の記述ミスなのか、内部のミスなのかは不明ですが
ここも何か関係しているのかもしれません
この場合の無理やりな対策方法としてOnRegisterSceneNode()内で
render()を呼び出すことで何とか回避可能です
自力の描画はモデル等ではなく空間上のスプライト(画像)関連で
使用しています
これであれば、特に描画に苦しむことなく対処可能かと思います
drawIndexedTriangleFan/drawIndexedTriangleListを呼べばいいので
挑戦したくなったときにでも見てみるとよいかもです
(DirectXやOpenGLと記述方法が同じなので、そちらで勉強するのもアリです)
0503名前は開発中のものです。
2008/04/30(水) 19:11:34ID:lXj3d1Z3Irrlicht-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は一体何ですか?後で妖精ノードが追加されているけどそれとは違いますよね。
0504名前は開発中のものです。
2008/04/30(水) 19:12:19ID:lXj3d1Z3scene::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を作り、これと壁との衝突を判定しているとうことでいいですか?
0505名前は開発中のものです。
2008/05/01(木) 04:56:34ID:CPjy9vH/地面や壁をAnimatedMeshを元にOctTree方式でシーンノードとして生成してる。
その後、q3nodeを通して生成したシーンノード(壁)を移動させたり
衝突判定オブジェクトを各作成したりしてます。
>>504
Yes
0506名前は開発中のものです。
2008/05/01(木) 17:53:06ID:2ANReaIH壁がありましたね。学習がはかどりました
0507名前は開発中のものです。
2008/05/17(土) 23:39:10ID:hnGWnyu0こんなのが発足した模様です。
0508名前は開発中のものです。
2008/05/18(日) 00:30:20ID:4fpjGLSXでも、まだ再稼動したばかりなので様子見…
Irrlichtは基本機能のみのリリースで
irrExtから必要な拡張機能をチョイスする使い方を想定してるっぽい
フォーラムからエクステンションを発掘してくる時間を、これで節約できればいいな、と
0509名前は開発中のものです。
2008/05/27(火) 19:26:56ID:aolezDeLGtkRadiantでマップを作ると、商用目的での利用は不可と知ったんですが、
商用目的でゲームを作成する場合、どうしたら良いのでしょうか?
bsp以外の形式では駄目なんですよね?
0510lesson.ifdef.jp
2008/05/27(火) 19:58:58ID:Ku435Aae参考になればですが
「Valve Hammer Editor」というものもあります
GtkRadiant同様にbspファイルを作成可能ですので
こちらを調べてみてはどうでしょう
bspにこだわらなければxファイルでマップを作成することも可能です
0511名前は開発中のものです。
2008/05/27(火) 22:57:58ID:aolezDeLおお!即答どうもです。
特にbspにはこだわってません。xファイルでもいけるのかぁ。
Valve Hammer Editorもこれから調べてみます。
0512名前は開発中のものです。
2008/06/03(火) 21:34:28ID:M+I6OwABTopPage - game-develop.com wiki
http://wiki.game-develop.com/
GameDevWikiを何とかするスレ
http://pc11.2ch.net/test/read.cgi/gamedev/1156117275/
0513名前は開発中のものです。
2008/06/03(火) 22:12:48ID:ioTO156UIrrlichtはいろんなメッシュの形式をサポートしています。
そしてIrrlicht Wikiにはいろんなマップエディタへのリンクがあります。
0514名前は開発中のものです。
2008/06/11(水) 23:35:53ID:2R3HrNSv0515名前は開発中のものです。
2008/06/16(月) 22:49:04ID:mwennFf6DirectXSDKは、最新バージョンを入れておく必要がありますか?
0516名前は開発中のものです。
2008/06/17(火) 00:08:09ID:ED7pbxcnランタイムだけ最新のものにしておけば大丈夫です
0517名前は開発中のものです。
2008/06/17(火) 11:35:23ID:61jTsrvQLNK4075: /EDITANDCONTINUE は /INCREMENTAL:NO の指定によって無視されます
デバッグオプションに、/ZI が指定されていたので、/Z7 に変更したら警告は回避されましたが、
この回避方法で問題ないでしょうか?
0518名前は開発中のものです。
2008/06/18(水) 22:42:17ID:VmSvuPuh使えばいいのでしょうか?
ヘルプで探しましたが、それらしい命令が見つかりませんでした。
0519名前は開発中のものです。
2008/06/19(木) 12:39:05ID:9n9YiRNSフォーラムくらい調べたらどうだ?
0520名前は開発中のものです。
2008/06/20(金) 22:09:58ID:tu1r3q9tDirectXには専用の読み込み命令があるからできるけど、これにはないっぽいし。
テクスチャなら load>lock とかのファイルP取得で可能。
バイナリ形式のXにはIrrlicht自体対応していないから、別のフォーマットを
リソースにするのがよいかと。
0521名前は開発中のものです。
2008/06/20(金) 23:43:18ID:qP/MJpm6ファイルクラスにリソースから読み込めるようなコードをかけばいけそうだが面倒だろうね
標準機能ではファイルシステムとZIPファイルからのみ
0522名前は開発中のものです。
2008/06/21(土) 22:38:51ID:RLcQR90a0523名前は開発中のものです。
2008/06/21(土) 23:10:22ID:r8z/kdJT0524名前は開発中のものです。
2008/06/22(日) 05:02:30ID:XhnKslKnttp://irrlicht.sourceforge.net/docu/classirr_1_1_i_timer.html#_details
0525522
2008/06/24(火) 23:04:11ID:WZc05MQe0526名前は開発中のものです。
2008/06/24(火) 23:15:25ID:NpZv7yBS0527名前は開発中のものです。
2008/06/24(火) 23:41:55ID:3dzGCyOtITimerで満足できないと他に手段がないような…
Windows上ではWinAPIのメディアタイマーを使って、理論上は高精度な時間を取得してるよ
IrrlichtDevice *irrdevice;
u32 milliseconds;
irrdevice = CreateDevice(...);
milliseconds = IrrlichtDevice->getTimer->getRealTime();
>>526の言うように1000.0で割れば1秒未満は小数点以下になるのだが
0528名前は開発中のものです。
2008/06/24(火) 23:43:27ID:3dzGCyOt変数間違えた
milliseconds = irrdevice->getTimer->getRealTime();
0529名前は開発中のものです。
2008/06/25(水) 02:27:18ID:BgXBw7cf0531名前は開発中のものです。
2008/06/26(木) 00:24:03ID:VosWmIAS0532名前は開発中のものです。
2008/06/26(木) 00:35:55ID:6P5ToaRh0533名前は開発中のものです。
2008/07/03(木) 19:23:03ID:2Vc3TCLMirr::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線に最も近いノードを返し、当たっているか否かは関知しないといことですか?
0534名前は開発中のものです。
2008/07/03(木) 20:15:58ID:aTMEusjJ0535名前は開発中のものです。
2008/07/03(木) 21:29:57ID:j83D325dいやいや、>>534も言ってるように、Ray直線上の物体で一番手前のものを返すってこと
言い換えるとRayが当たっているものの中で一番近いノード
0536名前は開発中のものです。
2008/07/04(金) 01:01:03ID:Nuwyr8lGだから「which collides with the ray」かつ「nearest to ray.start」なんだろ
説明読めば、答えがまんま書いてあるぞって言いたかっただけだよ
0537名前は開発中のものです。
2008/07/04(金) 01:02:27ID:Nuwyr8lGあ、すまん何をとちったか補足に煽り入れちまったwww俺m9(^Д^)プギャー
>>535さんごめんね、そして補足ありがトン
0538名前は開発中のものです。
2008/07/04(金) 01:04:11ID:58m11+HLそれと
getSceneNodeFromRayBB ( core::line3d< f32 > ray,
s32 idBitMask = 0,
bool bNoDebugObjects = false
)
idBitMaskはいったい何のことですか?お願いします
0539名前は開発中のものです。
2008/07/04(金) 02:33:32ID:FKcMRpjl衝突判定先SceneNodeのidを選別するためのマスク
id AND idBitMask = 0ではないNodeだけがRay判定対象
対象Nodeには予め自分で好きな値を定義しておくれ
0540名前は開発中のものです。
2008/07/04(金) 14:00:28ID:m932bkDc搭載GUI の外観ショボいから自前のを使いたいんですが
サンプルなどを見たところ
Winのメッセージプロシジャのループみたいなのも
全部隠蔽されちゃってるっぽいのですが。
0541名前は開発中のものです。
2008/07/04(金) 14:45:08ID:m932bkDchttp://www.realintegrity.net/~irr/index.php?Tutorial%2014.Win32%20window
0542名前は開発中のものです。
2008/07/04(金) 15:51:38ID:m932bkDcVisualStudio2005 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;
}
0543名前は開発中のものです。
2008/07/04(金) 16:44:31ID:m932bkDcDLL作るのってSDKに入ってるプロジェクトをそのままビルドしたら
いいんですかね?
なんかコンパイルは通りましたが何処にもDLLができてません><;
プロジェクトの構成もdllになってるようですけど、やり方があるんでしょうか?
0544名前は開発中のものです。
2008/07/04(金) 16:51:38ID:m932bkDc0545名前は開発中のものです。
2008/07/04(金) 17:19:59ID:h5ni90+90546名前は開発中のものです。
2008/07/04(金) 18:19:35ID:FKcMRpjlDLLなんてプリコンパイルされてるのがあるんだから、それを使えばいいじゃない
メッセージのコールバックはDevice->run()を自分で処理すればおk
以上終了
0547名前は開発中のものです。
2008/07/04(金) 19:35:40ID:58m11+HLありがとうございました
0548名前は開発中のものです。
2008/07/04(金) 20:10:39ID:Nuwyr8lGいえいえ、どういたしまして。
0549名前は開発中のものです。
2008/07/05(土) 17:38:38ID:DHgfPhX0テクスチャを何層か重ねて描画したいんですけど
ITerrainSceneNodeでそういうのってできますか?
------ 花カラー
****** 花アルファ
------ 草カラー
****** 草アルファ
------ 土カラー
0550名前は開発中のものです。
2008/07/06(日) 07:55:11ID:IqMgGGcDy
/
/
/
------→x
U
U
↓
z
0551名前は開発中のものです。
2008/07/06(日) 09:56:54ID:IqMgGGcDごめん。
0552名前は開発中のものです。
2008/07/08(火) 18:39:07ID:MJ51wxLdユーザーにデータ丸出しにするのは抵抗があるんだけど・・・
DXDの3DXLoadMeshFromXInMemoryみたいな
メモリ上に展開したデータから読み込む関数はないですよね?
なにか方法はないでしょうか?
0553名前は開発中のものです。
2008/07/08(火) 22:36:05ID:ELir2XE9irr::io::IFileSystemのcreateMemoryReadFileでいけるんじゃない?
メモリ上のデータをファイルのように扱える関数と思われる。
0554名前は開発中のものです。
2008/07/08(火) 22:37:04ID:ELir2XE9知らなかった・・
0555名前は開発中のものです。
2008/07/08(火) 23:03:37ID:gy2iNnClゆっくりダウンロードしていってね。1.4.1はバグフィックスメインだよ。
・COLLADA1.3ローダーの改善。Milkshape1.8形式、拡張.3ds、.obj、
マイクロソフト.xファイルアニメーションプレイバックのサポートや改善。
・OSXでX11追加。
・いくつかの速度最適化
・たくさんのバグフィックス、API拡張、および他の小さな改善。
irrchilit1.4.1と100%互換の新しいirrEditをリリースしました。IrrEditはIrrlicht用でフリーの3Dシーンエディタです。
詳細は更新履歴を見てください。
0556名前は開発中のものです。
2008/07/08(火) 23:59:47ID:JhsSynUi気づくの遅ーよwww
>>552
ファイルシステムは自前のアルゴリズムのものを読み込ませられなかったっけ?
0557名前は開発中のものです。
2008/07/09(水) 05:49:19ID:yHOeFPG0マニュアルみたら、なにやら「内部関数だから使わないでくれ」と・・・
>>556
>ファイルシステムは自前のアルゴリズムのものを読み込ませられなかったっけ?
もう少し具体的に教えてもらえないでしょうか。
どういうことかいまいち分かんないです。
あくまでファイルのパースやメッシュ・ボーンの構築とかはirrlichtに任せたいんです。
そこまで自前でやるとしたらこれ使う意味がかなり無くなりますし・・・
0558名前は開発中のものです。
2008/07/09(水) 15:41:36ID:T43bLGu50559名前は開発中のものです。
2008/07/09(水) 22:40:05ID:SF8ehHxO0560名前は開発中のものです。
2008/07/09(水) 22:45:22ID:SDEdX/tX0561名前は開発中のものです。
2008/07/09(水) 22:54:37ID:DBg69Y8l05621
2008/07/09(水) 23:22:05ID:2Ro0RYQH前スレが埋まらないのは大きな誤算でした。
>>557
>>553のやり方ならこれは?
ttp://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=21289
0563名前は開発中のものです。
2008/07/10(木) 05:03:35ID:W/0efpFGありがとう。丁度それを調べてて、その辺が落としどころかなと思った。
0564553
2008/07/10(木) 21:53:53ID:Ji3rYPpZ>マニュアルみたら、なにやら「内部関数だから使わないでくれ」と・・・
・・・そんな事書いていないけど?
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.
0565名前は開発中のものです。
2008/07/10(木) 21:58:59ID:W/0efpFGすまそ。
irr::io::createMemoryReadFile の方を見てたw
0566名前は開発中のものです。
2008/07/12(土) 15:03:40ID:Mi2YO7SP#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ファイル自体は動くので問題はそれだけだと思います。
0567名前は開発中のものです。
2008/07/12(土) 15:27:54ID:ffOHtAdUttp://www.newtondynamics.com/downloads.html
0568名前は開発中のものです。
2008/07/12(土) 16:56:53ID:Mi2YO7SPそれ入れて再コンパイルしたらエラー警告の嵐。別の使います
0569名前は開発中のものです。
2008/07/13(日) 16:36:30ID:Gix+c9ikたとえば、同じモデルデータならそこから参照するとかの最適化は実装されてない?
調べればいいんだろうけどDLしてないからさ・・・
0570名前は開発中のものです。
2008/07/13(日) 17:23:39ID:4McjhppB0571名前は開発中のものです。
2008/07/13(日) 17:36:49ID:Gix+c9ik0572名前は開発中のものです。
2008/07/13(日) 19:03:54ID:b/sDRfyPとなるとモデルの最適化も確認できないしこの話題はこれでもう終わりか。
0573名前は開発中のものです。
2008/07/13(日) 19:08:08ID:Gix+c9ikけど、DLするための手が折れたからDLできない。
0574名前は開発中のものです。
2008/07/13(日) 21:03:55ID:pMB423a90575名前は開発中のものです。
2008/07/13(日) 21:35:54ID:M1BsVdsc俺が確認してやるよ
0576名前は開発中のものです。
2008/07/13(日) 22:07:31ID:Gix+c9ikじゃないと今度は心が折れそうです。
0577名前は開発中のものです。
2008/07/13(日) 22:58:45ID:M1BsVdsc黙って待ってろ
0578名前は開発中のものです。
2008/07/13(日) 23:17:10ID:Gix+c9ik0579名前は開発中のものです。
2008/07/13(日) 23:25:44ID:M1BsVdscいいな
0580名前は開発中のものです。
2008/07/14(月) 00:17:00ID:n7MzDU6p0581名前は開発中のものです。
2008/07/14(月) 00:22:26ID:t4sVOdei他の奴らは普通に話進めてくれや
0582名前は開発中のものです。
2008/07/14(月) 18:37:37ID:NUWzYR3F0583名前は開発中のものです。
2008/07/14(月) 18:48:05ID:n7MzDU6p0584名前は開発中のものです。
2008/07/15(火) 19:17:07ID:kClkDntUおちてしまえ!
0585名前は開発中のものです。
2008/07/16(水) 11:44:30ID:iSpH132aだました男が 悪いのか
褪(あ)せたルージュの くちびる噛んで
夜霧の街で むせび哭(な)く
恋のみれんの 東京ブルース
0586名前は開発中のものです。
2008/07/17(木) 19:20:01ID:o/DUvkgJしかし、感想を読むとMilkshapeは簡単にモデルを作れる反面、アニメーションには向かない。
アニメーションをつけて動かすとばらばらになる
またシェーディングができないとかありました
そんなに使えないのでしょうか。あくまでirrlichtとの関係でなんですけど...
0587名前は開発中のものです。
2008/07/17(木) 21:00:06ID:uAQ9zE970588名前は開発中のものです。
2008/07/17(木) 22:54:05ID:o/DUvkgJ0589名前は開発中のものです。
2008/07/18(金) 09:08:39ID:UGzqvHd8ちゃんと書こうよ。君の為のチラ裏スレじゃないんだよ?
0590名前は開発中のものです。
2008/07/18(金) 09:20:49ID:lURobZwZ0591名前は開発中のものです。
2008/07/18(金) 10:48:34ID:UGzqvHd8どうせ。
0592名前は開発中のものです。
2008/07/18(金) 11:27:57ID:8KTlYCyj0593名前は開発中のものです。
2008/07/20(日) 09:22:15ID:ftAAg5vXなぜ使えないって書かれてるかわからないと答えようない
それに、使えないって言ってるやつに使えるソフトを聞くと
MAYAとXSIのどっちが使いやすいかの論争になって
MAXユーザーが「昔はみんなMAX使ってたけどね」と哀愁に浸っていると
LWユーザーが「人に勧めるわけじゃないけどLW使いやすいよ」って控えめに割り込んでくる
メタセコユーザーが「メタセコで十分だよ。むしろ高額ソフト使いにくいよ」と主張し始める
そして、全員から「メタセコはアニメーションできねーよ!!」とツッコミが入り終了
涙目で作者逃亡したアニメーション作成ソフトを引き合いに出すが誰にも相手にされず。
0594名前は開発中のものです。
2008/07/20(日) 09:39:36ID:NEoxp7jg0595名前は開発中のものです。
2008/07/20(日) 10:24:18ID:QG3DgdEh0596名前は開発中のものです。
2008/07/20(日) 14:39:34ID:zgBZw03q個人的にはgameSpaceでもいいから市販パッケージもの使えと思うけどな(Shade以外で)
できれば最近安価になってきた4大3DCGソフトのどれかを選ぶべき
0597名前は開発中のものです。
2008/07/20(日) 16:26:03ID:V9aQD2R1■ このスレッドは過去ログ倉庫に格納されています