5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【3Dエンジン】Irrlicht初心者質問スレその4

1 :名前は開発中のものです。:2010/09/21(火) 17:32:25 ID:pmlmAOqn
zlibライセンスでクロスプラットホームなゲームライブラリ、Irrlichtのスレです。

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

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

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

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

過去スレ
3 http://hibari.2ch.net/test/read.cgi/gamedev/1281085813
2 http://hibari.2ch.net/test/read.cgi/gamedev/1159998619/
1 http://pc8.2ch.net/test/read.cgi/tech/1104179696/

56 :名前は開発中のものです。:2011/03/22(火) 22:24:07.27 ID:wIdT34ti
RPGは作れますかお?

57 :名前は開発中のものです。:2011/03/22(火) 22:28:04.69 ID:eGhM8788
作れません。お帰りください

58 :名前は開発中のものです。:2011/04/11(月) 19:08:21.07 ID:iyNkOBEH
そういや今Irrlichtで作っているのがSRPGだった
どこで作っているかは秘密だが

59 :名前は開発中のものです。:2011/04/12(火) 09:40:45.87 ID:skLSxuNi
別に”秘密”とか書かなくても興味ないから

60 :名前は開発中のものです。:2011/04/13(水) 22:03:37.98 ID:JrwSCAfj
はは、つれないなぁ

61 :名前は開発中のものです。:2011/04/15(金) 12:37:44.90 ID:qw90WTA4
書き込むならオープンにする
秘密にしたいなら黙ってるかチラシの裏にでも書いておけ
ただの構ってちゃんだろ

62 :名前は開発中のものです。:2011/04/28(木) 14:03:19.58 ID:rrHYWfWd
これから制作するソフト用のエンジンを探しているのですが、
Irrlichtは、マウスカーソルがある所のポリゴンを取得できますか?

CGツールみたいに、オブジェクト中の特定のポリゴンを選択とか
やりたいので

63 :名前は開発中のものです。:2011/04/28(木) 20:42:22.34 ID:3aWJvzTR
>>62
もちろんできるよ。
公式のチュートリアル7で解説してるから見るといいよ

64 :名前は開発中のものです。:2011/04/29(金) 12:42:56.61 ID:9o3Js+am
ありがとう!

65 :名前は開発中のものです。:2011/05/03(火) 00:52:49.82 ID:aB2xnOqT
フォーラムに書けないチキンなのでここに書く。
フォーラムの方々に泣くほど感謝。
ハードウェアスキニングのコード
Hardware Skinning for Irrlicht 1.7
を改変してウェイトに対応させた。三晩悶絶した。
ウェイトに対応する代わりにNormalが使えなくなるけど
irrlicht側は一切変更不要。
ポイントは
mesh->setHardwareSkinning(true);
mesh->updateNormalsWhenAnimating(false);
の実行順序。

ドワーフ6*6(6*7?)
HD5850 windows 7 x64(exeはx86)
OpenGL [Light:off][HWS:off] 125fps
OpenGL [Light:off][HWS(Weight):on] 688fps

66 :名前は開発中のものです。:2011/05/05(木) 06:31:55.44 ID:yjMgcbur
65続き
更にフォーラムのfmxさんの投稿を参考に
convertToTangentsして
Binormalをウェイト*3(4番目は1.0-(合計))に転用しNormalを生き残らせてみた。
まだやってないけどTangentに頂点カラーかマトリクスindexを持たせれば
頂点カラーも生き残らせることができるかも。
本当に本当にフォーラムは必見。
連投ごめん。終わり。

67 :名前は開発中のものです。:2011/07/07(木) 23:25:50.67 ID:eWsfc5od
Irrlichtのフォーラムの色変わってた!!

68 :名前は開発中のものです。:2011/07/08(金) 00:27:34.67 ID:pPCDjE0q
標準テンプレを差し替えただけかよ!

69 :名前は開発中のものです。:2011/07/24(日) 20:51:21.02 ID:c5QyUL19
2Dゲー作る勉強を始めたんだけど、今までSDLをちょろっと触った程度の知識しかなかったから
画像を思った場所にポリゴンで表示するだけで一苦労だった
チュートリアルサイト見ててもその処理が何をしてて何故必要なのかが説明されてないことが多くて(常識だから?)
理解を得るのにかなり苦戦するぜ。という俺の日記

