【3Dエンジン】Irrlicht初心者質問スレ【高速描画】at GAMEDEV
【3Dエンジン】Irrlicht初心者質問スレ【高速描画】 - 暇つぶし2ch442:名前は開発中のものです。
08/02/27 00:44:37 pSPDiQm8
>>441
ライティングしないようにするとかはダメ?
(ポリorテクスチャの色そのまま表示するように)
対象ノード->setMaterialFlag(irr::video::EMF_LIGHTING, false);

443:lesson.ifdef.jp
08/02/27 01:28:06 7TCghY78
>>441
考え方として、以下のようなものはどうでしょう?
1.カメラの背後に光源という感じに、カメラを親として光源を設定
2.キーが押されたら、カメラの代わりにワールドを動かす
これで、一応はカメラの方向から必ずライティングされるかと

444:名前は開発中のものです。
08/02/28 15:18:04 e5iGSVK/
いつになったらゲームパッド対応するんだろう・・・


445:名前は開発中のものです。
08/02/28 23:49:36 9jMY1Ybl
>>442
立体感つけたいのでライティングします。
>>443
CameraSceneNodeFPSと組み合わせたいのでそれはちょっと。

446:lesson.ifdef.jp
08/02/29 19:57:00 MU+29BuV
>>441
「常にカメラの方向からライティングされる」という意味ですよね?
「常に手前」という表現がちょっと曖昧なので、上記で解釈しました。

ライトを作成する時に、親を「ライト」にすれば大丈夫です。
(前回のは、親に設定したはずが別の値を設定していたため、
 期待した動きにならなかったので、別の方法を提示してみました。
 今日見たら引数が間違ってた・・・)

//FPSカメラを作成
ICameraSceneNode *CameraNode = smgr->addCameraSceneNodeFPS(0,100,5);

//カメラを親にライトを設定(ライトはカメラの位置)
smgr->addLightSceneNode(CameraNode, vector3df(0,0,0), SColorf(0xFFFF0000), 100.0f);

第1引数にカメラのnodeをセット
第2引数に親からの位置を(0,0,0)=親と一緒をセット
で、やってみてください。


447:lesson.ifdef.jp
08/02/29 19:59:41 MU+29BuV
446の修正
・ライトを作成する時に、親を「ライト」にすれば大丈夫です。
 ↓
・ライトを作成する時に、親を「カメラ」にすれば大丈夫です。


448:441
08/03/04 23:27:13 +F3tYXlG
出来ました!こんな感じでやりました。

scene::ICameraSceneNode *camera = smgr->addCameraSceneNodeFPS(0, 100.f, 100.f);
camera->setPosition( core::vector3df(0,0,-100) );

scene::ILightSceneNode *light = smgr->addLightSceneNode( camera, core::vector3df(0,0,0) );
light->getLightData().Type = video::ELT_DIRECTIONAL;

449:lesson.ifdef.jp
08/03/08 20:08:31 42plfOng
>>441
おめでとー!

これを少しいじれば、太陽のように見せることもできそうですね。
あとでやってみようかな。

450:441
08/03/08 23:32:53 vuhDlgNP
>>448
あれ、ELT_POINTでも同じになっている気がします・・。
点光源なのに離れても暗くなりません。
あと、テクスチャつきだとライトの色は反映されているみたいですが影がつきません。

451:lesson.ifdef.jp
08/03/09 01:14:28 QaJyCdZ9
>>441
テクスチャつきのオブジェに対してのライトは
マテリアルの設定を操作する必要があります。

SMaterialのLightingを見てみてください。
これがライトの影響を受けるか受けないかです。
(デフォルトでは影響を受けないようになってたかも)

452:名前は開発中のものです。
08/03/11 21:38:47 qxZlvuLX
αつきテクスチャを貼り付けたビルボードをαテストを使って透過させつつ、
頂点カのαを減少させてフェードアウトってできるんでしょうか?
EMT_TRANSPARENT_ALPHA_CHANNELに頂点のα値を反映させたいんです

453:名前は開発中のものです。
08/03/11 23:26:06 txVQuh45
lessonさんのライトのところを見たんですが
FPSゲームでよく使われるスポットライトも作れるんでしょうか
その場合カメラと連動してライトも動かさないといけないのですが・・・

454:名前は開発中のものです。
08/03/12 22:51:57 biTsIJxr
>>451
いや、デフォルトではtrueですが・・。
何でだろ、examplesのSpecial FxのroomMeshを読み込む部分のコードを
そのままコピーしたらちゃんとライティングされています。

455:441
08/03/12 23:35:51 biTsIJxr
その内ソースをupします。

456:名前は開発中のものです。
08/03/13 16:26:24 Aiv+dbIO
SIRENみたいなゲームも作れそうですね


457:名前は開発中のものです。
08/03/13 17:25:48 23U/XaUN
>>453
頂点単位でしかライティングできないから、ライトマップ使わないとだめ。
勘違いしてたらすまん。

458:名前は開発中のものです。
08/03/14 22:33:58 HWct05mu
>>457
いや、出来なくないと思いますが?
バンプマッピングとかパララックスマッピング使えますし。
フォンシェーディングは自分でシェーダー読み込まないと使えないみたいですが。

459:名前は開発中のものです。
08/03/17 23:23:15 haIYreE8
>>453
スポットライトはパララックスマッピングやバンプマッピングでは使えないようです・・。
しかもライト2個までだし!!自分で実装しないといけませんね、これは。

URLリンク(gonzo.dip.jp)
ライティングはどうやってもうまくいかないのであきらめることにしました・・。
それよりさまざまな問題が。
何故かどうやっても1バイトのメモリリークがなくなりません。行やファイル名が表示されないんです。
OBBTreeを使ったメッシュ同士の衝突判定クラスで、
三角形を含む全ての当たっているOBBを検出したいのですが1個しか検出できません。
ソースのDLKEYはobbtreeです。

URLリンク(home7.highway.ne.jp)

OBBTreeの使い方はここを参考にしました。というよりプログラムをコピーしました。

460:441
08/03/17 23:32:00 haIYreE8
>>459 = >>441
とりあえず上げときます。

461:名前は開発中のものです。
08/03/21 13:41:00 k9t2KKAY
単純なコリジョンについて誰か教えてください。
BB対BB、セレクタ対セレクタ、セレクタ対BBのどれかで
単純に現在接触しているかを知るにはどうすればいいですか?

462:名前は開発中のものです。
08/03/21 17:06:47 ipDiEarq
円が2個あるとします。 接触する事とは、中心と中心の距離で求められます。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch