トップページgamedev
105コメント39KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/09/21(火) 17:32:25ID: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/
0002名前は開発中のものです。2010/09/21(火) 17:33:59ID:pmlmAOqn
・特徴
zlibライセンス(組込、商利用自由)
マルチプラットホーム(Win、Linux、X-BOX...)
高速描画
DirectX9c、DirectX8、OpenGL、ソフトウェアドライバ2種、NULLデバイス
C++クラスによる初心者にも分かりやすいコーディングスタイル
キー・マウス入力対応(パッド不可)
BSPマップ対応
スキン・ボーンアニメーション対応
パーティクル、スカイドーム、テライン、ビルボード対応
コリジョン対応
屋内と屋外をシームレスに管理できるシーンマネージャー内蔵
XMLパーサー内臓
サウンド未搭載(別プロジェクト有)
ネットワーク未搭載(要各種ライブラリ)
物理エンジン未搭載(要各種ライブラリ)
0003名前は開発中のものです。2010/09/21(火) 17:34:40ID:pmlmAOqn
・公式サイト
Irrlicht Engine - A free open source 3d engine
http://irrlicht.sourceforge.net/
フォーラム
http://irrlicht.sourceforge.net/phpBB2/

・翻訳ドキュメント
Irrlicht 非公式ドキュメント
http://wiki.game-develop.com/index.php?irrlicht

・解説サイト
Irrlicht A GoGo
http://www.zgock-lab.net/irrlicht/
イルリッヒたん@Wiki
http://www6.atwiki.jp/t-na/
0004名前は開発中のものです。2010/09/21(火) 17:35:20ID:pmlmAOqn
IrrLicht Lesson
http://lesson.ifdef.jp/

・ゲームエンジン比較・評価
http://wiki.game-develop.com/index.php?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%A5%E9%A5%A4%A5%D6%A5%E9%A5%EA%2F%C8%E6%B3%D3

・IrrlichtでSTGを最初からみんなで作るスレに挑戦
http://irrlichtstg.ifdef.jp/

・Irrlichtいろいろ
http://f30.aaa.livedoor.jp/~kimkim/VC/DirectX3D/irrlicht_etc.html

日本使用で躓くと思われるものを捕捉。必要に応じて使い分けて。
・2バイト文字表示クラス(Irrlicht A GoGo)
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=3995
・GUIパーツで2バイト入力を実現するサブバージョン(要リコンパイル)
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=38338

・使用例(動画)
月桂樹Gekkeiju online
http://www.youtube.com/watch?v=wh3HBUx6s3w
Miku in Motion
http://www.youtube.com/watch?v=J6tV0Hr4Koc
Irrlicht + Augmented Reality
http://www.youtube.com/watch?v=_cl2rWZzGLY
0005名前は開発中のものです。2010/09/21(火) 17:37:25ID:pmlmAOqn
何とか立てれた。

これ使ってる人に質問、3Dモデルにアニメーションさせるとき、何で作って、どういう形式で使ってる?
0006名前は開発中のものです。2010/09/21(火) 23:25:18ID:wxC9OO63
>>5
2Dばかりで3Dは殆どやってないから分からないけど、
作るソフトはBlenderでどう?
0007名前は開発中のものです。2010/09/21(火) 23:28:54ID:wxC9OO63
ん?
>>2

>キー・マウス入力対応(パッド不可)
>XMLパーサー内臓

ジョイパッドは最近のVerだと対応してたはず
内臓ってw
000852010/09/22(水) 07:42:05ID:BJ6LqzHu
>>6-7
アドバイスありがとう。

blendファイルが直接読めるわけではないみたいだし、アニメーションさせようと思ったら対応形式にあわせて
それようにエクスポーター使わないとダメっぽいんだけど、スクリプトの動きに関してあんまりいい話聞かないんだよね。