70 :名前は開発中のものです。:2011/07/25(月) 09:02:37.87 ID:MgUklQO7
日記は他でやれ・・・と言いたいが久しぶりのポジティブなレス
応援してる がんばれ

71 :名前は開発中のものです。:2011/07/26(火) 10:21:30.82 ID:ycUXwhyt
irrExtが全然使われていないのって公式からたどり着きにくいからなのか?
そもそもどんな物なのか、よく分からないと言っている人もいる
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=43064

72 :名前は開発中のものです。:2011/07/27(水) 23:36:11.28 ID:bNPHEdBs
テクスチャの透過色(完全に透明)を設定した上で
実際に表示するときに全体的な透過率を設定できるようにしたいんですが全く手立てがつかめません
MaterialTypeの設定だけでは無理そうな感じだとは思うのですが、何か良い方法はありませんか

具体的には、黒を透過色とした画像ファイルをテクスチャに読み込んで
表示させるときに黒以外の部分の透過率を0〜100%で設定したいんです

73 :72:2011/07/28(木) 17:51:20.52 ID:G6+n8kg0
texture->lock()でピクセルを調べて、カラーキーでなければアルファ値を設定することで実現可能な感じがしました
でも手元の環境で想定できるフォーマットはA8R8G8B8のみ・・・他も考えなきゃならないんだろうか
テクスチャ生成フラグにETCF_ALWAYS_32_BITを指定しても常にA8R8G8B8になる保障はないのかな

74 :名前は開発中のものです。:2011/07/28(木) 22:34:43.64 ID:PCcpUSxP
>>72-73
透過色を設定するというか、指定した色を投下したテクスチャを新たに作るメソッドなのだが

IVideoDriver::makeColorKeyTexture
http://irrlicht.sourceforge.net/docu/classirr_1_1video_1_1_i_video_driver.html#aed772902f4fe1185b44ce81b9b0b9add

・アルファテストを有効にしたままマテリアルカラー(または頂点カラー)のアルファを使う
・テクスチャのアルファとマテリアルカラー(または頂点カラー)のアルファを乗算する
マテリアルタイプがあれば良かったんだが、どうやら無さそうだな・・・

>>73で言うようにテクスチャを書き換えるか、シェーダーを使うしか無いかも
固定機能でテクスチャ書き換えずにやるにはIrrlicht本体のソースをいじるしかない

CD3D9Texture.cppを見てみた
テクスチャ生成フラグにvideo::ETCF_NO_ALPHA_CHANNELが指定されていると、
ETCF_ALWAYS_32BITでもR8G8B8になるよ
あと、生成に失敗すると16bitでリトライしているようだ。
テクスチャのカラーフォーマットが指定されたものになっているかは確認したほうがいいと思う。

75 :72:2011/07/28(木) 23:31:32.54 ID:G6+n8kg0
>>74
調べてくださってありがとうございます
その通りのマテリアルタイプがあれば万々歳でしたね
テクスチャ書き換えでは毎フレーム行うと相当な負荷がかかるようで工夫が要りそうでした

試しに同じ結果になる処理をDXライブラリにやらせたらCPU使用率3%以下で毎フレーム余裕orz
ソースいじる自信もないので保留か

76 :名前は開発中のものです。:2011/07/28(木) 23:38:49.94 ID:xiHpfsST
テクスチャいじるより、頂点カラーいじったら?
マテリアルタイプは EMT_ONETEXTURE_BLEND にして。
ブレンド/アルファソース情報をMaterialTypeParamに適切にpackする必要あるけど、
まあそこはCD3D9MaterialRender.hのTRANSPARENT_ALPHA_CHANNELを参考に、
SMaterial.h の enum なんかとにらめっこする感じで、あとはアルファソースを EAS_VERTEX_COLOR | EAS_DIFFUSE にすれば modulate してくれる。はず。

あ、最近のバージョンって、マテリアルで D3DRS_DIFFUSEMATERIALSOURCE 選択できんだっけ?
SMaterial.ColorMaterial かな。頂点カラーがダイナミックライトに反応しなくていいなら
これを NONE にして、SMaterial.DiffuseColorのaいじるだけでいいかも。

