【3Dエンジン】Irrlicht初心者質問スレ【高速描画】at GAMEDEV
【3Dエンジン】Irrlicht初心者質問スレ【高速描画】 - 暇つぶし2ch96:名前は開発中のものです。
07/03/03 02:20:19 YSA5sSWt
>>95
kwsk

97:名前は開発中のものです。
07/03/03 11:34:39 Dn3HDh7c
>>96
URLリンク(kjm.kir.jp)

98:名前は開発中のものです。
07/03/03 11:37:34 Dn3HDh7c
直りん不可だったみたいだからブラウザで開いて

99:名前は開発中のものです。
07/03/03 12:10:06 YSA5sSWt
Shaders.exeだね。
こればっかりは対応ハード使うしかないっぽい。
うちはDirectX8で100%、OpenGLで50%しか正常に表示されないわ。

100:名前は開発中のものです。
07/03/03 12:34:01 Dn3HDh7c
あーhigh level shader使わなきゃ表示されるのか・・・前は普通にできたはずなんだが・・・

101:名前は開発中のものです。
07/03/04 02:13:33 EppZWhoE
>>99
今試したらsdk.zipの実行ファイルのならできるが自分でコンパイルしたのは>>97
やっぱ2007?

102:名前は開発中のものです。
07/03/04 12:00:21 xpsTmq5y
うーむ、DX8はDec2004までらしい。
URLリンク(irrlicht.sourceforge.net)

Vistaで開発しないなら、古いの使ったほうがいいと思うよ。
VC6ならDirectX 9.0 SDK Update - (October 2004)
URLリンク(www.microsoft.com)
DirectX8ならDirectX 9.0 SDK Update - (December 2004)
URLリンク(www.microsoft.com)


103:名前は開発中のものです。
07/03/04 17:05:52 EppZWhoE
まあopenglでやってもらえば良いし自分としてはどっちでも良いや

104:名前は開発中のものです。
07/03/14 16:48:16 1FFG+rVS
2d系のライブラリから乗り換えようと思って色々やってみてるんですが
draw2DImageは拡大縮小回転もできなそうなので板ポリ+テクスチャで
何とかなるかと思い3Dツールで板を作成し→テクスチャ指定とやってみたところ、
IAnimatedMeshSceneNode *gazou=Scene->addAnimatedMeshSceneNode(Mesh,-1,vector3df(0,0,-10),vector3df(0,0,0),vector3df(1.0f,1.0f,1.0f));
gazou->setMaterialTexture( 0, driver->getTexture("test.bmp") );

見事にテクスチャが枠からはみ出たりしてうまく表示されませんorz
3Dツール側で合わせてみても同じでした。
ぴったりあわせる方法、もしくは画像を貼る大きさや範囲を調整する方法はありますか? 

105:名前は開発中のものです。
07/03/14 19:31:36 OCrcjHeb
板ポリ出すならビルボードってノードがあるよ。
scene::ISceneNode*gazou = 0;
gazou = Scene->addBillboardSceneNode(0, core::dimension2d<f32>(50, 50));
gazou->setMaterialTexture(0, driver->getTexture("test.bmp"));


106:名前は開発中のものです。
07/03/15 02:14:53 cdOP6laX
>>105
ありがとうございます。
しかしAnimatedMeshで出した板ポリと違い、板に対してsetRotationもsetScaleも
ききませんでしたorz
大人しく2Dにも強いライブラリに乗り換えます。

107:名前は開発中のものです。
07/03/15 03:05:24 X3lHqb8M
アニメーションノードをくっつけたらどうかね。
scene::ISceneNodeAnimator* anim =
smgr->createRotationAnimator(core::vector3df(0.8f, 0, 0.8f));

gazou->addAnimator(anim);
anim->drop();

108:名前は開発中のものです。
07/03/15 05:56:00 X3lHqb8M
>>106
ごめん、ビルボードはアニメーションノードでも回転しないっぽいね。
メッシュの比率を調整しないといけないけど、これなら。

scene::ISceneManager* smgr = device->getSceneManager();
scene::IAnimatedMesh* Mesh = smgr->addHillPlaneMesh("plane", core::dimension2d<f32>(10.f, 10.f), core::dimension2d<s32>(10, 10));
scene::IAnimatedMeshSceneNode* gazou = smgr->addAnimatedMeshSceneNode(Mesh);
gazou->setMaterialTexture( 0, driver->getTexture("test.bmp") );
gazou->setRotation(core::vector3df(0,5,0));


109:名前は開発中のものです。
07/03/15 06:00:58 Suf0ULyo
Irrlicht のビルボードのソース利用にして、回転とかできるノード作っちゃえば簡単なんじゃない?

110:名前は開発中のものです。
07/03/16 02:10:56 mgBybe8Q
おお、追加情報が。ありがとうございますー。
時間ができたときにまた色々試してみます。

111:名前は開発中のものです。
07/03/17 07:51:59 4nNqmjtf
Mar-16-2007 Irrlicht 1.3 released


We just released version 1.3 of the Irrlicht Engine. The following new features can be found in the SDK:

* Improved font support: Anti aliasing, alpha channels, different character sets, and a new font tool
* Enhanced GUI system: serialization, a first version of a GUI editor, element alignment, tool tips and more
* BurningVideo (the 2nd Software Rasterizer) speed improvements and new features: VertexCache, Bilinear Dither, Clipping test, ...
* Several speed enhancements
* A lot of API breaking changes (for example to ISceneNodes and Materials), so be careful when updating
* Literally hundreds of bug fixes

For a detailed list of changes, please see changes.txt. You can download the package from the download page.