前スレのテンプレそのままコピったら、そうなってしまった。スマン。
0009名前は開発中のものです。2010/09/22(水) 21:32:09ID:58BRJRbw
IrrlichtML
http://etwas.wolfish.org/Irrlicht/irrlichtml.html
0010名前は開発中のものです。2010/09/23(木) 00:03:38ID:FHfog5qU
Irrlicht/Blender Exporter v0.4
http://code.google.com/p/tubras/wiki/irrb

GoogleCodeにIrrlicht関連のプロジェクトって結構たくさんあるみたい
0011名前は開発中のものです。2010/09/23(木) 00:58:10ID:5V9YrRCI
武器持たせるのどうすればおk?
examplesに入っとらんぞ
0012名前は開発中のものです。2010/09/23(木) 10:43:02ID:BRVCqONw
xファイルでのアニメーションはMD2みたいにモーション名指定は無理なの?
現状SetFrameしかないのかな
しかもSetFrame使うと全部頂点書き出しさないと、xファイルがでかくなるorz
0013名前は開発中のものです。2010/09/23(木) 18:08:04ID:7XCQvY35
Irrlicht1.7.1を使っていて
なぜか桁の大きいdouble型変数の演算時に小数部が切り捨てられていたので、原因を探ってみたところ
どうやら
irr::createDeviceの第一引数のレンダリング環境を設定するところでDirectX(EDT_DIRECT3D8及びEDT_DIRECT3D9)を指定するとこの現象が起きるようでした。
createDeviceを使用しなかったり、DirectX以外のOpenGLやソフトウェアレンダラを指定するとこの現象は起きませんでした。
原因や解決法を教えていただきたいです。。
C++自体初心者なので全く関係の無いところで勘違いしてるのかもしれませんが…

なお以下のコードで現象を確認しました(test03が10000000.5になって欲しいのに10000000.0になる)
#include <irrlicht.h>
#include <windows.h>
#pragma comment(lib, "Irrlicht.lib")
using namespace irr;
using namespace core;
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
IrrlichtDevice *device =createDevice(video::EDT_DIRECT3D9, dimension2d<u32>(640, 480), 16, false, false, false, 0);
double test01=10000000;
double test02 = 0.5;
double test03=test01+test02;
device->drop();
return 0;
}
0014名前は開発中のものです。2010/09/23(木) 18:16:21ID:7XCQvY35
連レスすみません。
上の現象はDebugで発生しました。
Releaseでビルドすると問題ないようです。
0015名前は開発中のものです。2010/09/23(木) 18:35:03ID:KkOS4/SK
>>13
普通にDirect3Dデバイスを作ると、高速化のために内部で浮動小数点演算の精度が落とされる。