適当に説明端折ってるんで、ヘッダとかソースとか見つつで。

77 :名前は開発中のものです。:2011/07/28(木) 23:50:11.73 ID:xiHpfsST
あ、 SMaterial.DiffuseColorのaいじるだけでいいかも っていうのは、
その前段に書いた ONETEXTURE_BLEND の対応をした上で、
頂点カラーをいじるんじゃなくて、マテリアルのDiffuseColorの設定だけで
いけるかも、っつーことね。

78 :72:2011/07/29(金) 12:52:00.50 ID:YxVVrSXe
>>76
仰るとおりにやってみたら上手くいきました
結果的には以下のようなコードで確認できました(テストではスプライトを意識したものです)

material.MaterialType = EMT_ONETEXTURE_BLEND;
material.MaterialTypeParam = pack_texureBlendFunc( // texureってなんぞ
EBF_SRC_ALPHA,
EBF_ONE_MINUS_SRC_ALPHA,
EMFN_MODULATE_1X,
EAS_TEXTURE | EAS_VERTEX_COLOR);
verts[0].Color.setAlpha(alpha);
verts[1].Color.setAlpha(alpha);
verts[2].Color.setAlpha(alpha);
verts[3].Color.setAlpha(alpha);

速度も損なわずに動作するようなので目的は達成できそうです、本当にありがとうございました
Diffuseを使う方法については思うようにいきませんでした。EAS_DIFFUSEも存在しないようです

79 :名前は開発中のものです。:2011/07/29(金) 14:32:35.72 ID:CB0S1CvF
>>78
あ、EAS_DIFFUSE は記憶で書いた後直そうとして間違ったみたいw
EAS_TEXTURE | EAS_DIFFUSE って最初書いてて、ヘッダ確認したら
_DIFFUSE じゃなくて _VERTEX_COLOR だったので直そうとしたら、
間違って _TEXTURE のほう書き換えちゃったみたいw

マテリアルのDiffuseはダメだったかー。そのコードで、
material.ColorMaterial = ECM_NONE;
material.DiffuseColor.setAlpha(alpha);
みたいにすると、ドライバ見る限りはディフューズソースを
マテリアルディフューズにしてくれそうな感じだったんだけど(1.7.2)。

まあ、目的はこなせたようなので良かった。

80 :名前は開発中のものです。:2011/07/29(金) 19:04:17.17 ID:aD6FRI41
ONETEXTURE_BLENDがそんなに万能だったとは・・・

81 :名前は開発中のものです。:2011/07/30(土) 14:40:03.45 ID:gdot1QHZ
ドット絵のキャラに吹き出しでしゃべらしたいんだけど、吹き出しってどうやったらだせるでしょうか?

82 :名前は開発中のものです。:2011/07/31(日) 19:03:44.47 ID:ysj+R9C4
え、そんな事聞いてどうすんの?
吹き出しを書いた画像を作って、それを描画した上に文字を出せとか
そういう答えが聞きたいのかい

83 :名前は開発中のものです。:2011/08/03(水) 21:45:34.89 ID:1OUEYNZw
目標は2Dゲーなんだけど、用意された機能でできることの見極め(というか模索)が大変でなかなか進まないなぁ
拡大縮小、反転、アルファブレンドまでならdraw2DImageで高速描画
回転や加算ブレンドが絡むと独自の何でもできるポリゴン描画、というとこまできた

ところで2Dとか自前のポリゴンってシーンマネージャーに触らずとも表示されるんだね

84 :名前は開発中のものです。:2011/08/21(日) 11:11:34.12 ID:F+Difsej
addBillboardSceneNode等で追加されている子ノードを
順に取り出して扱うにはどうすればいいのですか?

85 :名前は開発中のものです。:2011/08/21(日) 11:29:24.84 ID:F+Difsej
あげときます

86 :名前は開発中のものです。:2011/08/21(日) 15:25:08.62 ID:wn52FNTh
親子関係を持つのはISceneManagerではなくISceneNode派生
リファレンス読んでないのがばればれだし意味も無く上げんな

87 :名前は開発中のものです。:2011/08/21(日) 16:08:06.46 ID:F+Difsej
>>86

addBillboardSceneNodeの第一引数は親となるノードの指定なんだけど?