開発速度すごいなーだけど公式で日本語IME対応してくれると(ryまあIMEないのにどうやって作るのか
とういうかOGREとリリース争ってないか?w

112:名前は開発中のものです。
07/03/17 09:10:49 hTC3q0Zy
>>111
うぉぉ、すげぇぇぇぇ!!
SVN鯖見てたら毎日のように開発チームがコミットしてるの見るんだけど、この勢いは期待。

>公式でIME
対応しても日本語フォントをフリータイプ形式で扱えないと使いづらいかなぁ。
それにnikoが言うには、Irrlicht自体の他ライブラリ依存を極力避けたい、って方向性みたい。
このスレの日本語対応版はfreetype2使っちゃってるしね。
(一応GPLと旧BSDのダブルライセンスだから、問題ないんだが)

OGREはGUIにCEGUI使うのが主流なんだっけ?
Irrlichtでも使えるから、改造無しでこれで日本語IMEいけるんじゃなかろうか…。
URLリンク(www.cegui.org.uk)

113:名前は開発中のものです。
07/03/17 18:48:24 W3sT607L
Irrlichtが対応しているメッシュの形式で、
頂点アニメーションだけでなくボーンによるアニメーションをサポートしている形式って
どれですか

114:名前は開発中のものです。
07/03/17 23:52:06 T6JmnE8P
>>113
Xかms3d形式がまあ無難。

ぽまいさん質問スレに「こっち行きます」の一言ぐらい言っとけ。
マルチ呼ばわりされるぞ。

115:名前は開発中のものです。
07/03/22 18:57:51 lImyW20j
画角の変更ってできますか?

116:名前は開発中のものです。
07/03/23 11:12:21 kIXtmho4
>>115
URLリンク(irrlicht.sourceforge.net)
URLリンク(irrlicht.sourceforge.net)

公式forumに67氏(だよね?)の1.3対応日本語パッチ来てるね。
おいしくいただきますた。

117:115
07/03/23 16:16:57 nDMEwllj
>>116
解決できました。
ありがとうございます。

118:名前は開発中のものです。
07/03/24 21:48:53 U5ibpJXd
>>114
遅レスですが㌧クスです。
しかしツールは何にすれば

119:67
07/03/25 17:27:01 ia9ij4eQ
>>118
MilkShape3Dでそのまま出力するのが問題少なくてよいかと。
URLリンク(chumbalum.swissquake.ch)

荒らしの余波で一緒にアク禁されてた>>67です_| ̄|○
URLリンク(irrlicht.sourceforge.net)

日本語パッチ詳細
[変更点]
公式ソースのKerningWidth(文字間隔)を取り込み。
公式との互換性のため、>>62氏の拡張を一部ヘッダに移動。
(他所様のソースを使うときに無修正で使えるように調整)
[補足]
プリコンパイル版DLLはReleaseです。速さ重視ならプロジェクト開いてRelease_fastGPUを選ぶと吉。
テストプログラムの文字透過が再び機能するようになった。ソース弄ってないのに。


120:名前は開発中のものです。
07/03/26 23:38:44 ePDZeIoM
irrKlang0.6リリースされたよ
.NET、MOD演奏サポート、わずか1ヶ月で機能増えすぎ

121:名前は開発中のものです。
07/03/27 16:15:08 FcD7u78w
今日はじめてイルリッヒを知って驚きました。
サンプルみて唖然

すごいものがあるものですね・・・

122:名前は開発中のものです。
07/03/29 00:47:34 0nHfNbg+
>>121
ようこそ、3Dエンジンの世界へ。

1.2→1.3で更新履歴読んでないと躓く名称変更3つ
エラーのオンパレードで焦ったよ
OnPreRender()→OnAnimate()
OnPostRender()→OnRegisterSceneNode()
SViewFrustrum.h→SViewFrustum.h

123:名前は開発中のものです。
07/03/29 03:06:52 dr+aGdcA
>>122
hello , Irrlicht world. !!!!--キ--(゚∀゚)--タ--!!!!

Irrlichtのドキュメントとか解説サイト少ないですね。
学びながら自分用にドキュメント書いてみてます・・・

URLリンク(volbic.ddo.jp) の ドキュメントです。

解説内容で間違ってるのありましたら指摘願います。

124:名前は開発中のものです。
07/03/29 07:39:13 ZoW6r67o
エロ吹いた

125:名前は開発中のものです。
07/03/29 09:49:48 8mQQgrvZ
親の前でページ開いてしまってあせったわw>123

でも、俺はこのスレでIrrlichtを知ったばかりなので、解説ページはありがたいです
がんばってください

126:名前は開発中のものです。
07/03/29 13:34:07 0nHfNbg+
>>123
トップ画像もブログ絵もやばいww
日本語の解説は少ないから増えてくのはいい流れですな

ちょい前に動画解説してる人も見つけた
作り途中のようだったけどね

127:名前は開発中のものです。
07/03/29 13:38:49 I6xu9ljg
Ver頻繁に変わるから更新新しいってだけで解説サイトは助かる

128:名前は開発中のものです。
07/03/29 15:32:49 dr+aGdcA
>>124,125
自分も親に見られて自爆したクチです orz
これからがんばって整理していきます (゚ω゚) -3

>>126
その動画を参考にして作ってみました。
初心者としてはかなり助かったので、文章化したです。

>>127
国内のIrrlicht情報サイトの更新日が古いのが多くて困惑しましたね・・・


 (;`・ω・´) とうとう・・・宣伝しちまった・・・がんばらねば

129:名前は開発中のものです。
07/03/29 17:51:36 0nHfNbg+
>>128
>その動画を参考にして作ってみました。
うぁ、同じページを見ていたとは世界って狭いのね。
がんばれ、超がんばれ!後でこっそりリンクはっておこう…

130:名前は開発中のものです。
07/03/30 13:13:38 PXVwrZAI
FreeBasicから使ってるのって俺だけ?
IrrlichtWrapperてやつ。結構使いやすいね

131:128
07/03/31 04:50:01 7BP7cxxh
Irrlicht以前にC++が浅いのでよく分からないのですが

IAnimatedMesh *_MODEL_ = _SCENE_->getMesh("../media/font_a.x");

などで生成された *_MODEL_ の中身の型(?)はなんなんでしょうか?
クラスのようなもので複数IDを管理しようと思ってるのですが



132:Ogreに移行考え中
07/03/31 05:50:11 ozs/7Dfa
IAnimatedMesh.hに定義されてるでしょ。
void *で保持も可能だろうけど、
いちいちtype castingすること考えたたら、
素直にIAnimatedMesh.hをincludeして..って
質問の意味取り違えた?

133:名前は開発中のものです。
07/03/31 07:06:21 7BP7cxxh
OGREもすごそうな。知らなかった。

>>132
> IAnimatedMesh *_MODEL_ = _SCENE_->getMesh("../media/font_a.x");

????(1) *_MODEL_ = _SCENE_->????(2)
~~~~~~
単純には ????(1) がどのような意味をしているのか分かりません。
C++は色々な書き方あって困る orz

134:Ogreに移行考え中
07/03/31 07:20:03 ozs/7Dfa
????(1)ってただ単に ????クラスを宣言してるだけ
つまり、IAnimatedMesh *_MODEL_は
IAnimatedMeshのポインタ型(IAnimatedMeshの大きさを持つポインタ)の
変数_MODEL_を宣言してるだけじゃないの?
で、IAnimatedMeshのクラスの定義はIAnimatedMesh.h


135:名前は開発中のものです。
07/03/31 07:48:40 7BP7cxxh
>>134
なるほど *はポインタ ってこういう事か・・・
クラスもソースと概念だけは見てましたけど、こう使うとは知らなかった。

ヘッダみるとクラスの構造が・・・

朝から本当にありがとうございます。

136:名前は開発中のものです。
07/03/31 09:37:51 is6F+ctY
URLリンク(gamdev.org)
ここも誰か直そうよ、詳しい人

137:名前は開発中のものです。
07/03/31 09:42:23 q0u5jJhs
>135
言い方きついですけど、これはCの基本じゃないでしょうか……
がんばってください

138:名前は開発中のものです。
07/03/31 17:38:48 AJCnDfW4
>>131
"Ixxxxx"とIが先頭にあるクラスはインターフェースクラスと呼ばれるもの。
これをlistやvector(もしくはただのクラス配列)で管理すれば
そこから派生したものは全て共通関数呼び出して制御可能。

srcフォルダの"Cxxx"はDLL内部クラス。
インターフェースクラスから派生した仮想関数の実実装を行っている。
拡張しないのであれば、こっちは見なくてもおk。

ICameraSceneNode<-CCameraSceneNode<-CCameraFPSSceneNode

>>136
言い出しっぺの法則、おながいします。

139:名前は開発中のものです。
07/03/31 18:18:10 7BP7cxxh
>>137
入門書を読み進めたら同じ式がありました。
本当に面目ないです。


>>138
list型は知らなかったです。明日の宿題が増えた!!(゚∀゚)
IxxとCxxの違いは入門書のバーチャルというのを見たら、なるほど・・・と思いました。

親切にありがとうございます (´ω`;) 基礎は大事ですね

140:名前は開発中のものです。
07/03/31 18:19:21 is6F+ctY
>>138
OGRE3Dのほうはちょこっとやったけどこれは何を直そうかわかんなかったんだ

141:名前は開発中のものです。
07/04/02 06:28:07 XvP3M03R
OGREとIrrlichtが共同開発!!!
その名もOGRIRR!!!
URLリンク(www.stevestreeting.com)


ワラタw

142:名前は開発中のものです。
07/04/02 07:51:53 q7rxp6Lc
FPSが3000だってよこれでフォトリアル目指すって

143:名前は開発中のものです。
07/04/02 09:13:07 fSYb2JxG
( ;゚Д゚) fps3000によりフォトリアルの段階に・・・(・し・`)

OGRIRRハジマタ

144:名前は開発中のものです。
07/04/03 09:24:36 ouNdMIWO
>>141
4/1ネタかw

145:名前は開発中のものです。
07/04/03 12:14:52 A1dezZUT
おい!今度のは4.1ネタじゃないぞ!

nikoはirrEditをアップグレード中らしい。
で、1.3用に再構築しながら、irrEdit独自拡張(未公開?)をエンジン側に反映。
URLリンク(www.irrlicht3d.org)
>#include "IIrrEditPlugin.h"
>#include "IBody.h"
>#include "IPhysicsSimulation.h"
>#include "ISceneNodeAnimatorPhysicsBody.h"
>#include "irrEditServices.h"
>#include "IScriptEngine.h"

プラグイン、既存物理エンジンラッパー、スクリプトラッパーにwktk
ある意味、OGRIRRハジマタ

146:名前は開発中のものです。
07/04/03 14:23:41 qom87o6H
俺もそろそろエロい人エンジンに頼るか。

147:名前は開発中のものです。
07/04/05 23:34:09 fpTiIgZ3
URLリンク(www.realintegrity.net)

CustomSceneNodeがない

148:名前は開発中のものです。
07/04/06 00:02:02 P4GVkkwa
wikiだから翻訳して書き込んで~。

149:名前は開発中のものです。
07/04/15 02:21:13 JGgkq1md
irrKlang0.7リリースage
ISoundStreamだとsetPositionで曲の途中から再生可能になるっぽい。
>>60の言ってた事ってこれかな。
URLリンク(www.ambiera.com)

150:名前は開発中のものです。
07/04/15 02:42:54 KRgQ3nwE
ループ開始位置だから、どこからループ始まってどこでループ終るか指定できなきゃダメなんでは。

151:名前は開発中のものです。
07/04/15 03:03:02 JGgkq1md
なるほど、A-Bループか。
IStreamSoundを継承して制御できたりするかも?

152:名前は開発中のものです。
07/04/18 15:46:25 YTiLNF4E
Irrlicht A GoGoの、第6回日本語表示のソースにて、
CGUITTFont* Font = new CGUITTFont(Driver);
の箇所でエラーが出てしまいます。
これを回避するにはどうしたら良いでしょう?


153:名前は開発中のものです。
07/04/18 16:04:58 +45/zOFm
9条は改憲してはならない。日本の為にならない。
日本人ではない朝鮮総連や民団でさえ、日本を心配して改憲への反対運動を行ってくれている。
私は日本人だが、「改憲すべき」などという者は、日本人として彼らに恥ずかしいと思います。

Q.中国から身を守る為、戦争に対する抑止力が必要では?
A.前提から間違っています。そもそも、中国は日本に派兵しようと思えばいつでもできました。
  なぜなら、日本には9条があるため、空母や長距離ミサイル等「他国を攻撃する手段」がない。
  つまり日本に戦争を仕掛けても、本国の、命令をだした幹部の命は絶対に安全なのです。
  「安心して戦争を仕掛けられる国」を、中国は、今まで攻めずにいてくれたのです。

Q.それは日米安保によるものでは? そして、その日米安保も絶対ではないのでは?
A.中国の良心を信じられないのはなぜですか? そして、日米安保は絶対です。
  知り合いの韓国人の評論家も「絶対だ」と言っていますし、私も同じ考えです。
  更に、9条が消えても米国の戦争に協力する義務は発生しませんが、米国が被害者の場合は別です。
  米国は日本を守る為に戦っても、(9条があれば)日本は米国を守る為に戦う必要がないのです。

Q.9条が本当に「平和」憲法なら、世界中で(日本以外に)1国も持とうとしないのはなぜか?
A.これは、日本以外のすべての国が誤っているとも言えます。
  「敵国に攻撃が届く国は攻められづらい」というのは、誤った負の考え方です。
  (もっとも韓国や中国の軍に関しては、日本の右傾化阻止の為でもあるので例外ですが)
  更に日本の場合、隣国が韓国・中国・ロシアと、GDP上位の安定した信頼できる国ばかりです。

Q.「9条改憲派」は「戦争反対派」。侵略者に戦争を挑発する、戦争憲法(9条)を撤廃したいのです。
A.それは、貧しい考え方ではないでしょうか? 
  中国や北朝鮮を信じる「強さ」があれば、そんな考えにはならないはずです。
  日本が信じれば、彼らも信じるでしょう。そして、真に美しい関係が始まるのです。

154:名前は開発中のものです。
07/04/18 20:34:45 nkkNPLeS
>>152
どういうエラーかもうちょっと詳しく書かないと答えようが無い

155:名前は開発中のものです。
07/04/19 07:57:10 E/KhOlb0
>>152
>>67-68に話題に上ってるattachするとエラーおきるって不具合を前提にエスパーレス。

CGUITTFont単体なら、このスレを順番に見ていくと改善されていってる。
URLリンク(irrlicht.sourceforge.net)

それとは別にIME支援つきで別対処したものが、こっちのスレにある。
アーカイブからCGUITTFontだけ抜き出して使ってみたらどうだろう。
URLリンク(irrlicht.sourceforge.net)
英語苦手なら以下から直接落としてみて。
URLリンク(etwas.wolfish.org)

見当違いだったらゴメンね。
とりあえず、詳しいエラー内容うpだ!

156:152
07/04/19 12:55:03 3JAfPMKW
>>154、155
返信ありがとうございます。

エラー内容は、
error C2259: 'CGUITTFont' : 抽象クラスあるいは構造体のオブジェクトが宣言されています。
また、warning C4259: 'void __thiscall irr::gui::IGUIFont::setKerningWidth(int)' : 純粋仮想関数は定義されていません。
などの警告がいくつか発生します。

これはIrrlicht1.3で起こり、1.2でビルドした場合は起こりません。
環境はWinXP VC++6.0です。

表示がうまくいったらIMEにもチャレンジしたいと思っていますので、
この記事は参考になりそうですね。
ありがとうございます。

157:名前は開発中のものです。
07/04/19 14:46:07 E/KhOlb0
>>156
把握。
Irrlicht1.2から1.3になったときに、Font周りが大幅に変更された。
具体的には中間クラスが増えて、setKerningWidth(s32)とsetKerningWidth(s32)という純粋仮想関数が追加。
だから、CCGIFont.cppの中身をコピペしてくればいいかと。

IME支援付きのIrrlichtML内に入ってるCGUITTFontなら、そこらへん調整済みね。

158:152
07/04/19 19:43:54 3JAfPMKW
>>157
ご指摘ありがとうございます。
無事に日本語表示させることができました。

また、IrrlichtMLの方を使わせていただき、ビルドは通ったものの、
fonts[0] = (CGUITTFont *)env->getFont(tmp,12);
のところで、ESPエラー終了してしまっています。
もう少し粘って調査をしてみようと思います。

ありがとうございました。


159:名前は開発中のものです。
07/04/20 00:32:11 l5dEAN1s
>>158
Irrlicht.libもML版をリンクしてるのにエラーでるなら
VC6を使うことによって、DLL呼び出しに不整合が起きてるんだと思う。
Irrlicht.dllをVC6でリコンパイルするか、EXE側をVS2005でコンパイルするのが解決早いかと。

もし、VC6でリコンパイルするなら、IrrCompileConfig.hのDirectX9チェッカーを
コメントアウトすると幸せになれます。
//#undef _IRR_COMPILE_WITH_DIRECT3D_9_

ESPエラーについて
URLリンク(oshiete1.goo.ne.jp)
URLリンク(msdn.microsoft.com)

160:152
07/04/22 23:31:09 mR20oL43
>>159
Irrlicht.dllをリリースでリコンパイルすることにより、
ESPエラーを回避することができました。
ありがとうございました。

161:名前は開発中のものです。
07/04/22 23:54:54 07IaEYjx
格闘ゲームのサンプルってありませんか?
どういうのが作れるのか知りたいんです

162:名前は開発中のものです。
07/04/24 20:33:08 UExAFUg/
>>161
Irrlichtは画面表示を主に担当しているので、基本的に何でも作れる。
どういう格闘ゲームを想定してるかわかんないけど、カプコン系のはサンプル見た事ないね。
げむでぶにシューティングのソースならあるよ。
URLリンク(gamdev.org)


163:名前は開発中のものです。
07/04/24 21:55:52 rgGfDEY1
OpenGL2.1対応マダー

164:名前は開発中のものです。
07/04/24 23:37:47 rgGfDEY1
1.5→2.0→2.1
で何が変わったのか知らんけど・・

165:名前は開発中のものです。
07/04/25 00:28:10 W4J3LTO2
2.1って夏に出る予定のDX10相当になるやつだっけ
G80とRV6X0がVistaじゃなくても活かせるな

166:名前は開発中のものです。
07/04/25 01:05:25 83294h9x
ってことは、ubuntu+ogl2.1で、DX10並の再現が出来るってことか
ドライバが出れば。。。

167:名前は開発中のものです。
07/05/03 02:20:20 l7GXDK1k
最近これ知って期待age

168:名前は開発中のものです。
07/05/03 08:15:27 bbrqGnbW
俺が宣伝したから

169:名前は開発中のものです。
07/05/03 08:33:15 LBHYfKZM
いやいや、俺が俺が。
IrrEdit0.7出たね、カスタムシーンノード追加可能になるまで後少し。

170:名前は開発中のものです。
07/05/03 09:20:16 bbrqGnbW
名前を忘れたけどxmlでだせるのが良いねeditは

171:名前は開発中のものです。
07/05/03 09:27:10 lQqUOyEQ
terrainシーンノードで使えるハイトマップのサイズって制限あるのかな?
512*512をつっこんだら表示がおかしくなった

172:名前は開発中のものです。
07/05/06 19:57:49 ySfhD1q2
LLMozLibでのweb表示が出たけど、使う人居る?

173:名前は開発中のものです。
07/05/12 06:22:56 7ZU3t7aU
Irrlichtでテクスチャの書き換えをエラー少なく行いたいと思っているのですが、
IImageからITextureに書き換えるということは出来るのですかね?

174:名前は開発中のものです。
07/05/12 11:48:19 0a5aTtRx
>>173
可能。
irr::video::IVideoDriverのvirtual ITexture * addTexture (const c8 *name, IImage *image)って関数で出来るよ。
ファイル名が不明になるから、nameでテクスチャ名を与えてあげないといけない。
これはオーバーロード関数で、ファイルから直にITextureを生成する同名関数の別定義になってる。

175:173
07/05/13 07:00:41 EG3uXyqf
あ。説明不足ですたorz

すでに同じ関数で作っているテクスチャの書き換えです。
Lock使うとほとんどエラーになりましたし……orz

176:名前は開発中のものです。
07/05/14 00:18:29 R8qA9tIK
やったことないから確証は出来ないけど
テクスチャアニメーションみたいなことするなら
予め全ての画像を読み込んでアタッチ切替してみては?

177:名前は開発中のものです。
07/05/18 02:00:35 hXJDqNBy
フライトシムっぽいHUDを作りたいんだけど、線をどうやって描写するのかわからなくて挫折した
カスタムシーンノード使うしかないのかな?


178:名前は開発中のものです。
07/05/18 04:49:01 3vq7Y5KN
>>177
draw3DLine、draw2Dline

179:名前は開発中のものです。
07/06/08 23:16:40 XTT0qZI1
これスタティックにリンクすんのどうやんの?

180:名前は開発中のものです。
07/06/09 11:03:44 Jkduy/Gv
>>179
本体ソースのビルド方法をDLLからLibに変更すればいいんじゃない?
リビルドしたLibファイルをリンクすれば動くと思う


181:名前は開発中のものです。
07/06/09 16:25:56 sP2SYFoA
>180

いや、それが結構エラー吐く・・・ってのは解決した。
それだけじゃなんなので簡単に言うとスタティックにするのは
そもそもLinux用なんで若干書き換えが必要だった。
そんでもwindowsでスタティックにさせると色々動作がおかしい。
何がおかしいのかちゃんと検証しないと怖くてつかってらんないんだけど
リンク時間がアホほど延びるんで検証やってらんないっす・・・

182:名前は開発中のものです。
07/06/09 21:40:42 V5Gpj1Mm
・IrrlichtMLをビルドしようとしたらd3dx8core.hが無いって言われてビルドできません。
 DirectX8使わないようにすればビルドできますが・・。
・メッシュの全ての頂点の位置や法線を取得するのって出来ますか?

183:名前は開発中のものです。
07/06/09 22:13:02 V5Gpj1Mm
age

184:名前は開発中のものです。
07/06/10 00:50:17 nrA64ON/
>>182
最新版DirectX SDKではDirextX8をサポートしなくなったので
オフにしないとコンパイルが通らないです。
どうしても使いたい場合はSDK December 2004まで遡ってみてください。
URLリンク(www.microsoft.com)

メッシュは分からないのでパスで。

185:名前は開発中のものです。
07/06/13 21:34:30 mogfedgO
>>182
ありがとうございます やてみます。

186:182
07/06/13 21:41:51 mogfedgO
あ・・・間違えた
×>>182
>>184

187:名前は開発中のものです。
07/06/19 23:35:15 DWPv8xYK
ITextureって中身にアクセスできないんですか?
IImageにはそういう関数あるのに・・。
ITexureをIImageに変換することは出来ないんですか?
>>173 を見ると、逆は可能なようです

188:名前は開発中のものです。
07/06/20 20:31:51 /BEoAgM8
Jun-20-2007 Irrlicht 1.3.1 released

Irrlicht Engine - A free open source 3d engine
URLリンク(irrlicht.sourceforge.net)

2007年6月20日 リリースされたIrrlicht1.3.1
私たちはバージョン1.3.1でIrrlichtをただリリースしました。 これはバグフィックスリリースであることが意図されますが、また、いくつかの新機能があります:

作品がまた、ただ リリースされたirrEditと共にseemlesslyされる、(0.7 .1)。
Ogre1.4.meshのために、ファイルをサポートします。
Irrlichtに組み込み機器のようなどんなまだネイティブの支持されたプラットホームでも走らせないように、任意のSDL装置を加えました。
OpenGLの、より多くの織地創造旗の加えられたサポート
全体の場面グラフのクローニングは現在、可能です。
改良されたGUIエディタ
何十ものバグフィックスで他の複数の小さい改良
詳細なリストに関しては、 changes.txtファイルを見てください。 ダウンロードすることで、幸福です。

189:名前は開発中のものです。
07/06/20 23:57:10 PHj58IiV
コリジョン判定でモデルの何処に当たったか調べるにはどうすれば良いかな?
ヘッドショットみたいなのがやりたいんだ

190:名前は開発中のものです。
07/06/21 01:21:28 e/onu/G/
>>187
IImage→ITextureのみ。
中身を弄りたい時はIImageを編集して再度ITexture変換を。

>>189
キャラクターモデルの各部位に透明なバウンディングボックスを割り当てて
それを使ってコリジョン判定すると楽になるよ。


191:187
07/06/22 21:31:25 wHnVkoXG
>>190
RenderableTextureの中身を取り出したいんですが・・。

あと、シェーダー内でテクスチャ(sampler,samplerCUBE)使っているときは
どうやってテクスチャを渡すんですか?キューブマップを使うのは無理そうです。

192:名前は開発中のものです。
07/06/22 21:44:31 EcLX4eIL
Jun-22-2007 SF.net 2007 Community Choice Awards

SF.net2007コミュニティチョイス賞でIrrlichtに投票してください。
下のリンクをクリックして、'Best Project for Multimedia'
('マルチメディアのための最も良いプロジェクト')
を選択してください。 ありがとうございます!
URLリンク(sourceforge.net)
(SourceForge.netのアカウントが必要)

193:189
07/06/22 23:50:01 1Pxa+lea
>>190
バウンディングボックスを割り当てるときって透明な子モデルを追加するであってる?
なんか上手く行かない・・・orz

194:名前は開発中のものです。
07/06/26 13:43:45 XN7t+Ew2
IrrlichtってVistaで問題なく使用できるかな?

195:名前は開発中のものです。
07/06/26 23:25:46 xz+C0aRL
ITextureのlock()ってピクセルにアクセスするためのメソッドっぽいですが
どうやって使うんですか?

196:名前は開発中のものです。
07/06/28 02:02:50 1c/I/fjJ
そのぐらいリファレンスみて想像しようぜ

unsigned char *buffer = (unsigned char *)texture->lock();
irr::core::dimension2d<irr::s32> size = texture->getSize();
int width = size.Width;
int height = size.Height;
int pitch = texture->getPitch();

ふつうに生成したときに指定したピクセルフォーマットで
横方向×縦方向になったビットマップだからあとは適当に。
処理がおわったら unlock()


197:名前は開発中のものです。
07/07/13 23:07:01 HjKp4JGG
URLリンク(up.tseb.net)
ピクセルシェーダーでテクスチャを設定する機能を追加しようとして
失敗したの置いておきます。コンパイルは通るけど実行できません

198:197
07/07/13 23:31:53 HjKp4JGG
up3411.zip

199:名前は開発中のものです。
07/07/13 23:56:59 RRLQfx/n
>>197
面白そうなものが!!
ってDLしたけど、うちではピクセルシェーダーが使えない

応援してますぜっ

200:名前は開発中のものです。
07/07/14 09:01:55 v8M2A7vk
ピクセルシェーダー使えないって何年前のGPUだよX8時代じゃないか

201:名前は開発中のものです。
07/07/14 09:23:28 1/D+ruoO
おれの開発用くそノートも普通に使えませんが何か?


202:名前は開発中のものです。
07/07/14 10:12:25 6FF8AiM/
radeon8500だもの

203:名前は開発中のものです。
07/07/14 10:26:43 P7x7dvCR
流れとる

204:名前は開発中のものです。
07/07/14 11:39:06 6FF8AiM/
>>197本人ではないけれどゲムデブロダにあげなおしてみた
URLリンク(gamdev.org)

205:名前は開発中のものです。
07/07/15 17:05:34 YU7A9b2a
エラー全文です。
Please select the driver you want for this example:
(a) Direct3D 9.0c
(b) Direct3D 8.1
(c) OpenGL 1.5
(d) Software Renderer
(e) Burning's Software Renderer
(f) NullDevice
(otherKey) exit

a
Please press 'y' if you want to use high level shaders.
y
Irrlicht Engine version 1.3.1
Microsoft Windows XP Personal Service Pack 2 (Build 2600)
Using renderer: Direct3D 9.0
NVIDIA GeForce FX 5600 nv4_disp.dll 6.14.10.9371
HLSL pixel shader compilation failed:
error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upg
rade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL


HLSL pixel shader compilation failed:
error X3539: ps_1_x is no longer supported; use /Gec in fxc to automatically upg
rade to ps_2_0
error X3539: Alternately, fxc's /LD option allows use of the old compiler DLL

あとは省略

206:197
07/07/15 17:11:27 YU7A9b2a
ちなみに、10.Shadersのexampleです。
setPixelShaderTextureはD3D9 HLSL用にしか作っていません。

207:名前は開発中のものです。
07/07/15 18:30:05 YU7A9b2a
age

208:名前は開発中のものです。
07/07/15 19:50:18 YU7A9b2a
URLリンク(forums.microsoft.com)
error X3539について載っていますが・・読めねぇ!!
最初から入っているDLLだと問題おきないのに
書き換えたソースをコンパイルすると>>205のような問題がおきます。
なぜ?誰か分かる人教えてください

209:名前は開発中のものです。
07/07/15 19:59:17 YU7A9b2a
あ、ソース中でコンパイルターゲットを
ps2_0,vs2_0にすると、普通にシェーダー有効になりますね。
でも書き換える前のソースではこんな風にならないのに・・?
本来なら書き換える前のソースでコンパイルしたDLLでも
問題が起きるはずなんですが。

210:名前は開発中のものです。
07/07/15 20:56:28 EtuSIamm
>>208
大事な部分だろうところを訳してみた。参考にどうぞ

windozer_ wrote:
>DirectX10ではpixel shader1.xはサポートされなくなりました。
>pixel shader2.0以上のみ動作します。
>まだ古いshader modelでfxcを扱いたいなら、/LDスイッチを使用してください。
>OCT2006_d3dx9_31_x86(x64).cabをアプリケーション配布ランタイムに含める必要があります。
>ps_1_xシェーダでpxcを使うには、後方互換用に/Gecスイッチが使えます。
>このスイッチは上位pixel shaderをターゲットにするときは影響しません。
>
>Dx9とDx10の相違点:
>December 2006 SDKはDx10 HLSLコンパイラ(fxc)がデフォルトです。
>Dx9コンパイラールール(fxc.exe)で、再度コンパイルしたいアプリケーションのために
>/LDスイッチをfxc.exeで使う必要があります(これにはD3DX9_31.DLLが必要)
>Dx10 HLSLコンパイラは直接ps_1_xシェーダをサポートしません。
>ps_1_xシェーダでpxcを使うには、後方互換用に/Gecスイッチが使えます。
>このスイッチは上位pixel shaderをターゲットにするときは影響しません。
>
>Dec 2006 SDKでps3.0を使うときは(/T fx_3_0)を指定してください。

あれ、同じ事が2回書かれてる。
つまり、新しいSDKではps1.xでの開発は廃止されて、尚且つDx10では実行のみ限定サポートってこと?
ピクセルシェーダは全然分からないけど、SDKのバージョンに由来する問題じゃないのかなぁ。

211:名前は開発中のものです。
07/07/15 21:21:15 YU7A9b2a
>>210
stubD3DXCompileShaderの処理を変えたら出なくなりました。
(flagsにD3DXSHADER_USE_LEGACY_D3DX9_31_DLLを設定)

しかし、せっかく作ったsetPixelShaderTextureは使えず・・・。
ITextureをCD3D9Textureにダイナミックキャストして、
IDirect3DDevice9::SetTextureに渡しているんですが、ここに間違いが・・?
HRESULT hr = CD3D9HLSLMaterialRenderer::pID3DDevice->SetTexture( (DWORD)hndl,
dynamic_cast<CD3D9Texture*>(texture)->getDX9Texture() );
textureはITextureです。

212:名前は開発中のものです。
07/07/15 21:26:20 YU7A9b2a
あ、間違い発見しました
D3DXHANDLE hndl = tbl->GetConstantByName(NULL,name)
したのをなぜかDWORDにキャストして渡しています。
これがいけなかったようです。
SetTexture( tbl->GetSamplerIndex(hndl)
dynamic_cast<CD3D9Texture*>(texture)->getDX9Texture() );

やっと動いた!バンザーイ!!
・・・うpするのはまた後で。

213:名前は開発中のものです。
07/07/15 21:32:50 YU7A9b2a
URLリンク(gamdev.org)
多分書き換えたファイル全て含んでいると思いますが、もし間違っていたらごめんなさい。

214:名前は開発中のものです。
07/07/15 22:09:12 EtuSIamm
>>213
おめでとさん!!

215:名前は開発中のものです。
07/07/15 22:27:00 YU7A9b2a
URLリンク(gamdev.org)

試しに使ってみました。10.Shadersのmain.cppに上書きしてください。
シェーダーの適用された箱のテクスチャが変わっているはずです。

216:名前は開発中のものです。
07/07/15 22:30:44 YU7A9b2a
あと
・できればD3D8やOpenGLでもsetPixelShaderTextureを実装
・ボリュームテクスチャやキューブテクスチャの対応
したいんですが、難しそう・・

217:名前は開発中のものです。
07/07/18 16:54:07 siT7N+Pd
irrlichtの3D周り以外をDXライブラリで補うことはできませんかね。
そうすれば非常に使いやすい物になりそうなんですが。


218:名前は開発中のものです。
07/07/18 18:07:47 Kk6j5tgO
>>217
俺はそれでやってる

219:217
07/07/18 18:20:31 siT7N+Pd
>>218
SetNotWinFlagでDXの方でウィンドウを生成せずに、IrrlichtDeviceの生成をしてみたのですが、
これだとDXの2D描画機能は使えませんよね。
ここを何とかうまくいかせる方法が知りたいのですが、アドバイス頂けませんか?

220:名前は開発中のものです。
07/07/20 21:47:25 gz816Uua
これどうやってαブレンド設定するんですか?
ピクセルシェーダーでαを0.5fにしたりしても反映されません。

221:名前は開発中のものです。
07/07/22 23:24:20 dHNqWe5Y
IrrEditで作ったTerrainでコリジョン判定がうまくいかないっす
Demoのソースで読み込みとかcreateCollisionResponseAnimatorやってるけど
うまくいかないでっす サンプルとかないですかね。

222:名前は開発中のものです。
07/07/24 16:40:21 GWz2iQy5
モデルに透過したテクスチャを表示したいのですがうまくいきません。

// 必要なものを用意
IrrlichtDevice *device =
createDevice( EDT_DIRECT3D9, dimension2d<s32>(800, 600), 16,
false, false, false, 0);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();

// 画像を読み込みテクスチャを透過する
ITexture* images = driver->getTexture("texture.bmp");
driver->makeColorKeyTexture(images, position2d<s32>(0, 0));

// メッシュを読み込みノードを生成しテクスチャを貼る
IAnimatedMesh* mesh = smgr->getMesh("mesh.x");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode(mesh);
node->setMaterialTexture(0, images);
node->setMaterialFlag(EMF_LIGHTING, false);

driver->draw2DImageでテクスチャが透過されていることは確認しています。
ですが、実際にはテクスチャが透過されないまま貼られてしまいます。
どこが間違っているんでしょうか・・・

223:名前は開発中のものです。
07/07/24 20:23:31 IJhrCg6D

EMT_TRANSPARENT_ALPHA_CHANNEL
EMT_TRANSPARENT_ALPHA_CHANNEL_REF

224:222
07/07/24 21:45:32 GWz2iQy5
>>223
できました。ありがとうございます。

225:名前は開発中のものです。
07/08/17 16:36:03 6fURu5ue
サウンド鳴らしたり、
JoyStickを使ったりキーボード同時押ししたりしたいんだけど、
どのライブラリと組み合わせるのがいいのかねえ?
やっぱSDLか。


226:名前は開発中のものです。
07/08/17 21:21:07 JOm4yoYn
>>225
SDLがいいだろね
1.3.1からSDLスクリーンを"_IRR_USE_SDL_DEVICE_"で指定できるらしいから

- Added an SDL device for cross-platform window support. Especially useful
for embedded systems and others without hardware acceleration. This device
is mutually exclusive with the other devices and requires linking against
the SDL library.

227:名前は開発中のものです。
07/08/21 13:39:32 6YwC5BTI
xファイルのIAnimatedMeshを複数のIAnimatedMeshSceneNodeで使ってるんですが
IAnimatedMeshXのsetCurrentAnimationを使ってアニメーションの切り替えをすると
当然ですがすべてのNodeのアニメーションが切り替わってしまいます。
メッシュ共通でノードごとに個別のアニメーションを設定したいんです。
MD2ならIAnimatedMeshSceneNode::setMD2Animation()というメソッドがあるようですが
xファイルで同様のことをするのは無理なんでしょうか。

・巨大な1つのアニメーションのみを使用しsetFrameLoopで切り分ける
・ノードごとにメッシュを持つ
以外の策はあるでしょうか。


228:名前は開発中のものです。
07/08/22 01:22:32 01NRLC2p
似たような質問だけど、結局キャラデータ扱うとき一番いいのはなんなんだ?
.objも.xも.md2も読めるのはわかるけど、、、 Demoとか見たり、サンプルソースみるとmd2がいいのかどうなのか

229:名前は開発中のものです。
07/08/23 10:20:15 8/SMkDSC
>>228
独自フォーマット

230:名前は開発中のものです。
07/08/23 19:23:09 4OFxg1Qw
ライブラリとかツールとか人間とかの実力を手っ取り早く評価するには
その成果物を見ればいいってばっちゃが言ってた。

ってことで、なんかIrrlichtで作られたスゲーゲームない? 知ってたら教えてちょんまげ
(ORGEとかも見たいけどあっちのスレかな)

231:名前は開発中のものです。
07/08/23 23:24:27 nraT72mF
>>230
ここに紹介されてる
URLリンク(irrlicht.sourceforge.net)

古いの
URLリンク(www.youtube.com)
最近の
URLリンク(www.youtube.com)
それとインドネシアの日本ゲー大好き兄ちゃんが作ったもの
URLリンク(www.youtube.com)


232:名前は開発中のものです。
07/08/24 02:41:31 lkVVoHFO
このスレならどんな質問にも答えてくれるよ
スレリンク(avi板)

233:名前は開発中のものです。
07/08/28 23:08:27 Ssyzhq4l
>>231
Tokusatsu Agent に、md3吹いた

234:名前は開発中のものです。
07/09/11 20:37:12 RC31XfpB
VC6上で、STLとirrlichtを共存させた場合

std::stringと
irr:core::stringがかちあって
ビルドエラーが起きてしまうのですが、
どうすれば良いかわかりますでしょうか?

stringを使用する箇所では、全てnamespaceを入れて指定していますが、
自分が書いていない、
2つのライブラリのヘッダファイルのレベルでエラーが起こってしまいます。

以下、エラー文です。
irrlicht-1.3も試しましたが、エラーでした。

c:\vc98\include\xstring(613) : error C2955: 'string' : クラスのテンプレート名で仮引数リストの指定がありません。
c:\irrlicht-1.3.1\include\irrstring.h(817) : 'string' の宣言を確認してください。

235:名前は開発中のものです。
07/09/12 01:47:37 8kBEhANN
>>234
1.ヘッダよりも下で基本名前空間を指定する
2.using namespace core;、using namespace std;を使わない(使うたびに指定する)

この二つに注意してもエラーになる?
少なくともvc2005では、その現象を再現できなかった

236:234
07/09/12 06:57:46 yt2vr1g+
>>235
はい、使うたびに指定していますが、なってしまいます。

同じソースをVC2003でビルドしますと、うまく通るのですが、
他に使ってるライブラリがVC6を要求していまして、
VC6でビルドしないといけないもので、どうしたものかと。。

237:234
07/09/12 12:00:39 TaH0UuNn
自己解決いたしました。
ありがとうございます。


238:名前は開発中のものです。
07/09/12 12:27:50 8kBEhANN
>>236
それなら、考えられる対策3つほど簡単な順に。

・VC6にSP6を適用する
URLリンク(www.microsoft.com)

・ヘッダ等をWindows Server 2003 Platform SDK February 2003 Editionにバージョンアップ(VC6.0対応は2003.02まで)
URLリンク(www.microsoft.com)

・ライブラリ部分だけをDLL内部に閉じ込めて影響範囲を狭める。
やりとりはブリッジ関数をかませたりして面倒なのが欠点。

上から試して解決すればいいんだけどねぇ。
それと、運がいいとVC6でライブラリビルドしたものをvc2003以降でそのまま使えるかも。


239:名前は開発中のものです。
07/09/12 12:30:31 8kBEhANN
>>237
おめでとう、入れ違いになった。
解決方法はどんな風に?

240:234
07/09/13 02:27:50 Vi6ngnsF
#include <irrlicht.h>
#include <string>

#include <string>
#include <irrlicht.h>
で通りました。

すみませんありがとうございましたorz

241:名前は開発中のものです。
07/09/17 18:17:03 w4SFU02u
VisualStudio2005でlightfeatherのビルドうまくいかないけど、どうすればいいんですかね。
サンプルにあるVC6用のプロジェクトファイルだとうまくいったりいかなかったりだけど、
新たにプロジェクト作ってソースとかヘッダーいれるだけだとうまくいかないです。

242:名前は開発中のものです。
07/09/17 20:45:49 dcjZVnkb
lightfeatherはいじってないからわかんない
あれってまだIrrlichtの名残りある?
本家よりも拡張されてるようだけど、動作不安定で俺のところは落ちるよ

243:名前は開発中のものです。
07/09/18 02:25:01 7EBKJzTE
lightfeatherは、デモが落ちまくるから信頼性なしw

244:名前は開発中のものです。
07/09/19 17:41:58 +A3proP+
Irrlichtはあるのかしらん?
そろそろエンジンに頼らないとやってられなくなってきた。

245:名前は開発中のものです。
07/09/19 19:16:55 RUbs+riS
>>244
あるのかしら、とは信頼性のこと?
レンダリングの挙動がおかしい場合もあるけど
少なくともエラー落ちはないに等しい

246:名前は開発中のものです。
07/09/22 13:44:43 a9XL70nj
DX10にはいつ対応するのかしらん

247:名前は開発中のものです。
07/09/28 22:18:30 J7/3w0px
自分でドライバ書けば

248:名前は開発中のものです。
07/09/29 00:45:20 hb9qADnP
>>247
ごもっとも過ぎるw

DX10でしか実現できない機能を実装する段階にならないと対応はないんじゃないかな?
つまり当分先な気がす

249:名前は開発中のものです。
07/09/29 06:30:01 7kgtZ9g6
10.0で何が出来るのかさ知らないがwwwww

250:名前は開発中のものです。
07/09/29 08:55:07 6wJlaFYW
Vista対応w

251:名前は開発中のものです。
07/09/29 08:57:22 PKANHVaL
ドライバ書けって何のドライバ書けばいいのさ

252:名前は開発中のものです。
07/09/29 10:06:15 UnzWy8dg
ソースみて自分で学べ

253:名前は開発中のものです。
07/09/30 18:44:07 sFU/qm7G
ドライバじゃねがっす
DX10のラッパーと言うべきか
DX9だってエミュレーションだけどVistaで動くしな~

254:名前は開発中のものです。
07/10/01 18:29:07 nK/QuGDo
>>253
Irrlichtのローカル用語でそういうのをドライバというのさ

1.CD3D9*系のモジュール(全部で7つ、必要なら増やせ)をDX10対応に書き換えて、
CD3D10*系モジュールを作る
2.CIrrDeviceWin32,cppをいじって、新しく作ったモジュールに対応できるようにする。

これだけだ、がんがれw

255:名前は開発中のものです。
07/10/01 21:52:00 VPa19YHN
RADIANCEフォーマット(.hdr)の画像書き込み/読み込みクラスを作って
次にfloatのテクスチャを作れるようにしようとしたんですが
DirectX9では出来たものの、OpenGLでは知識が無くて苦戦・・

256:名前は開発中のものです。
07/10/01 22:13:48 l2LADDgi
質問だが、自作ゲームが微エロゲーになってしまったんで、
18禁の定義を診断してくれないだろうか、セーフなら15禁、アウトなら18禁って事で。

問題1:
イタイケなおにゃの子が、淫魔に追っかけられるクロックタワーのパロゲー。
捕まるとハァハァされる、絵による描写は無く台詞のみ。

問題2:淫語使いまくり、顔グラに汁グラあり。

257:名前は開発中のものです。
07/10/01 22:17:10 bT+F18r8
18斤

でも、すれ違い
ほかのところでやるべし

258:名前は開発中のものです。
07/10/01 22:34:55 l2LADDgi
>>257
了解、回答ありがとう。
…と、言われたものの、他ねぇ。

259:名前は開発中のものです。
07/10/01 22:49:35 l2LADDgi
って、今更気づいたが、
ここ質問スレは質問スレでも、スレ立てスレじゃない!?
やっべ、なんという誤爆!スレ汚しマジすまん!



でも回答サンクスコ(´・ω・`)

260:名前は開発中のものです。
07/10/04 23:49:59 XO6lWepS
視野角90度で平行投影したいんですがどうすれば
ある一点からキューブマップをレンダリングしたいです。

261:名前は開発中のものです。
07/10/05 10:17:02 IKhaq7cZ
>>260
ほれ

URLリンク(www.irrlicht3d.org)

ヒント:buildProjectionMatrixOrthoLH

公式のOrthgonalチュートリアル貼ろうと思ったらリンク切れてたしw

262:名前は開発中のものです。
07/10/05 23:17:03 5WSrAfdX
>>261
トンクスです。
この関数は知っていましたが使い方が分かりませんでした

263:名前は開発中のものです。
07/10/06 12:26:08 Iq/e+TZM
1.4betaなんて出てたのね

264:名前は開発中のものです。
07/10/06 21:22:18 OSyH3sfK
うん。
ただし、まだまだ作業中みたい
今のうちに不具合報告すれば即直してくれそうだなぁ

ところで、IGUIFileOpenDialogって
Unicodeとマルチバイト、どっちでコンパイルしても
日本語は文字化けするよね?

265:名前は開発中のものです。
07/10/06 22:27:35 QRh8Z4nZ
>>264
Gogoのzgock氏が公式フォーラムにパッチ投げてくれてる。
で、MadHyde氏のIrrlichtML(Truetype組込版)はそのへんマージ済

URLリンク(etwas.wolfish.org)

266:264
07/10/07 01:13:43 IkjREsJq
>>265
うぁ、実はそのMadHyde本人です
本家のみの使用で解決してる人はいるのか気になって聞いてみた次第

せめて表示だけは文字化けしないように
zgock氏のマルチバイト変換コードを
オフィシャルでマージしてもらえるようにレポートしてみる


267:名前は開発中のものです。
07/10/07 13:50:19 f6k7egVq
>>266
てら乙
Gogoのzgock氏、どうもご本人の興味がIrrlichtから
CG/Poserとかの方にいっちゃったみたいで、
(メッシュファイル関連でPoserに手出してたからそっちが楽しくなっちゃったんだろね)
そっちの世界でセルシェーダのプラグイン書いたりがんがっておられるようです。

MadHyde氏が日本語関連の砦です。
がんがってくだされ

268:名前は開発中のものです。
07/10/08 10:26:52 bWH+igss
質問よろしいですか
まだ導入もしていないのだけれども、Irrlicht SDK 1.2は安定版ですよね
プログラムの偶数バージョンは安定版のはずだけど自信がなくて…

269:名前は開発中のものです。
07/10/08 10:50:26 o9MbTnSi
え、そんな法則あったんですか?
linuxkernelがそうであることは知っているけど、、、

270:名前は開発中のものです。
07/10/08 11:16:37 YblPsSas
linuxというか、un*x系の流儀で、そういうルール使う場合もしばしばある(FreeBSDなんかもそう)が、
Irrlichtの場合あまり関係ない
ので、安心して1.3使ったがいい

271:名前は開発中のものです。
07/10/08 12:00:58 bWH+igss
回答サンクス!安心して1.3を導入します

272:名前は開発中のものです。
07/10/09 16:22:23 bAtjWg0O
Lunaとどっちが凄いの?
ボーン取得して動かせる事できる?
xファイル読み込める?
当たり判定ある?

273:名前は開発中のものです。
07/10/09 16:27:38 saf09NRl
>>272
目指してる方向性が違うのでどっちが凄いかは決められない
ボーン取得はできる
xファイルは読めるし、それ以外の対応フォーマット多彩
コリジョンはある

274:名前は開発中のものです。
07/10/09 19:38:30 biTCbtf6
>272 3Dマップ(bspやirrなど)を使うなら、無料ライブラリではたぶんIrrlichtが最強最速。
ただし日本語関連が非公式頼り(>264-266)なのと、
2D描画機能が最低限なのがネックか。
スケールや回転を行いたいだけでも3Dが必要になる。
あとは、言うまでもなく日本語資料の少なさ。
英語資料を含めても意外と抜けが多く、3Dマップやmd2以外のモデルの使い方は不足気味。

Lunaはドキュメント不足気味で、取っつきにくい。3Dライブラリなのにチュートリアルに3Dがないし。
Lunaのおおよその機能は次世代たるSeleneに移植されていて、そちらのほうが資料面ではマシ。
Seleneはまだメジャーリリース前なので、どうしても機能や関連ツール群で劣る。
Irrlichtに比較して、シーン構築やGUI部品がまだ実装されていない。
ただし2D描画機能はちゃんと積んでいる。代表的完成品「トラブル☆ウィッチーズ」が2DSTGだし。
あとは、独自モデルなのはともかく、モデルの作成ツールがやや使いづらいのがネック。
(テクスチャマップ貼り付けがあるのに削除がなかったり、そもそも貼り付けられているか分からない)

275:名前は開発中のものです。
07/10/10 20:54:11 c3o/pV+/
お前ら、Irrlichtと組み合わせで、お勧めのサウンドライブラリを教えて下さい。

やっぱり、irrKlangになるんだろうか・・・

276:名前は開発中のものです。
07/10/11 23:17:17 WfkI6oI+
サウンドはOpenALで適当に作ったな

277:名前は開発中のものです。
07/10/11 23:59:19 3R315KwB
irrKlangはIrrlichtとコーディングスタイルが似てて使いやすいかもね
Audiereもおぬぬめ
URLリンク(audiere.sourceforge.net)

278:名前は開発中のものです。
07/10/12 00:46:18 s8TbIxv0
AudiereはIrrKlangが出来る前まではIrrlichtDemoの中で使われてたからな

279:名前は開発中のものです。
07/10/12 13:58:24 PIfwULpF
>>276
㌧クス

・IrrKlang
 フリー利用はフリー、商用は、有償。
 マルチプラットフォーム。
 3DSound、エフェクトに対応。ループポイント指定不可。
 簡単そう。
・Audiere
 LGPL。
 マルチプラットフォームっぽい。
 Java、Pythonバインディング有り。
 サンプルアプリでは、ループポイント指定可能のようだ。
 簡単そう。
・OpenAL
 LGPL。
 DirectSound並に低レベル。
・SDL_Mixer
 LGPL。
 簡単そう。

という感じでしょうか。

私的には、LGPLが許せば、Audiereがよさげだな・・・

一回、wikiにでも、まとめておいた方がいいですね。
これ以上は、ライブラリスレに行った方がいいか。

280:名前は開発中のものです。
07/10/13 02:05:03 HyccwUSY
なんかこのスレって割と経験者の集まりだな
超初心者スレはないのか・・・

281:名前は開発中のものです。
07/10/13 02:09:08 oaqS3f97
>>280
別に超初心者な質問しても誰も怒らないと思うぞ、
ただでさえ過疎スレなのに、さらに分家しても意味ない。

282:名前は開発中のものです。
07/10/13 02:13:29 HyccwUSY
そうか。ありがとう
といってもまだ今日始めたばかりなんだ
もしつまづいたら聞くかも知れないので、その時は暇だったら教えてください

283:名前は開発中のものです。
07/10/13 08:25:21 dBFGuNg7
>>282
おぅ、がんばれー

284:名前は開発中のものです。
07/10/14 13:37:57 5IQh9etz
サンプルirrファイルを使ってコリジョン判定をやってみようかと思ったんですが、
createOctTreeTriangleSelectorだとメッシュとシーンノードの取得の方法が
わかりません。どうしたらいいのでしょうか。

285:名前は開発中のものです。
07/10/14 15:40:55 lMM34/uL
シーンノードの「取得」ってのが意味不明なので・・・
軽くエスパーしてみる

TriangleSelectorは基本的に一つのシーンノードに対しての
コリジョン判定器だから、
複数のノードに対してTriangleSelectorつかうなら、
その数だけTriangleSelectorを用意することになる。
自前でコリジョン判定するなら、
TriangleSelectorのgetTrianglesメソッドで、
レイなりバウンディングボックスなりとのコリジョンをとればいいから
(Triangleが存在する=コリジョンしてるということ)
当たりを取りたいノード分だけぶん回せばいい

そうじゃなく、createCollisionResponseAnimatorで複数のノードに反応したいということなら、
CMetaTriangleSelectorを使う


286:名前は開発中のものです。
07/10/14 16:23:52 5IQh9etz
えーと、その前の事で、

IrrlichtDevice *device = createDevice(略);
devive->loadScene("terrain.irr");

とシーンファイル読み込むとマップモデルが表示されるのですが、ここから
createTriangleSelectorに指定するノードとメッシュをどうやって取得すれば良いのかが分からないのです。


287:名前は開発中のものです。
07/10/15 00:32:46 Alx2212L
>>286
おk把握w
.irrのシーンファイルは、ただのxmlで、
開くと中に普通にメッシュとかのロード指示が入ってる。
サンプルのexample.irrだと、
部屋のメッシュとしてroom.3dsを読み込んでいることがわかる。
なので、こいつのNameフィールドにしかるべきvalueを与えて、
(IrrEditで開いて、Name付けても可)
getSceneNodeFromName()で持って来ればいい。
つか、TriangleSelector関係ねーじゃんw

288:名前は開発中のものです。
07/10/15 02:05:29 H/ew0wXN
モデラーというか、最終的にirrlichtに読み込ませるファイルはみんな何で作ってる?
色々試したけど、xファイルはmilkshapeで作ったのじゃないと上手く読めない感じ・・・
md2は作りにくいし・・・
結局Irrlicht A GoGoの作り方のとおりにやるのが一番簡単なのかな

289:名前は開発中のものです。
07/10/15 21:13:59 Alx2212L
>>288
xファイルについてなら、ここ見てみた?
URLリンク(lesson.ifdef.jp)

290:名前は開発中のものです。
07/10/15 23:00:37 RgsypFFj
>>287
できました。ありがとうございます。

291:名前は開発中のものです。
07/10/15 23:15:22 5mOqSGG2
VC2005EEで
IRR_USE_SDL_DEVICEつけてコンパイルする方法が分かりません・・。
SDL.libとSDLmain.libを追加の依存ライブラリに設定しましたが
最後にリンカエラーが出ます。
しかも、どうやったらSDLの命令を使ったり出来るのかもわかりません。

292:名前は開発中のものです。
07/10/16 01:50:36 JzrpuxP2
>>291
どんなエラーか詳しく。
ってか、IRR_USE_SDL_DEVICEは、
どっちかっつーとMacであるとかその他組込系とかのために、
3DエンジンをSDL管理下に投げるためにあるわけだが、
何がしたいん?

293:lesson.ifdef.jp
07/10/17 00:35:48 MD/R4l7g
>>264 MadHydeさん
IGUIFileOpenDialogでだけ?格納されている文字列が
おかしくなっているのを確認しました。
以下に、例をあげてみます。

「終了」という名のファイルがあったとします。
WCHARで示すと 8F 49 97 B9となります。
しかし、IGUIFileOpenDialogでは8FFF 4900 97FF B9FFとなっています。
(1バイト文字だけの時は問題なく、2バイト文字がまざるとなります。)

FFを省けば問題なく日本語の表示が可能です。
(ファイル名で半角カナも混ざっている場合があるので
 全角文字に変換するか、半角カナも表示する機能も必要になります。)

ここにサンプルを載せてありますので、良かったらどうぞ。
URLリンク(lesson.ifdef.jp)
URLリンク(lesson.ifdef.jp)

294:名前は開発中のものです。
07/10/17 01:48:53 gpaUcF8i
>>291
うちでIrrlichtMLのIMETEST.exe上で動作確認してみた。
別に「終了」というファイル名も、
「終了テスト」という半角カナ交じりのファイル名も
問題なく表示できたけどなあ?
WindowsXPSP2/Windows2000SP4上で確認

295:名前は開発中のものです。
07/10/17 01:58:45 gpaUcF8i
連投ごめん
もし、オリジナルのIrrlichtでそういう問題があるという指摘だったら、
上記のように既にzgock/MadHyde両氏で対策済だから、
別に騒がなくてもいいと思

296:lesson.ifdef.jp
07/10/17 02:45:21 MD/R4l7g
>>294 ID:gpaUcF8iさん

MadHydeさんが「本家のみで解決できてるか」との質問を出していたので
本家ではどうなているか調べてみました。
>>264
>>265
>>266
>本家のみの使用で解決してる人はいるのか気になって聞いてみた次第

本家だけを使用した場合は、1ステップが必要になる(バグの可能性がある)。
現在Irrlichtが1.4へバージョンアップ中のため、この内容を伝えれば
修正をしてくれるかも? ということかと思います。
そして、さらに「どうせならマルチバイト変換コードもオフィシャルに」
と、伝えるつもりなのかと思って、私なりに調査・報告したまでです。

「本家で確認しました」というコメントが抜けていてすみませんでした。

297:名前は開発中のものです。
07/10/17 03:00:46 gpaUcF8i
>>296
了解了解。それなら納得です。

ただ、wcstombs関連の扱いについては、
提示していただいたサンプルだと、
1.setLocale()をJapanese決めうちしちゃってる
2.IrrMLの処理に比べて冗長
な気がするんで、
zgock/MadHyde氏版の処理の方がスマートな気はする。

298:lesson.ifdef.jp
07/10/17 03:26:50 MD/R4l7g
>>296 ID:gpaUcF8iさん
遅くまでお疲れ様です。

マルチバイト文字を変換する方法としては
確かにMadHydeさんのものより長くなっております。
ですので、私のサンプルはまだまだ改善するべきかもしれません。
※Irrlichtで用意してあるGUIがマルチバイト文字必須なので
 仕方なく使用している感じです。

現在はマルチバイト文字は使用していないので、
URLリンク(lesson.ifdef.jp)
で示すPrintfだけで日本語が表示可能になっています。

299:MadHyde
07/10/17 06:49:29 lb1CWKLF
>>293-298
Irr Lessonさんを紹介する記事をアップした矢先に中の人が降臨なさっている!
しかも、熱い討論が交わされているとは。
お二方、遅くまで乙です。

>>266を訊いてみたのは、コアハックをせずとも
エクステンションパックのような形で日本語対応できれば
利用しやすく保守が確実なものができるのではないかと考えているからです。
(ただし、他の言語圏でも有用なコードは、なるべくマージしてもらおうと言う試み)

今週中は時間取るのが難しいですが、なんとか提示頂いたサンプルを見て
最適な実装方法とは何かを検討してみようと思います。

ところで、lessonさんのお名前を伺ってもよろしいでしょうか?
サイトでの紹介には、やはり執筆者のお名前を添えたいので。

300:MadHyde
07/10/17 07:11:32 lb1CWKLF
コンタクトフォームからも連絡が来てた。
返信しておきましたm(_ _)m

301:名前は開発中のものです。
07/10/17 22:09:06 JMcE+2Z1
>>292
自己解決しました。
CIrrDeviceSDL.cppと同.hが何故かプロジェクトに入っていませんでした。

>どっちかっつーとMacであるとかその他組込系とかのために、
>3DエンジンをSDL管理下に投げるためにあるわけだが、
>何がしたいん?

複数キー同時押しとか、ジョイスティック使用とかです。

CCameraSceneNodeって、setRotationで角度指定できないんですね・・。

302:名前は開発中のものです。
07/10/18 01:38:13 QBfYpW0R
>>301
描画にSDL使わないんなら、
CIrrDeviceSDLを使い必要はないはずなんだがな・・・
単純にリンクできたはず。

303:lesson.ifdef.jp
07/10/18 21:12:13 ttH8nhVa
>>301 さん
そのままでは回転できないので、カメラとは別にノードを作成し
ISceneNode *cameraMan;//カメラマンを用意
それを親とするカメラを作成してみて下さい。
カメラマンを動かすことで、カメラも一緒に動くことが可能です。

もう少しスマートに動かせたら楽なんですけども
一応上記の方法で可能です。

304:lesson.ifdef.jp
07/10/18 21:21:43 ttH8nhVa
>>299 MadHydeさん
お返事ありがとうございます、必要事項は返信しておきました。
先日の確認はver1.3.1を使用しましたので、
時間があれば1.4Βでも確認してみたいと思います。

2バイト文字対応に関しては、私のサンプルでは日本語だけですが
irrlichtMLでは日本語以外も対応しているので、
標準機能になると心強いですね。
なんとか、頑張って欲しいものです。

305: ◆YATA/oetrw
07/10/19 00:17:15 gpRuIoHa
>>301
ICameraSceneNode::setTarget()で間接的に回転するはず

>>304
紹介文を更新しておきました
気が向いたら確認をお願いします~

来週、1.4へのMLのマージを兼ねて動き出しますです


306:名前は開発中のものです。
07/10/22 22:08:51 r3G5ZH1J
Irrlichtの描画を行いながら動画を再生したいのですが
お勧めのライブラリはありますか?

出来ればその利用法などを教えていただけるとありがたいのですが。

307:名前は開発中のものです。
07/10/22 23:03:53 bCtKZdb4
浮動小数テクスチャや16bit整数のテクスチャが標準で使えるようにはなりませんかね
HDRレンダリングがしたいです。

308:名前は開発中のものです。
07/10/23 04:46:43 RQcCX2DH
>>306
Magic 2D Library
URLリンク(www.freewebs.com)


309:名前は開発中のものです。
07/10/23 04:47:09 +WToHqau
>>306
SDLにMPEG2デコーダ付いてなかった?使った事無いけど
そうでなければDirectShowのグラフにgrabberをぶら下げて
ベタビットマップをテクスチャに貼り付ける.
オーバーレイはデバイス握ってるとたぶん無理じゃないか?

310:名前は開発中のものです。
07/10/23 11:26:57 61W+y2K1
>>308
そのライブラリ、>>306,>>307の問題を両方解決してくれそうだな
関数群がカプセル化されてないのが惜しいぜ

311:名前は開発中のものです。
07/10/24 00:20:01 GWIOzhxY
どうもです。

>>308
更新が止まってしまっていますね。
最新バージョンに合わせたいので見送ろうかと思います。

>>309
SDLのほうはわからないです。
ビットマップはありなのかなぁ。一番楽な気はしますが。

312:名前は開発中のものです。
07/10/24 19:08:34 R8GREAfn
>>311
作者のEmil氏の名誉のために言っとくが
MagicLibの1.31版がないのは1.3用でそのまま動くからのはずだけどな

313:名前は開発中のものです。
07/10/24 21:53:30 RB/VGvZD
>>312
すいません。。。確認不足でした。

314:名前は開発中のものです。
07/10/26 01:34:29 c03y8h9A
最近Irrlichtを始めました。
以下のIrrlicht a GoGoのサイトのサンプルを実行してみたのですが、
URLリンク(www.zgock-lab.net)

キャラが回転するはずなのに世界が回ってしまいます。
ソースは随分古いみたいなので、何か仕様が変わったりしたのでしょうか?
どうすれば直るのか教えてください。


315:名前は開発中のものです。
07/10/26 01:59:02 +UlAqHmS
>>314
最終状態としてはそれで合ってる。
「簡単な3rd Personカメラ」の章の直前までの
状態にすればいい。
そのへんの基本は変わってないはず。

316:名前は開発中のものです。
07/10/28 15:24:54 vLz3dorA
>>315
返事が遅くなったけど、できました。ありがとうございます。
ところで、シーンやノードとかの概念というか関係がいまいちよく分からないんですが、
分かりやすい解説ってどこかにないですかね?
なんか翻訳wikiくらいしか拠り所がないんですが・・・

英語が得意だったらなぁ・・・

317:名前は開発中のものです。
07/10/28 16:05:46 256r1oei
>>316
ISceneNode.hを読む

318:名前は開発中のものです。
07/10/28 18:05:39 lSIhpM9Z
>>316
3D世界をエクスプローラのようなツリー構造で管理しているとイメージすればいいかと。

Irrlicht
 |
 ---キューブ
 |
 ---ボール


319:名前は開発中のものです。
07/10/28 18:51:34 vLz3dorA
>>317
見てみました。
英語さえ分かればドキュメントは豊富だってのは分かるんですけどね・・・
やっぱ俺は純国産じゃないと駄目かなぁ・・・

>>318
それは分かるんですが、それぞれの役割みたいのの簡単な説明があればなぁーと。
まぁ色々いじってて、少しずつなんとなく分かってきたんですが・・・

320:名前は開発中のものです。
07/11/03 13:53:32 cu+jXMlX
irreditでanimatorにtextureを追加して、ファイル名を指定すると、
ファイル名が更新されずに消えてしまうんですがどうすればいいんでしょう。

321:名前は開発中のものです。
07/11/09 00:31:56 xOZdaHMl
FPSゲームを作っています。
FPSなのでとりあえずキャラクターは表示させず、移動はFPSカメラを利用しています。
そこで走る、歩くなどを表現したいのでFPSカメラの移動速度を変えたいのですが、
addCameraSceneNodeFPSで更新するしかないのでしょうか?
add~を連続使用するというのも不安ですし、
そもそもキャラクターの移動はFPSカメラで済まさず、自分で処理するべきなのでしょうか?



322:名前は開発中のものです。
07/11/09 07:41:23 c3OcvDGq
>>321
ICameraSceneNodeを継承して、移動速度が変わるようなカメラクラスを作る
雛型はFPSのをコピーすれば後はキー入力部分を変更するだけ

このクラスはマネージャに未登録だからadd~では追加できなくなる
次のコードで対応

CCameraSceneNodeFPSown* CameraPFS = new CCameraSceneNodeFPSown(smgr->getRootSceneNode(), smgr);
CameraFPS->drop();

323:名前は開発中のものです。
07/11/11 18:57:11 FfvcBzgB
3rd Personカメラをあれこれいじっているんですが、
画角を調整しても、画面端に行くにつれてモデルに歪みが生じてしまい、
いまいちちゃんと表示されないのですが、
なにか良い方法ありますか?

324:321
07/11/11 21:35:00 ogyLcZhW
>>322
クラス作りがんばります。
クラスを作り終えた結果と共にレスを返したかったのですが、
c++についても初心者なため、時間がかかりそうなのでとりあえず報告のレスをば。
あと初心者ついでにお聞きしたいのですが、
addCameraSceneNodeFPS関数は、
ICameraSceneNode* node = new CCameraFPSSceneNode(~);
となっています。
CCameraFPSSceneNodeはCCameraSceneNodeを継承しています。
また、CCameraSceneNodeはICameraSceneNodeを継承しています。
参考にしているサイトURLリンク(www.med.osaka-u.ac.jp)
から考えると、ICameraSceneNodeへのポインタからCCameraFPSSceneNodeへアクセスした場合
CCameraFPSSceneNodeで定義されたメンバ関数にアクセスできるように思います。
しかしCCameraFPSSceneNodeで定義されているsetMoveSpeed関数などにアクセスできません。
理由がまったくわからないのですが、どうしてなのでしょうか?

325:名前は開発中のものです。
07/11/12 02:01:36 hpWiFfmI
>>324
その場合、CCameraFPSSceneNodeクラスのメンバ関数へのアクセスは
ICameraSceneNodeクラスを通した共通関数しか扱えなくなる。
だから、例えCCameraFPSSceneNode内で
setMoveSpeedがpublic関数と定義されていてもアクセス不能です。

もしsetMoveSpeedを使いたいのであれば、こうすること。
CCameraFPSSceneNode* node = new CCameraFPSSceneNode(~);
~~~~~~~~~~~~~~~~~~~~~~~~~

他にダウンキャストって手もあるんだけど、あんまりお勧めはしない。
ICameraSceneNode* node = new CCameraFPSSceneNode(~);
CCameraFPSSceneNode *p = dynamic_cast<CCameraFPSSceneNode*>( node );
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

326:324
07/11/12 05:40:47 7YnjD95v
>>325
仮想関数は、インターフェース部になったクラスに存在し、
その上で再定義されたポインタ越しの関数を呼び出せるというものだったんですね。
勉強になりました、ありがとうございました。

327:名前は開発中のものです。
07/11/16 22:28:36 h9AyeuU1
URLリンク(www.zgock-lab.net)

キャラから弾を飛ばしても
自キャラの移動速度を少し速めると
キャラの前進移動スピード>弾のスピード
になってしまい、追いついてしまいます
でも弾を速くすると今度は速過ぎて見えなくなるし・・・

何か解決策はあるでしょうか

328:名前は開発中のものです。
07/11/16 23:29:15 z3YC6Y9u
>>327
早過ぎず遅すぎない弾の速度に微調整

329:名前は開発中のものです。
07/11/17 00:17:31 2u92yTvZ
弾の速度=静止した状態から発射した場合の弾の速度+キャラの移動速度
とするのが物理的には正しいんじゃね

330:名前は開発中のものです。
07/11/17 09:41:11 /9LSycbG
>>327
弾が尾を引くようにすれば?

331:名前は開発中のものです。
07/11/17 11:13:17 B5H01eQ3
ジョイパッドを使うには
virtual bool OnEvent(SEvent event)
{
if (event.EventType == irr::EET_KEY_INPUT_EVENT) // キー入力であれば
{
switch(event.KeyInput.Key) // キーの種類が
{

の中に入れるべきですか
Irrlicht LessonにはジョイパッドのIDやキーの取得に関しては書いてあるのですが
実際にどうやって使ったらいいか分からなくて・・・

332:名前は開発中のものです。
07/11/17 11:30:58 B5H01eQ3
>>328,329,330
アドバイスありがとうございます。
微調整してみたら結構自然になりました


333:名前は開発中のものです。
07/11/17 12:39:07 B5H01eQ3
と、質問ばかりなのも何なんで
マップとキャラの衝突のコード晒しときます。
これでマップ上を自由に動き回れるはず

// マップ
Device->getFileSystem()->addZipFileArchive("media\\map\\blackbridge.pk3");
IAnimatedMesh *MapMesh = Scene->getMesh("blackbridge.bsp");
ISceneNode *MapNode = Scene->addOctTreeSceneNode(MapMesh);
MapNode->setMaterialFlag(EMF_LIGHTING, false);
MapNode->setPosition(vector3df(1000,-350,550)); // マップの位置を少し下げる
scene::ITriangleSelector* selector = 0; // セレクタ-1宣言
// マップノードをトライアングルセレクターとして登録
if (MapNode){
selector = Scene->createOctTreeTriangleSelector(
MapMesh->getMesh(0), MapNode, 128);
MapNode->setTriangleSelector(selector);
selector->drop();
}

// MAPとキャラの衝突判定
scene::ISceneNodeAnimator* anim2 =
Scene->createCollisionResponseAnimator(
selector, SydneyNode, core::vector3df(10,21,10),
core::vector3df(0,-1,0),
core::vector3df(0,0,0));
SydneyNode->addAnimator(anim2);
anim2->drop();

334:名前は開発中のものです。
07/11/17 22:02:27 +0vqtOt2
>>331
while(device->run())ループ内で描画前にでもjoyGetPos(JOYSTICKID1, &joyinfo);してやって
その結果を元にユーザイベントを投げればOnEventで処理できると思うよ

335:名前は開発中のものです。
07/11/19 09:57:08 CkrKyzUS
>>334
すみません
ユーザーイベントを投げるにはどうすればいいのでしょうか・・・
virtual bool OnEvent(SEvent event)
{
if (event.EventType == irr::EET_USER_EVENT)
{
return true;
}
でいいと思うのですが、
ループからどう関連付ければいいか分からなくて・・・

336:名前は開発中のものです。
07/11/19 10:23:44 CkrKyzUS
よく見たらIrrlicht Lessonに解説ありました・・・
何とか自分でやってみます

337: ◆YATA/oetrw
07/11/19 23:37:01 CwotT0bX
公式DLLのみを使って日本語入力に漕ぎ着けました。
まだWindows版のみで手直しが必要なため動画だけ。

Input Method for Irrlicht 3D engine
URLリンク(www.youtube.com)

先達たちに感謝。
ソースはまた後ほど。

338:名前は開発中のものです。
07/11/20 00:43:58 R5KE+nst


339:336
07/11/20 01:19:13 njgoBjcy
ループ内で
joyGetPos(JOYSTICKID1, &joyinfo); //ジョイパッドの情報を取得
getState(joyinfo); //取得した情報をIDに置き換える
をして、getStateで△ボタンを押すとIDに1が入って、
postEventでレシーバーにユーザーイベントを投げるというのを
やろうとしたのですがpostEventのところでハンドルされていない例外が発生しました
と出ます。。。
どこが問題なのでしょうか。。

//ユーザーイベント送信
void postEvent(s32 eventType, s32 eventId)
{
SEvent event;
event.EventType = EET_USER_EVENT;
event.UserEvent.UserData1 = eventType;
event.UserEvent.UserData2 = eventId;

Device->postEventFromUser(event);
}

//変換
void getState(JOYINFO joyinfo)
{
if(joyinfo.wButtons == 0x0001){
s32 ctrlID = 1;
postEvent(EUMT_JOYPAD_INPUT, ctrlID);
}
}

340:名前は開発中のものです。
07/11/20 01:43:30 njgoBjcy
Driverの宣言部分に問題があったようです。。
多重宣言になってたのに気付かなかった。。

一応ジョイパッドのボタンを押すと
キャラが前進する
というところまではできました
問題は離しても進んでしまうところ。。


341:lesson.ifdef.jp
07/11/20 18:31:20 y97bgTzN
>>340 さん
サンプルではグローバル宣言しているので、グローバル宣言をやめて、
postEventの引数にdriverも追加すれば大丈夫でしょう。

キャラのアニメーションに関しては、
最後に指定されたモーションが実行され続けるはずです。
キーが押されなかった場合の処理も指定する必要があります。
前回の状態と比較して、変化があった場合に、
モーションを変更するようにしてみましょう。

342:名前は開発中のものです。
07/11/20 23:27:33 wC+JOKs+
HDR対応・・・HDR対応・・・

343:名前は開発中のものです。
07/11/21 02:15:04 CVvSjocp
空をScene->addSkyBoxSceneNodeで作成しているのですが、
これだとソースコードレベルで空が固定されてしまいます。
GtkRadiantなどの空シェーダーを利用したいのですがうまく反映されませんでした。
反映させるためには何かコードを追加しないといけないのでしょうか?


344:名前は開発中のものです。
07/11/21 03:53:01 icyD2fym
>>341
おお、管理人さん自ら恐れ入ります。
早速やってみます

345:名前は開発中のものです。
07/11/21 22:55:14 nvAoZQa6
取り急ぎInput Method分離版投下
GUIを表示させるまでの手続きは増えましたが
代わりに必要なモジュールだけを組み込めるかと

IrrIM Test20071121a(win用ソース)
URLリンク(etwas.wolfish.org)

346:344
07/11/22 05:24:42 0gf5OqeX
// アニメーションパターン設定
if (lastState != Receiver->State){ // 「立ち」と「走り」状態に変化があったら
if (Receiver->State){ // 「走り」なら
Player->setMD2Animation(EMAT_RUN); // アニメーションを「走り」に
} else { // そうでなければ
Player->setMD2Animation(EMAT_STAND); // アニメーションを「立ち」に
}
lastState = Receiver->State; // 状態変化を保存
}

これを使ってやっても
Stateを発信する方が
event.KeyInput.PressedDownとevent.UserEvent.UseData1
では違うようです・・・(って当たり前か・・・)


347:lesson.ifdef.jp
07/11/22 22:27:45 CUMTGKWp
>>344 さん
>Stateを発信する方が
>event.KeyInput.PressedDownとevent.UserEvent.UseData1

event.UserEvent.UseData1でも同様に
Stateを返してしまえば大丈夫ですね。

キーボードで右に値するキー(→・Dなど)が押されたときの処理と
コントローラで「右」を押した時の処理を同じにすればいいでしょう。
イベントの種類や名前などで難しく考える必要はありません。

348:名前は開発中のものです。
07/11/28 23:41:14 XwD1PSD9
日本語訳のwikiないの?
ユーザーwikiある?

349:名前は開発中のものです。
07/11/29 00:12:51 xhLqnguP
・翻訳ドキュメント
Irrlicht 非公式ドキュメント
URLリンク(www.realintegrity.net)

・解説サイト
Irrlicht A GoGo
URLリンク(www.zgock-lab.net)
Irrlicht Lesson
URLリンク(lesson.ifdef.jp)

日本語サイトって
このぐらいしか無いのでは
特にIrrlicht Lessonにはお世話になってます
( >が>になってたり <が<になってたりするのは仕様でしょうか? )

350:名前は開発中のものです。
07/11/29 00:17:21 xhLqnguP
訂正:>が&gt >が&lt

351:名前は開発中のものです。
07/11/29 00:39:20 tGg1J08/
ほんとだねw
>にするつもりが;(セミコロン)を忘れちゃったんじゃないかな

352:名前は開発中のものです。
07/12/02 05:45:18 aXIFpf6m
1.4 リリースおめ

353:名前は開発中のものです。
07/12/02 08:41:19 fawlqgIa
1.4キタ━━(゚∀゚)━━!!!
VISTAも認識するようだ

354:名前は開発中のものです。
07/12/02 10:59:54 nuORG0MM
おめ

355:名前は開発中のものです。
07/12/02 16:12:39 gcOHwiFd
1.4入れてみた
以前組んだのを再コンパイルして走らせてみたが、CPU負荷がかなり改善されていい感じだ

356:名前は開発中のものです。
07/12/02 17:15:56 nuORG0MM
以前のが、1.4でも普通にコンパイルできるのか

357:名前は開発中のものです。
07/12/02 19:45:54 dQ2XkPD6
キー入力についてお聞きしたいのですが、
例えば全画面表示などに利用するAlt+ENTERを取得できるのでしょうか?
Alt+ENTERを押してもポンというシステム音がするだけで反応してくれませんでした。
確認として
printf("PressedDown : %s\n", event.KeyInput.PressedDown ? "on" : "off");
printf("KEY_RETURN : %s\n", event.KeyInput.Key == KEY_RETURN ? "on" : "off");
printf("KEY_MENU : %s\n", event.KeyInput.Key == KEY_MENU ? "on" : "off");
printf("KEY_RMENU : %s\n", event.KeyInput.Key == KEY_RMENU ? "on" : "off");
printf("is RETURN : %s\n", isKeyPressed(KEY_RETURN) ? "on" : "off");
printf("is MENU : %s\n", isKeyPressed(KEY_MENU) ? "on" : "off");
printf("is RMENU : %s\n", isKeyPressed(KEY_RMENU) ? "on" : "off");
printf("\n");
というコードをレシーバのEET_KEY_INPUT_EVENTに追加してみたところAlt単体では反応しませんでした。
唯一反応したのがAlt押す→ENT押す→ENT離す→Alt離すのときで、MENUのみonになりました。
ですがこれだと同時押しの判定ができず困っています。
ちなみにisKeyPressed()はIrrlicht Lessonさんの複数キー処理のメソッドです。


358:lesson.ifdef.jp
07/12/03 18:42:59 L4J5OiMR
>>357 さん

WinAPIの以下の関数を使用するとよいでしょう。
・GetKeyboardState(全ての仮想キーの状態を取得)
・GetKeyState(指定したキーの状態を取得)
これらを使用することにより、システムキーの状態も取得できるはずです。
また、Shift/Ctrl/Menu(Alt)を左右別々に取得も可能です。
ただし、システムキー「離した」という情報は取得できません。

これであれば、Alt+Enterを取得できるかと思われます。

359:名前は開発中のものです。
07/12/03 19:29:29 adx0yp9J
イベントレシーバでエンター検出したら、その中で>>358の関数呼べばいいかもね
それにしても、なんで、WM_SYSKEYDOWNは検出対象外なんだろか
CIrrDeviceWin32.cppのメッセージ周りを修正して再コンパイルって手もあるみたいよ
F10 in Windows(vitekのコード参照)
URLリンク(irrlicht.sourceforge.net)

360:357
07/12/03 22:52:11 FEcfD3/b
lessonさん、>>359さんありがとうございます。
>>359のレスを見て簡単かもと思ったのですが、Altを押している間は
イベントが呼ばれないようなので、この中での処理は諦めました。
結果として描画ループ内に
//全画面表示
//Altはirrのイベントで処理できないのでWIN32API使用
if(GetKeyState(VK_RMENU)>>7&1 && GetKeyState(VK_RETURN)>>7&1){
switchToFullScreen(); //自作全画面処理
}
といった感じで追加しました。
>>359の方法を使えれば良いのですが、自分には少々ハードルが高いようです。英語読めないですしw
不恰好ですが目的の動作は実現しました。感謝です。


361:名前は開発中のものです。
07/12/07 22:33:14 COpAhiGY
Windows API使うとLinuxで動かないのから
SDLとか使ったほうがいいんじゃないの

362:lesson.ifdef.jp
07/12/08 00:55:31 ipyfMo3f
>>361 さん
せっかくの掲示板ですから、
もう少し具体的な解決策も書いたらどうでしょう?
お互いスキルアップにもつながりますし

●キー取得
・DLLの改造…SYSKEYの処理を追加する
・SDLを使用する…SDL_PollEventの後で処理を追加する
・OpenGL(GLUT)を使用する…glutGetModifiersで処理
・DirectXを使用する…GetDeviceStateで状態取得
・Win32APIを使用する…GetKeyStateで状態取得

別の方法として、そもそも複数キーを使用しない
・Homeキーを押したら全画面処理をするなど

363:名前は開発中のものです。
07/12/11 01:51:39 WAcCpdFv
◆質問
Irrlicht.dllを動的に読み込むにはどうするのが一番楽?


◆やったこと

状況に応じてIrrlicht.dllを切り替えたくなった。
とりあえずLoadLibraryとGetProcAddressで
createDeviceの関数ポインタ取って来るスケルトンを作ってみたけど、
GetProcAddressの返り値NULL('A`)

◆環境
VC7.1くらい Irrlicht1.4

364:363
07/12/11 23:48:27 WAcCpdFv
そういえば関数名は正しかったのかな・・・と思いdependecywalker使用したら、
createDeviceじゃなくて、150文字くらいのもっさい関数でした…。

スケルトンは動くようになって良かったけど、DLL動的したら、この先ずっとDLL内の関数名を気にしながら開発しないといけないのか・・・?

365:名前は開発中のものです。
07/12/12 00:13:40 4mpK8EPR
シビアに速度を求めないのだったら、 Irrlicht の API を呼び出す単純なラッパーをつくってやればいいんジャマイカね。

俺はスクリプトエンジンから API 呼ぶプラグインつくってるけど、メモリ 2G 未満のもっさりノートで
EventReceiver とか Animator をスクリプトに記述するような無茶しても結構問題なく動いてる。


366:名前は開発中のものです。
07/12/12 00:16:19 4mpK8EPR
どうでもいいが間違ったorz
メモリ 1G 未満 ね。

367:モデム壊れてた ◆YATA/oetrw
07/12/12 00:32:10 hv2mu0E9
>>363
↓このようにC形式で関数エクスポートされてないので難しいかもしれない。
extern 'C' {
IrrlichtDevice* createDevice(...);
}

もし、動的ロードに成功したとしても問題がひとつ。
Irrlichtはマイナーバージョン間ですら互換性がない。
だから、本体実行ファイルが持っているヘッダとは別バージョンの
DLLを読み込んだときに関数エラーが発生してしまうと思います。

バージョン間の差異を解決できれば動的ロードも夢ではないです。
こう言うのしか思いつかなかった(互換性は埋められない)
exe->(動的ロード)->extern 'C' を使ったラッパーDLL1.4->(静的リンク)->Irrlicht.dll 1.4
   L(動的ロード)->extern 'C' を使った ラッパーDLL1.3->(静的リンク)->Irrlicht.dll 1.3

-------
チラ裏
irrIMが手詰まりになったので、IrrlichtML 1.4おいていきます。
FreeTypeヘッダをインクルードしなくて済むようにCGUITTFontを隠蔽化。
URLリンク(etwas.wolfish.org)


368:名前は開発中のものです。
07/12/12 00:39:16 hv2mu0E9
かぶった。
>>365さんのほうが詳しそう。

>>364
extern 'C'されてないとCreateDevice@fooxyzzzzのような別の関数名に置き換わってしまうんです。

369:363
07/12/12 00:51:44 byr9Z6t8
>>365,367,368
ありがとう

昔0.8くらいの頃に作ったスケルトンに最新DLLを上書きしたらエラーでまくりで、
createDeviceに至っては引数構成も違う雰囲気。
DLLのヴァージョン上がる度に手製ソースの方までいじるのは避けたいから、
Irrlicht1.dll・・・みたいに用意して動的に切替、と考えてた。
DLLのバージョン更新による差分については、可能ならば自前ラッパーで吸収したいと考え中。

それはそれとして追加質問
Irrlichtに慣れたいんだけど、自分は今まで2D畑中心でやってきたからやはりまず2D系テクから覚えたい。
公式チュートリアルやシューティング勉強中の人のソースは見た、けど、
2Dのキャラクタ画像を拡大縮小したり透過率を指定したり回転させたりするようなサンプルが見当たらない。

今後、これらのサンプルはどういう方向性で探索するべきだろうか?
それとも、複雑な2D機能はIrrlichtでは対応出来ない?

370:名前は開発中のものです。
07/12/12 16:19:26 M90VuyCU
サンプルばっかりに頼らないでAPIドキュメントで調べろよ
でも回転は見当たらないから自分で頂点触るしかないのかな

371:名前は開発中のものです。
07/12/13 00:05:19 NC1QbeZC
前から気になってたんだが、
scene::ISceneNode::getRotation( ) は const core::vector3df& を返すのに、
scene::ISceneNode::getPosition( ) が const core::vector3df を返すのはなんでだぜ。
値返しなのに const はおかしいから単なるバグかね。


372:名前は開発中のものです。
07/12/16 17:42:06 G2b9tMyR
クォータニオンを扱う関数があるみたいですけど、どうやって使うんですか?

373:名前は開発中のものです。
07/12/17 01:35:15 9HMeNQD7
GOGOのサンプルをファイル分割してみた
整理してうpします

374:名前は開発中のものです。
07/12/18 23:55:35 cUWqWIvR
>>372さんも質問していますが、quatanionを使ったベクトルの回転はどうすれば良いのでしょうか。
API リファレンス読んでも、英語力皆無なのでどの関数がどんな機能を持っているのか…。
例えば任意のベクトル v1 とベクトル v2 があるとき、
v2 を軸として v1 を回転する方法などお教えいただけないでしょうか。

375:374
07/12/20 15:35:27 jqRYwRor
一応自己解決。下のコードでいけました。
quaternion qua;
qua.fromAngleAxis(rot, v2);
matrix4 mat = qua.getMatrix();
mat.transformVect(v1);

ただ、Direct3Dの関数で処理したのと微妙に挙動が異なるような。
試しにカメラを縦に回転させるアニメータを作ってみたが、
Y軸付近で回転量が小さくなるような気がしたのと、ジンバルロックが解決できない。

下のコードだとジンバルロックで動かなくなることはないのだが……。
D3DXQUATERNION qua(0.0f, 0.0f, 0.0f, 1.0f);
D3DXQuaternionRotationAxis(&qua, &axis, rot);
D3DXMATRIX mat;
D3DXMatrixRotationQuaternion(&mat, &qua);
D3DXVec3TransformCoord(&normalized, &normalized, &mat);


376:名前は開発中のものです。
07/12/20 17:17:48 D8YXZHbq
FEZのようなインターフェースを作れないかな?
FPSっぽいカメラとキー操作なんだけど
FPS視点ではなく3rd視点という

377:名前は開発中のものです。
07/12/20 17:29:57 1FySn3dT
普通に作れるでしょ・・・

378:名前は開発中のものです。
07/12/21 02:22:22 W06+iKTa
当たり判定は正確ですか?

379:名前は開発中のものです。
07/12/22 03:21:29 qH4tCHw4
CADとかShadeで作ったメッシュを読み込むには、
どの形式でエクスポートするのがベターでしょうか。
Xファイルだと読み込めないこと多いので……。

380:名前は開発中のものです。
07/12/24 23:31:42 VhCZgB33
最近ばかり初めてゲームの製作をするですが、
どうイジってIrrlichtでトゥーンレンダリングを出来ますか?

381:名前は開発中のものです。
07/12/24 23:50:22 5nrbPA5X
URLリンク(ja.wikipedia.org)シェーダ

382:名前は開発中のものです。
07/12/25 00:34:31 IJC6bSYh
>>380
Toon(Cell) Shading snippet using HLSL. See below.
URLリンク(irrlicht.sourceforge.net)

383:名前は開発中のものです。
07/12/26 09:27:39 xCkClyRy
CollisionResponceAnimatorを二つ設定すると
時間経過ごとに重力が増大していくんだが…Irrlichtのバグ?
SDK同梱のサンプルマップで試したんだが
落下速度が異常に早くなって、階段すら上れなくなる。

誰か、解決法や関連情報を知っている人はいないでしょうか。

384:名前は開発中のものです。
07/12/26 19:33:39 yUN26AYS
ColisionResponceAnimatorを2つ使う必要性が良くわからないんだが。
2つ以上のオブジェクトとColisionResponceしたいんなら、
1つのColisionResponceAnimatorにMetaTriangleSelectorを当てればおk

385:名前は開発中のものです。
07/12/26 23:44:30 xCkClyRy
>>384
出来ました。ありがとうございます。


386:名前は開発中のものです。
07/12/27 21:44:30 8IcVTLM6
Irrlichtでクリッピング距離を変えるにはどうしたらいいでしょうか。
Direct3Dでは
D3DXMatrixPerspectiveFovLH()
の引数で設定することができましたが、
Irrlichtではそれらしきものが見当たらず・・・

387:386
07/12/28 20:40:22 Hp4RPsA7
自己解決しました。

一応書いとくと
scene::ICameraSceneNode* camera = smgr->addCameraSceneNode(~);
で、
camera->setFarValue( 距離 );
で最大距離、
camera->setNearValue( 距離 );
で最小距離。

なんでForum見ることを思いつかなかったんだろ(;´Д`)

388:名前は開発中のものです。
07/12/28 22:39:55 ShcOiBSU
>>386
Irrlicht付属のヘルプにも載ってます

irr::scene::ICameraSceneNode Class Reference

setFarValue (f32 zf)=0
Sets the value of the far clipping plane (default: 2000.0f).

setNearValue (f32 zn)=0
Sets the value of the near clipping plane. (default: 1.0f).

389:386
07/12/30 12:25:25 KN9VCd/i
ありがとうございます。
ちゃんと調べないとダメですねorz

390:名前は開発中のものです。
08/01/04 06:42:00 B3YR/5Yx
イルリッヒは時代遅れ

391:名前は開発中のものです。
08/01/04 07:34:17 CcNPOaPX
今は何の時代?

392:名前は開発中のものです。
08/01/04 10:30:21 B3YR/5Yx
オーガ

393:名前は開発中のものです。
08/01/09 00:31:36 INF4za2E
あけましておめでとうございます
非公式ドキュメントのトップページが壊されていたため閲覧不能でした
先日修正しておきました

あそこの管理人さんは今どうしておられるのやら

394:名前は開発中のものです。
08/01/09 15:48:14 oe3Z1pea
おまえらなんでwindowsでイルリヒト使ってんの?
ダイレクトエックソでも使ってろよ

395:名前は開発中のものです。
08/01/09 19:16:17 1bUx6/kQ
低レベルな釣りだな
出直して来い

396:名前は開発中のものです。
08/01/09 21:37:04 bwau3Xen
しかしイルリヒトと読んでるところは評価出来る

397:名前は開発中のものです。
08/01/23 17:55:29 jmfBDAYQ
IrrlichtMLの中の人見てるみたいなので質問ここに書きます。
CGUITTFontについてです。
新たな文字が現れるたびにテクスチャに確保しているようですが、これはたとえばノベル
ゲーム等文字種が多数現れる場合、メモリ不足に陥らないでしょうか?キャッシュの上限
を設定したほうがよい気がしますが…

398:名前は開発中のものです。
08/01/23 18:05:26 jmfBDAYQ
連投すいません。フルスクリーン<->ウインドウの切り替えはデバイス作り直し
しかないのでしょうか。
その場合、deviceをdropしたら確保したリソースは自動的に開放されるのでしょうか?

399:名前は開発中のものです。
08/01/23 19:23:35 Sr3V79Hv
>>397
中の人じゃないが、前実験で第二水準まで全部出してみたけど
メモリ不測にはならなかったよ。
WindowsXP 512MB環境


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