これを防ぐにはデバイス作成時にD3DCREATE_FPU_PRESERVEを指定すればいいんだけど、
irrlichtで出来るかはよく知らない。
ttp://msdn.microsoft.com/ja-jp/library/cc324349.aspx
0016名前は開発中のものです。2010/09/23(木) 18:47:30ID:KkOS4/SK
>>13
調べた。
irr::SIrrlichtCreationParameters::HighPrecisionFPU に true を設定して
rr::createDeviceEx を呼べばいい。
そうすればD3DCREATE_FPU_PRESERVEを使ってくれる。
0017名前は開発中のものです。2010/09/23(木) 19:04:56ID:7XCQvY35
>>15,16
素早い回答ありがとうございます。
早速試してみます!
0018名前は開発中のものです。2010/09/23(木) 19:13:27ID:7XCQvY35
お教えいただいた方法で見事問題が解決されました。
本当にありがとうございました!
0019名前は開発中のものです。2010/09/26(日) 22:21:21ID:NpVTFXds
みんな、公式のフォーラムは利用しているのかな
0020名前は開発中のものです。2010/09/26(日) 22:52:08ID:mKbHcRyn
>>19
検索して読む程度・・・。
0021名前は開発中のものです。2010/09/28(火) 00:30:21ID:KeAUf/L3
自分用に改造を加えたIrrlichtを
git svnで管理すると便利という事に最近まで気がつかなかった。
本家で変更があっても追いつくのが大分楽になった
0022名前は開発中のものです。2010/11/02(火) 15:02:56ID:WsOM2loF
あげ
0023名前は開発中のものです。2010/11/02(火) 19:09:40ID:OtarS7xq
>>12
これはxファイルとの相性が悪い。だからやめた
0024名前は開発中のものです。2010/11/02(火) 19:11:28ID:LcywyU8S
何故そこまでxファイルに拘る?
0025名前は開発中のものです。2010/11/02(火) 21:47:17ID:sNBxz+R4
>>23
モルダー、あなた憑かれてるのよ
0026名前は開発中のものです。2010/11/16(火) 12:44:53ID:SkgTLKqr
Irrlicht-1.7.2リリース記念火気庫ヽ( ´∀`)ノ ボッ
0027名前は開発中のものです。2010/11/17(水) 11:55:19ID:EboSdSt9
知らなかった
バグフィックスのみか、早速DLしてみよう
0028名前は開発中のものです。2010/11/18(木) 17:03:59ID:QrGmog6Y
戻り値がIAbc*のgetAbcって基本的に同じ値が返ってきてdropする必要はないってことだよね?
getTimerとか複製できなきゃタイマー機能としてはあまり役に立たないような
0029名前は開発中のものです。2010/11/18(木) 21:16:54ID:i9J8t7fP
>>28
つ 付属のドキュメント
メソッドごとにdropすべきか書いてある
drop忘れててもVisualStudioのメモリリーク検出機能使えば分かるけど

タイマー複製したいって何で?
0030名前は開発中のものです。2010/11/18(木) 21:35:45ID:QrGmog6Y
ごめん、役に立たないと言ったのは見当違いで
同時に複数計測したい場合に、個別にstart stopできた方がいいんじゃないかって思っただけ
0031名前は開発中のものです。2010/11/28(日) 18:25:08ID:cjZQH51M
このエンジン好きなんだが3dのアニメーションだけはどうしたらいいかわからん
まともにやりとりできるフォーマットがなさすぎる
0032名前は開発中のものです。2010/12/02(木) 23:45:27ID:2Y66a5ad
>>31
何のソフトでアニメーション作ってるん?
0033312010/12/03(金) 22:16:56ID:CFbCwP6T
いまはBlender2.49+Ogremeshエクスポーター
過去に試した組み合わせは(1年前〜現在。各エクスポート最新とは限らない)

 Irrlicht1.7.1
  Modtool6.01
   DirectX    export△ Irrlicht Load △ モデル・モーションとテクスチャUVがそれぞれ左右反転
   OgreMesh   export×(クラッシュ)
  Blender2.4.9
   DirectX    export△ Irrlicht Load × 読み込みエラー
   Ogremesh   export△ Irrlicht Load △ 頂点抜けが起きることがある。エクスポートが不安定

b3d(Blitz3dフォーマット)がいいよって意見もみたけどエクスポーターが見つけられず
fragMOTIONなどの別ツール経由は・・・ちょっと非現実的かな。手間的に考えて
Ogremeshエクスポーターのエラーに悩みつつIrrmeshの完成を待ちわびています

ネットではPMD+BVHで走らせてる方もいらっしゃるみたいだね
0034名前は開発中のものです。2010/12/04(土) 06:49:56ID:L1EpF+6B
>>33
ttp://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=222901#222901
b3dならここにあるみたいだよ。使ってみたら?
0035名前は開発中のものです。2010/12/30(木) 01:57:37ID:p/d2Ubz7
過疎ってるなあ
もっと認知度を上げられないものだろうか
0036名前は開発中のものです。2011/01/20(木) 22:15:35ID:D0Rz0wW5
IrrlichtにしろOrge3DにしろUnrealEngineにしろなぜか人がいないよね。
なぜなんだろう。そんなにゲームが作りたい人がいないのか。
ゲーム作ろうと思ったらここらのゲームエンジンを使わざるを得ないのに。
0037名前は開発中のものです。2011/01/20(木) 23:12:01ID:UmSRfbaM
そもそも3Dはマップ作りにしろ、カメラを含むシーンにしろ、モデルにしろ、アニメーションのモーションにしろ。
すべての敷居が2Dの比じゃないからな。

出来るやつも少ないし。まだまだ希少。
それらがすべて出来る前提のエンジンなんてなかなか流行らないだろーな。
0038名前は開発中のものです。2011/01/21(金) 00:01:22ID:EgqZzRrA
3Dをやっている人は探せばいるでしょう
Irrlichtのような3Dエンジンを使おう、とは思いつかないだけで
0039名前は開発中のものです。2011/01/21(金) 09:39:40ID:gTOOtlEB
例えば生のOpenGL使って作れるゲームなんてたかがしれてるよね。
どうしてるんだろうか
0040名前は開発中のものです。2011/01/21(金) 10:10:08ID:JKu/P7I3
個人でやるような分には、生でDirectXやOpenGLを使おうがラッパーライブラリを使おうが
できること(作れるもの)自体はあんまり変わらない気もするけども
生で使う場合はある程度は自前でラッパー作るようなもんだから、まあ最初から既存のラッパー使ったほうが楽ではあるが…
0041名前は開発中のものです。2011/01/21(金) 11:26:53ID:V2ZUOMJ7
オライリーあたりがライブラリの参考書を出してくれればいいんだが・・・
0042名前は開発中のものです。2011/01/21(金) 16:57:11ID:boLg1PDJ
3DグラフィックとC++って時点で両方習得するのに何年かかんのって話だからなw

登山みたいで楽しいんだが
登るのが大変すぎるだけに登って満足して終わりになっちゃう気もする
0043名前は開発中のものです。2011/01/21(金) 17:05:20ID:Bw4w1fZE
>>42
それわかるw
正直なところ敷居が高すぎる。
かと言ってUDKとかUnityもツクールみたいに気兼ねなく簡単にできる、
ってわけでもないし。
0044名前は開発中のものです。2011/01/23(日) 21:14:39ID:yohFUist
敷居が高いって元々はそういう意味じゃないぞ!
「相手に不義理などをしてしまい、行きにくい」というのが本来の意味。

2DだけのゲームでIrrlicht使っている人はいるだろうか 自分みたいに
0045名前は開発中のものです。2011/01/23(日) 21:21:02ID:YJMzrArs
2chで国語のお勉強とかどうでもいいことをw
0046名前は開発中のものです。2011/01/28(金) 12:44:52ID:h1hF4zTu
UDKやUNITYをさわりだけいじってみたけど、マップ作ったり、テクスチャ読み込んでマテリアル作ったりは簡単にできるんだがな。
JRPGみたいにNPC出して会話とかできて、攻撃は剣と弓で、とかゲームシステムの細かい部分になると自力でどうぞ、って事になってしまう。
自分でゲームエンジンを解析して、どこに作り込でいけばいいか理解しないと進めない。
そこからの難しさは一からプログラムで作っているのと大して変わらない。
0047名前は開発中のものです。2011/01/28(金) 13:04:49ID:PLty3v15
ここは何時から、自分のスキル不足を愚痴るスレになったんだっけか?
0048名前は開発中のものです。2011/02/06(日) 22:53:09ID:Wj/nG0G4
公式のニュースを見ると、Irrlichtの本が出たらしい
https://www.packtpub.com/irrlicht-1-7-1-realtime-3d-engine-beginners-guide/book
0049名前は開発中のものです。2011/02/07(月) 12:24:46ID:frFvnJXh
日本語じゃなきゃやだやだ
0050名前は開発中のものです。2011/02/07(月) 18:55:59ID:fLJzwj6q
翻訳しろ話はそれからだ
0051名前は開発中のものです。2011/03/07(月) 10:06:47.35ID:qh2ZqJk3
e-book版が21.59米ドル = 1776円
けっこう安いな
日本語版がでてないとはいえ勝手に訳してwikiにアップなんてしたら怒られるよね
日本語版発売に期待

立ち読み版みたいなのはないの?
0052名前は開発中のものです。2011/03/07(月) 10:52:14.54ID:wqbMyPz5
怒られるだけならまし。訴えられるレベル
0053名前は開発中のものです。2011/03/07(月) 12:59:48.00ID:CgCeq0X7
>日本語版がでてないとはいえ勝手に訳してwikiにアップ
この努力をなぜ本家HPの日本語化に向けないのか
0054名前は開発中のものです。2011/03/07(月) 23:34:03.44ID:vJg1TFC6
勝手に訳して出版社に持ち込んで交渉したらお金も入るよ。
0055名前は開発中のものです。2011/03/08(火) 02:08:27.79ID:y9E47S1J
しっかり許可取れな?
0056名前は開発中のものです。2011/03/22(火) 22:24:07.27ID:wIdT34ti
RPGは作れますかお?
0057名前は開発中のものです。2011/03/22(火) 22:28:04.69ID:eGhM8788
作れません。お帰りください
0058名前は開発中のものです。2011/04/11(月) 19:08:21.07ID:iyNkOBEH
そういや今Irrlichtで作っているのがSRPGだった
どこで作っているかは秘密だが
0059名前は開発中のものです。2011/04/12(火) 09:40:45.87ID:skLSxuNi
別に”秘密”とか書かなくても興味ないから
0060名前は開発中のものです。2011/04/13(水) 22:03:37.98ID:JrwSCAfj
はは、つれないなぁ
0061名前は開発中のものです。2011/04/15(金) 12:37:44.90ID:qw90WTA4
書き込むならオープンにする
秘密にしたいなら黙ってるかチラシの裏にでも書いておけ
ただの構ってちゃんだろ
0062名前は開発中のものです。2011/04/28(木) 14:03:19.58ID:rrHYWfWd
これから制作するソフト用のエンジンを探しているのですが、
Irrlichtは、マウスカーソルがある所のポリゴンを取得できますか?

CGツールみたいに、オブジェクト中の特定のポリゴンを選択とか
やりたいので
0063名前は開発中のものです。2011/04/28(木) 20:42:22.34ID:3aWJvzTR
>>62
もちろんできるよ。
公式のチュートリアル7で解説してるから見るといいよ
0064名前は開発中のものです。2011/04/29(金) 12:42:56.61ID:9o3Js+am
ありがとう!
0065名前は開発中のものです。2011/05/03(火) 00:52:49.82ID: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
0066名前は開発中のものです。2011/05/05(木) 06:31:55.44ID:yjMgcbur
65続き
更にフォーラムのfmxさんの投稿を参考に
convertToTangentsして
Binormalをウェイト*3(4番目は1.0-(合計))に転用しNormalを生き残らせてみた。
まだやってないけどTangentに頂点カラーかマトリクスindexを持たせれば
頂点カラーも生き残らせることができるかも。
本当に本当にフォーラムは必見。
連投ごめん。終わり。
0067名前は開発中のものです。2011/07/07(木) 23:25:50.67ID:eWsfc5od
Irrlichtのフォーラムの色変わってた!!
0068名前は開発中のものです。2011/07/08(金) 00:27:34.67ID:pPCDjE0q
標準テンプレを差し替えただけかよ!
0069名前は開発中のものです。2011/07/24(日) 20:51:21.02ID:c5QyUL19
2Dゲー作る勉強を始めたんだけど、今までSDLをちょろっと触った程度の知識しかなかったから
画像を思った場所にポリゴンで表示するだけで一苦労だった
チュートリアルサイト見ててもその処理が何をしてて何故必要なのかが説明されてないことが多くて(常識だから?)
理解を得るのにかなり苦戦するぜ。という俺の日記
0070名前は開発中のものです。2011/07/25(月) 09:02:37.87ID:MgUklQO7
日記は他でやれ・・・と言いたいが久しぶりのポジティブなレス
応援してる がんばれ
0071名前は開発中のものです。2011/07/26(火) 10:21:30.82ID:ycUXwhyt
irrExtが全然使われていないのって公式からたどり着きにくいからなのか?
そもそもどんな物なのか、よく分からないと言っている人もいる
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=43064
0072名前は開発中のものです。2011/07/27(水) 23:36:11.28ID:bNPHEdBs
テクスチャの透過色(完全に透明)を設定した上で
実際に表示するときに全体的な透過率を設定できるようにしたいんですが全く手立てがつかめません
MaterialTypeの設定だけでは無理そうな感じだとは思うのですが、何か良い方法はありませんか

具体的には、黒を透過色とした画像ファイルをテクスチャに読み込んで
表示させるときに黒以外の部分の透過率を0〜100%で設定したいんです
0073722011/07/28(木) 17:51:20.52ID:G6+n8kg0
texture->lock()でピクセルを調べて、カラーキーでなければアルファ値を設定することで実現可能な感じがしました
でも手元の環境で想定できるフォーマットはA8R8G8B8のみ・・・他も考えなきゃならないんだろうか
テクスチャ生成フラグにETCF_ALWAYS_32_BITを指定しても常にA8R8G8B8になる保障はないのかな
0074名前は開発中のものです。2011/07/28(木) 22:34:43.64ID: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でリトライしているようだ。
テクスチャのカラーフォーマットが指定されたものになっているかは確認したほうがいいと思う。
0075722011/07/28(木) 23:31:32.54ID:G6+n8kg0
>>74
調べてくださってありがとうございます
その通りのマテリアルタイプがあれば万々歳でしたね
テクスチャ書き換えでは毎フレーム行うと相当な負荷がかかるようで工夫が要りそうでした

試しに同じ結果になる処理をDXライブラリにやらせたらCPU使用率3%以下で毎フレーム余裕orz
ソースいじる自信もないので保留か
0076名前は開発中のものです。2011/07/28(木) 23:38:49.94ID: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いじるだけでいいかも。

適当に説明端折ってるんで、ヘッダとかソースとか見つつで。
0077名前は開発中のものです。2011/07/28(木) 23:50:11.73ID:xiHpfsST
あ、 SMaterial.DiffuseColorのaいじるだけでいいかも っていうのは、
その前段に書いた ONETEXTURE_BLEND の対応をした上で、
頂点カラーをいじるんじゃなくて、マテリアルのDiffuseColorの設定だけで
いけるかも、っつーことね。
0078722011/07/29(金) 12:52:00.50ID: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も存在しないようです
0079名前は開発中のものです。2011/07/29(金) 14:32:35.72ID: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)。

まあ、目的はこなせたようなので良かった。
0080名前は開発中のものです。2011/07/29(金) 19:04:17.17ID:aD6FRI41
ONETEXTURE_BLENDがそんなに万能だったとは・・・
0081名前は開発中のものです。2011/07/30(土) 14:40:03.45ID:gdot1QHZ
ドット絵のキャラに吹き出しでしゃべらしたいんだけど、吹き出しってどうやったらだせるでしょうか?
0082名前は開発中のものです。2011/07/31(日) 19:03:44.47ID:ysj+R9C4
え、そんな事聞いてどうすんの?
吹き出しを書いた画像を作って、それを描画した上に文字を出せとか
そういう答えが聞きたいのかい
0083名前は開発中のものです。2011/08/03(水) 21:45:34.89ID:1OUEYNZw
目標は2Dゲーなんだけど、用意された機能でできることの見極め(というか模索)が大変でなかなか進まないなぁ
拡大縮小、反転、アルファブレンドまでならdraw2DImageで高速描画
回転や加算ブレンドが絡むと独自の何でもできるポリゴン描画、というとこまできた

ところで2Dとか自前のポリゴンってシーンマネージャーに触らずとも表示されるんだね
0084名前は開発中のものです。2011/08/21(日) 11:11:34.12ID:F+Difsej
addBillboardSceneNode等で追加されている子ノードを
順に取り出して扱うにはどうすればいいのですか?
0085名前は開発中のものです。2011/08/21(日) 11:29:24.84ID:F+Difsej
あげときます
0086名前は開発中のものです。2011/08/21(日) 15:25:08.62ID:wn52FNTh
親子関係を持つのはISceneManagerではなくISceneNode派生
リファレンス読んでないのがばればれだし意味も無く上げんな
0087名前は開発中のものです。2011/08/21(日) 16:08:06.46ID:F+Difsej
>>86

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

parent=0 で追加した連中がよくわからんというなら、
ISceneManager に root node 取るメソッドがあるのでそれ使っておくれ。
CSceneManager の実装的な事を言えば、root = SceneManager のはずだが、
まあ API を使っておいた方が良いだろう。
0089842011/08/21(日) 18:15:59.25ID:DqBbORdq
んなもんないわカス共
調子乗んなよ
0090名前は開発中のものです。2011/09/17(土) 10:20:18.79ID:Nsy1iM/D
irrihitの本ないですか?
自分で触る前に概要だけ把握しておきたい
0091名前は開発中のものです。2011/09/17(土) 11:28:19.67ID:N8llzchq
はいどうぞ
https://www.packtpub.com/irrlicht-1-7-1-realtime-3d-engine-beginners-guide/book
0092名前は開発中のものです。2011/09/17(土) 12:15:29.10ID:ax69YZYg
Unityの本は日本語のものが3冊ぐらい出るのになあ。
0093名前は開発中のものです。2011/10/04(火) 23:17:42.58ID:0k2KN61D
なんとはなしにあげ
0094名前は開発中のものです。2011/10/05(水) 00:00:41.38ID:49qjvTSF
>>92
完成度が違いすぎる
Irrlichitが悪いとは思わんが商用利用するようなものじゃない
良くも悪くも個人クリエイター向け
0095名前は開発中のものです。2011/10/05(水) 00:14:08.12ID:5QbI06Hj
有志が空き時間に作るものと商業的にフルタイムで開発されているものを比べるのは無意味
0096名前は開発中のものです。2011/10/05(水) 22:04:50.65ID: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
0097名前は開発中のものです。2011/10/06(木) 13:12:38.93ID:Ir67+dBU
で?
0098名前は開発中のものです。2011/10/07(金) 21:59:13.44ID:y1GWstBC
商用でも使う人は使っているって
0099名前は開発中のものです。2011/10/08(土) 12:35:14.23ID:sFk3CyHn
アクションとかやるんだったらUnityとかの方が楽に気はするけど、
ただ3Dで絵を出したいだけのRPGとかシミュレーションとかだと、
こっちの方がやっぱり楽そう。

フレームワークがかえって足かせになる、とUnityをろくに触ってもいない人が言ってみる。
0100名前は開発中のものです。2011/11/01(火) 23:32:36.33ID:MVAqFmIZ
Unityとの勢いの差はなんなんだ
0101名前は開発中のものです。2011/11/02(水) 14:53:04.59ID:T5ViUgxd
Unityは商業ゲームエンジン
IrrlichtはOSSのレンダリングエンジン
0102名前は開発中のものです。2011/11/03(木) 00:49:38.76ID:juQARGZ9
OSSのほうがいいじゃん
0103名前は開発中のものです。2011/11/04(金) 11:24:52.53ID:Gf/7N90y
Unityの方が簡単に立派なものが作れる
らしい
0104名前は開発中のものです。2011/11/05(土) 00:48:25.49ID:2vszTO2X
確かに簡単じゃないな。
DCCからのアセットワークフローも貧弱だし機能もやや古臭いし。
でもゲームは結局自由度が必要だからZlibは大きなメリットだと思うがなぁ。
0105名前は開発中のものです。2011/12/11(日) 12:15:52.07ID:ixtV7GeA
1.7.2と1.8 rev4011
EDT_DIRECT3D9でARGB8888テクスチャのlock unlock結果反映される?
EDT_OPENGLなら反映されるけどEDT_DIRECT3D9だとintel nvidia amd 全滅
■ このスレッドは過去ログ倉庫に格納されています