88 :名前は開発中のものです。:2011/08/21(日) 17:35:29.81 ID:4N5xj2Ob
こんなことでなんで面倒な雰囲気になってるのかわからんが、
ISceneNode.h を読むなりリファレンスを読むなりすれば、
childrenを引っ張り出すメソッドがあると思うのでそれを使っておくれ。

parent=0 で追加した連中がよくわからんというなら、
ISceneManager に root node 取るメソッドがあるのでそれ使っておくれ。
CSceneManager の実装的な事を言えば、root = SceneManager のはずだが、
まあ API を使っておいた方が良いだろう。

89 :84:2011/08/21(日) 18:15:59.25 ID:DqBbORdq
んなもんないわカス共
調子乗んなよ

90 :名前は開発中のものです。:2011/09/17(土) 10:20:18.79 ID:Nsy1iM/D
irrihitの本ないですか?
自分で触る前に概要だけ把握しておきたい

91 :名前は開発中のものです。:2011/09/17(土) 11:28:19.67 ID:N8llzchq
はいどうぞ
https://www.packtpub.com/irrlicht-1-7-1-realtime-3d-engine-beginners-guide/book

92 :名前は開発中のものです。:2011/09/17(土) 12:15:29.10 ID:ax69YZYg
Unityの本は日本語のものが3冊ぐらい出るのになあ。

93 :名前は開発中のものです。:2011/10/04(火) 23:17:42.58 ID:0k2KN61D
なんとはなしにあげ

94 :名前は開発中のものです。:2011/10/05(水) 00:00:41.38 ID:49qjvTSF
>>92
完成度が違いすぎる
Irrlichitが悪いとは思わんが商用利用するようなものじゃない
良くも悪くも個人クリエイター向け

95 :名前は開発中のものです。:2011/10/05(水) 00:14:08.12 ID:5QbI06Hj
有志が空き時間に作るものと商業的にフルタイムで開発されているものを比べるのは無意味

96 :名前は開発中のものです。:2011/10/05(水) 22:04:50.65 ID:9b+FJDSe
こんなの過去スレで紹介されていたよね

Irrlicht Engine ? View topic - "AlterEgo" First Adult game in the world using Irr
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=6&t=34558

97 :名前は開発中のものです。:2011/10/06(木) 13:12:38.93 ID:Ir67+dBU
で?

98 :名前は開発中のものです。:2011/10/07(金) 21:59:13.44 ID:y1GWstBC
商用でも使う人は使っているって

99 :名前は開発中のものです。:2011/10/08(土) 12:35:14.23 ID:sFk3CyHn
アクションとかやるんだったらUnityとかの方が楽に気はするけど、
ただ3Dで絵を出したいだけのRPGとかシミュレーションとかだと、
こっちの方がやっぱり楽そう。

フレームワークがかえって足かせになる、とUnityをろくに触ってもいない人が言ってみる。

100 :名前は開発中のものです。:2011/11/01(火) 23:32:36.33 ID:MVAqFmIZ
Unityとの勢いの差はなんなんだ

101 :名前は開発中のものです。:2011/11/02(水) 14:53:04.59 ID:T5ViUgxd
Unityは商業ゲームエンジン
IrrlichtはOSSのレンダリングエンジン

102 :名前は開発中のものです。:2011/11/03(木) 00:49:38.76 ID:juQARGZ9
OSSのほうがいいじゃん

103 :名前は開発中のものです。:2011/11/04(金) 11:24:52.53 ID:Gf/7N90y
Unityの方が簡単に立派なものが作れる
らしい

104 :名前は開発中のものです。:2011/11/05(土) 00:48:25.49 ID:2vszTO2X
確かに簡単じゃないな。
DCCからのアセットワークフローも貧弱だし機能もやや古臭いし。
でもゲームは結局自由度が必要だからZlibは大きなメリットだと思うがなぁ。

105 :名前は開発中のものです。:2011/12/11(日) 12:15:52.07 ID:ixtV7GeA
1.7.2と1.8 rev4011
EDT_DIRECT3D9でARGB8888テクスチャのlock unlock結果反映される?
EDT_OPENGLなら反映されるけどEDT_DIRECT3D9だとintel nvidia amd 全滅

29 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)