トップページgamedev
1001コメント354KB

DXライブラリ 総合スレッド その16

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2013/06/30(日) 23:57:05.06ID:j62MvD3e
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
http://homepage2.nifty.com/natupaji/DxLib/

【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
ゲームプログラムなら俺に聞け(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1366526476/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0113名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:y2xAflWs
言っておくがお前らが思ってるよりスーパーマリオを作るのは難しいぞw
0114名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:d5+33Qmv
実際のマリオのプログラムでは演算なんかしてなくて
テーブルで変化量を持ってるだけだと思う
最近の3DSのマリオとかだったらdoubleの計算とか三角関数やベクトル辺りもガンガン使ってるだろうけど
01151102013/07/16(火) NY:AN:NY.ANID:UEWWNyYt
質問してから気付いたのですが
重力計算には空気抵抗とかも必要だと思う
y軸に面する面積が広ければ広いほど落下速度が減速する
面積が狭いと落下速度が加速

スカイダイビングをイメージすれば
両手両足を広げれば落下速度が減速
両手両足を閉じれば落下速度が加速
さらに体を斜めに傾けると、さらに落下速度が加速する
0116名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:UEWWNyYt
>>92
それは正しい物理計算とは言わない
玉が地面に面する体積と重力と風力と重さで
落下速度や上昇速度や上昇距離を計算していないと思う

落下物を別の大きさの玉に変えたり
別の形状の物体に変えても同じバウンドの実行結果になってしまう
そんなものなら数学的な計算を使わないのは当然
0117名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:Hqm1WmEM
>>113の言う通りなんですよ。

>>112>>114
>上下に振動するだけ
>テーブルで変化量を持ってるだけだと思う

そこまで単純じゃないんですよ
忘れてるんでしょうから、目で確認してみてくださいよ
http://www.youtube.com/watch?v=2QfkfFyURf8#t=0m24s
0118名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:xomIDF4E
あら、減衰とかなかったか
なら凄く単純な話じゃないか?入射角とか求める必要すらないんじゃないの?
なんか常に一定っぽいんだが
0119名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:d5+33Qmv
テーブルでやってるから計算で再現しようとすると難しいんだと思うな
0120名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:QAiAMGmg
ああ・・・これはw一応貼っとく

     ∧_∧
ガラガラ(  ^^  ) <これからも僕を応援して下さいね(^^
  =〔~∪ ̄ ̄〕
  = □――◇                       Kazuki
0121名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:A+V7NwsU
スーパーマリオもどきはJAVAの実装がソース付きでなかったけ?
0122名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:8KAYlLb2
だらだらと憶測で物言ってるやつらは無知すぎ
正解は>>114
これゲーム開発者の間では常識中の常識
もうこの話はもう終わりね
二度と小学6年生に触れるなよ
0123名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:C/+zvXFU
>>117
8bitCPUは掛け算や割り算なんかないよ。
0124名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:d5+33Qmv
分かったらGNESでマリオを1フレームずつ動作させて座標の変化量を調べるんだ
0125名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:C/+zvXFU
>>121
昔、マリオを逆アセンブルしてC++で実装した奴を公開していた奴はいたな。
0126名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:C/+zvXFU
http://www.vector.co.jp/soft/winnt/game/se347402.html
まだ、あったわ。
ソースも付いてるから勉強すればいいよ。
0127名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:TkKjOA5G
ファイアーボールじゃないけど、スーマリのジャンプで難しいのは
空中で左右に動けることとジャンプボタン押す長さでジャンプの高さが変わる事だと思う。
まぁ、それでもちょっと難しい程度だけど。
0128名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:d5+33Qmv
難しいのは斜面
0129名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:5Xnek7aO
>ジャンプボタン押す長さでジャンプの高さが変わる

言われてみたらこれって何気にすごいんだなと思った

ジャンプした瞬間の初速(最低の高さ)があるとして
ジャンプしてから数十フレームくらいの間だけ、上への加速度をプラスするって感じなのかな?
30フレくらいかと思ったけど、びみょ〜に落下までの速度も制御できる気がするから60フレくらい?
0130名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:5Xnek7aO
上への加速度をプラスする → 重力加速度を弱める って意味ね

>>129
言われたらそっちのほうがすごかったわw
斜面はFCマリオ3からだったかな?
しっかり歩行速度にも影響あって、滑ったりできるのは確かにすごい
0131名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:TkKjOA5G
ちなみに、俺はスーパーじゃなくて初代マリオブラザーズの
ジャンプして上の床を叩いたとき、床がぐにゃりって曲がるのも凄いと思ってるw
あれマップチップだよな……? いや一時的にスプライトに変えてるって手法もありか……?
0132名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:5Xnek7aO
>>131
うわ、そういやそれもすげぇな・・・

確かあれは、バグった状態(FC独特の半刺し状態とか)では
まったく別の絵柄が見えるから、特定のチップを表示してるのかな

というかあのバグった状態のままで動くFCそのもののほうがすごいかw
0133名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:y2xAflWs
マリオで一番難しいのはジャンプしてブロックに1/3ぐらい当たったときの
くぃっという動作だと思う
0134名前は開発中のものです。2013/07/16(火) NY:AN:NY.ANID:nroTpBI+
ほれ、これで実行してみろって簡単に作った
スーパーマリオのジャンプとファイヤボールを打つのを実装した
オブジェクトのソース貼り付ける天才はいないのか?
0135名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:poq3qMku
>>134
もうちょっとましな煽り入れろよ
0136名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:3HiHJAFh
>>134
Haskellで書いたソースでも良ければ。
そのままじゃ使えないと思うけど。
0137名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:Udo1cKyL
今時Haskellは脅しにならんなw
J言語とでも言っておけ
0138名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:OzdlVej3
>>131
BGとスプライトの併用じゃなかったかなあ、あれ
0139名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:+vpWyki7
>>126
ソース見てるんだが、
これ、ファイヤーボールの弾の軌道書いてんのどこ?
0140名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:4ylv1rI4
玉のソースでしょ
0141名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:+vpWyki7
まあ、そんなの探してくれる親切な人はいないか。

じゃあ質問変えるね。
DXライブラリの描画可能領域セットメソッドあるじゃない?
SetDrawArea();
これって、領域外にある画像は描画しないってものだけど、
それはまさに「描画処理が無効化されている」、
つまり領域外に出た画像の描画分のメモリは食わなくなる、ということで良いのかな?
だとしたら、これはそうとう便利なメソッドだと思うんだけど。
0142名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:4ylv1rI4
しらんけど。
描画しないだけで、メモリには書いてんじゃねーの?
0143名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:4ylv1rI4
書き忘れた
CBullet::Adjust
0144名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:+vpWyki7
>>142
じゃあ、
見えないだけで描画処理はされてるってこと?
じゃあ見えなくても沢山表示命令を出してたら重くなるんだ?

、、、ってか、知らんのか
あんたまで知らないならただの推測による水掛け論になるやん、、、
0145名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:+vpWyki7
>>143
>CBullet::Adjust

なによ、それ。
0146名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:3HiHJAFh
ソース見てないけど、そのクラスとメンバがいるって話じゃないの?
0147名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:+vpWyki7
>>143
ああ、、すまん、、、探してくれたんだな
ありがとう。

でも、CBullet::Adjustて、それなりに長いソースだけど、
これ全部がファイヤーボールのプログラムなん??
0148名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:4ylv1rI4
ここで説明できるほど単純でもないからあとはソースを読んでくれとしかいえん
data\BulletInit.txt に玉のパラメータが書かれている。

読みこんでるのはApp2.cppの
// ファイアーボールデータ読み込み。
void CApp::PlayerBulletInit(char *filename, char *imagename, BulletData *bullet, CBullet *ball)
こいつ
0149名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:kpZcJ0Sq
>>141
dxlibのソース読んで見ないとわからないなぁ。

俺も推測でのレスで申し訳ないが、確かDirectXには
ラスタライズ対象範囲を限定する機能があったはず。
もしdxlibがそれを使っていたなら
ラスタライズ範囲が狭くなる分、処理は軽くなるけど
メモリ使用量は変化しない。
結局画像は全体がVRAMに転送されるし、バックバッファのサイズも変化しないので。
0150名前は開発中のものです。2013/07/17(水) NY:AN:NY.ANID:v0GAbqsX
超巨大で超ぶっとい線を描画したら重くなるから
やっぱり重くなるんだと思うよ
0151名前は開発中のものです。2013/07/19(金) NY:AN:NY.ANID:hMnI35Wd
>>+vpWyki7
お前飽きっぽいなぁ何も作らんうちにコロコロやる事変えてたんじゃ何も出来ないままでしょ
ttp://blog.livedoor.jp/winpg/
0152名前は開発中のものです。2013/07/19(金) NY:AN:NY.ANID:s1Ws3Cie
今度は何処の素材パクったんだろう
0153名前は開発中のものです。2013/07/19(金) NY:AN:NY.ANID:BHHQFBlf
>>151
また直ぐに投げ出すんだろうな。w
0154名前は開発中のものです。2013/07/19(金) NY:AN:NY.ANID:04yaioY9
例のヤツについての話は専スレでやれ
0155名前は開発中のものです。2013/07/19(金) NY:AN:NY.ANID:o3u0GTiW
なんか口調変わったな
思わず別人の小学生が増えたかと思ったわ
こいつ素材だけは速いと思ったらいつもパクってるのかよ
ファイアボールなんて速度減衰も跳ね返り減衰も無いし平気でバウンドしながら階段登っちゃうし

Vy += Ay(等加速)
if(Vy>=Vmax)
{Vy=Vmax}
elseif(Vy<=-Vmax)
{Vy=-Vmax}
if(y方向接触)
{Vy=Vmax}(上向き)
if(x方向接触)
{消滅}
座標更新
x += Vx(等速)
y += Vy
Vxの正負はキャラの向きで大きさVx、Vyは-Vmaxで初期化、Ayは常に負(下向き)
VxとVmaxとAyのパラメータだけ調整

5分しか考えてない適当なのだけどこんなのでいいだろどうせ
あとはボールの楕円画像を自転でもさせるぐらいか
自分で考える楽しみ()とか言っちゃうならこんなとこに来ずにこれぐらい自分でやれよ
まあ円形弾幕で一つ一つ座標を三角関数も使わずに手打ち指定しちゃう奴に言っても無駄かもしれんが
0156名前は開発中のものです。2013/07/19(金) NY:AN:NY.ANID:s1Ws3Cie
口調変わってないよ
ゲームを崇拝してる所がそのまんまKazuki
KazukiAAが出たら妄想解いて疑おう
騙される人間は推理した事が無いから騙されるわけで、それを知ってるからKazukiは湧き続ける
0157名前は開発中のものです。2013/07/19(金) NY:AN:NY.ANID:o3u0GTiW
まあバレバレの自演と連投で察しはついてたけど
単芝であそこまでされたら釣りか別の真性かと思った
0158名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:nmMQpud5
FCマリオ1程度ならサクッと作れそうだが、こういうのは素材がなぁ
素材があれば1週間もかからない気がする
0159名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:FVW2K7jj
FCマリオ1程度の素材ならそれほど時間はかからんと思うが。
0160名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:GpeLB3bo
32ステージ分のマップと敵の配置のデータを作るだけで1週間じゃ無理だと思うが
0161名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:+SSEepdc
どうでもいいことだとは思うけど、
マリオのステージは1/3くらいデータの使い回しされてたり(似たような別面)
敵の配置はクリボー×3とかでグループ化してあったりして容量削減がんばってる
「ここから先の床の高さ」とかそういうデータを埋め込んだりして実際のマップそのものは実行時に生成してる
すごいね
0162名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:Ob+Zn2mg
誰から聞いたのw
0163名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:3y5EbjLj
雲と草が一緒の画像とかはよく聞く
0164名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:eUWUT4lX
DXライブラリ 総合スレッド その16
0165名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:ExCGSRAn
DXライブラリってゲーム作るには機能足りなすぎじゃね
0166名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:Ob+Zn2mg
C++版誰か作ってくれよ
0167名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:3bPsLAoC
>>160
スーパーマリオの話だったのか。
そりゃ確かに面倒だな。
0168名前は開発中のものです。2013/07/20(土) NY:AN:NY.ANID:0AjeLszX
機能そのものはdirectxSDKの時点で足りてるよ!
0169名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:LdkNNEKh
>>165
例えば?
0170名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:IM02LFGg
>>169
Ogre3Dと比べると描画の機能は全然ないぞ
シーングラフとかは3Dゲームで必須だし
参照カウンターによるリソース管理
パーティクル
拡張したマテリアル(テクスチャスクロールとか)

まあDXライブラリはDitrctXの薄いラッパでしかないからいいんじゃない?
必要だと思えば自分で実装してもいいんだし
0171名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:BrTtyz7d
DXlibはゲームライブラリじゃなくてマルチメディアライブラリだから(震え声)
0172名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:KkhWYzJ6
シーングラフ
レイキャスト
コリジョン検出
アニメーション
リソースマネージャー
最低これぐらいは欲しいな。
こんなの個人で再実装する価値はないので
共通基板として使いやすいライブラリを整備して欲しいわ
0173名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:Mz7t6BiK
>>172
> こんなの個人で再実装する価値はないので

ん。ライブラリにあったら便利なのは同意だが、こういう言い方で切って捨てようとする人って、
大抵自分で具体的なロジックが書けず、実装出来ないまま開き直ってる人だ。
書けない自分は何も悪くない、くれない奴が悪い、みたいに。
0174名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:BBBPUbUN
というかむしろ詳しそうだし補助ライブラリ作って公開してほしいな
0175名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:IM02LFGg
>>174
素直にゲームエンジンや他のライブラリ使えよ
0176名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:Mz7t6BiK
多分無理だと思うぜ。何故なら普通は実際に書くと
「汎用性の前提があった上で、どこまでを処理単位の属性にすべきで、どこを決め打ちの固定仕様にするべきか」
って言う設計レベルでジレンマがやってきて、
それはそのライブラリ使って作れる物の制限を生むので、自分が作りたい物によっては使いにくいライブラリになり得るから、
結局アプリケーションの要件次第では別に実装する事になるので、「個人で作る価値はない」なんて台詞は出るわけ無いんだよ。経験があるならば。
その辺がテキトーに見えるので、彼では書けない。

あと、自分の代わりに実装してくれる別の個人がいるって事も頭から抜け落ちてる時点で、ただの「言葉だけ知ってる失礼な人間」だ。
0177名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:KkhWYzJ6
今さらドラクエレベルのゲームに要件次第とかないわー
ワンダと虚像と塊魂が作れるライブラリならともかく、
ゲームなんて決まり切った処理の繰り返し
0178名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:STMPs5oo
>>177
> ワンダと虚像と塊魂が作れるライブラリならともかく
えっ、DXライブラリだと作れないの?
0179名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:Mz7t6BiK
どこからドラクエレベルとかワンダとなんとかの話が出てきたんだよ知ったかぶり野郎
0180名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:4PGrqMWj
上級者ヅラしてエラソーに他力本願でトンチンカンな批判をして、
その後に、じゃあお前が作って晒してみろって煽る流れとか、なんかKazuki臭い。
0181名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:8xMc8T1J
117の書き込みはなんというか「口だけ達者な人間のセリフ」のお手本のようだ。
0182名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:FyWL1YGe
3D接触処理って軽量化どうしてる?
球体の判定だけでも結構負荷かかりそうで
想定してるオブジェクト数は最大で24*32(768)個ぐらい
実際は半分ぐらいだと思う
0183名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:BBBPUbUN
本当にそれだけだったらタダで間に合うよ
0184名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:nNVuwDHt
>>182
絶対に当たらない組み合わせを、あらかじめ弾いておくのが
とりあえずのセオリーかしら?
0185名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:ckpg4k2+
KkhWYzJ6とMz7t6BiKが同一人物の自演さんか
くっせぇスレになったもんだな
0186名前は開発中のものです。2013/07/22(月) NY:AN:NY.ANID:ckzbXG2O
>>182
8分木空間分割でググるといい
俺はBulletPhysics使ってる
0187名前は開発中のものです。2013/07/23(火) NY:AN:NY.ANID:mcze7PQd
>>186
めんどくさそうだけどビットで判断するあたり、早そう


円だけなら一次判定で、xyz座標それぞれの半径分近くなってないかとかで弾けそうかとおもえてきた
0188名前は開発中のものです。2013/07/23(火) NY:AN:NY.ANID:F/7eBvxu
よくわからんけど
>>177は知ったかぶりさんということか
そういうのはすごく恥ずかしいと思う

まだ知らないなら知らないで押し通した方がいいと思う
知らないのにカッコ付けたいだけで
わざわざ醜態を晒すとか恥ずかし過ぎる
0189名前は開発中のものです。2013/07/23(火) NY:AN:NY.ANID:yj0nWf/n
>>185
Mz7t6BiK の方は俺だけど、どう見たら自演になるんだよ
「価値は無い」って言い切ってるのが、わかってる人間なら思わない不自然な台詞だから突っ込んだんだよ
ちゃんと読み返せ
0190名前は開発中のものです。2013/07/23(火) NY:AN:NY.ANID:xbeEJt/R
傍で見てれば解るから気にするな。
0191名前は開発中のものです。2013/07/23(火) NY:AN:NY.ANID:RawsS/YU
自演祭りの会場と聞いて
0192名前は開発中のものです。2013/07/24(水) NY:AN:NY.ANID:9hIPTzbI
しょーもないな、お前ら…
0193名前は開発中のものです。2013/08/02(金) NY:AN:NY.ANID:BueokvPL
なんかこのひと月ぐらいの間で
公式のどっかの質問でマルチスレッド実装についての注意点みたいなのを
管理人さんが答えてたと思うんだけど
どこだったか憶えてる人いない?
見当たらないんだ
01941932013/08/02(金) NY:AN:NY.ANID:0/9fiY+I
すまん自己解決した
随分前のトピックだったわ
2010年のトピックだったけど下の注意点って今も変わってないのかな


>DXライブラリを使用したマルチスレッドのプログラムを作成する際に注意すべきことは

・サウンド・画像・モデルの読み込み関数や描画や描画の設定を行う関数を複数のスレッドから同時に呼ばないこと

・入力関係の関数を複数のスレッドから同時に呼ばないこと

・サウンド関係の関数を複数のスレッドから同時に呼ばないこと

です、
モデルに関して言えば MV1LoadModel、MV1DrawModel、MV1DrawMesh、MV1DrawFrame は、複数のスレッドから
呼ぶのは避ける必要があります( つまり描画を行うスレッドは一つにする必要があります )
MV1SetPosition や MV1SetAttachAnimTime や当たり判定などの描画を行わない関数は複数の
スレッドから同時に呼んでも問題ありません
0195名前は開発中のものです。2013/08/10(土) NY:AN:NY.ANID:iuGss2xM
C/C++ゲーム製作総合スレッド Part3
のほうでも少し質問したのですが、
DrawPolygonIndexed3Dで描画するポリゴンはDXライブラリが標準で装備しているZバッファに適用されるのでしょうか?

また、エフェクトに使用するので半透明要素を含むテクスチャを使うのでZソートするのですが、
DrawPolygonIndexed3Dは渡した頂点配列をその場で描画し始めるんですよね
どのようにして実装したらいいでしょうか?

負荷軽減のために一気に描画したいというのもありまして・・・
0196名前は開発中のものです。2013/08/12(月) NY:AN:NY.ANID:tVMZTkce
3dゲームの地形作るのに、どのソフトを使ってますか?
メタセコだと地形はツライ気がするので………。
もしvueとか使えるなら楽なんですが。
0197名前は開発中のものです。2013/08/13(火) NY:AN:NY.ANID:zT/b0f+/
>>196
Vueだともはやモデリングすらしない訳だけど、そこで言ってる楽ってのは、形状を作成するだけの話?
つまりコリジョンの作成とか自分の中の管理の都合とか放っておいて、ただ表示用の形を作る部分について、
例えば極端に言えばボタン一つ押したら思ったような形が出来たらいいな、みたいな。
0198名前は開発中のものです。2013/08/13(火) NY:AN:NY.ANID:96C41T7F
>>197
「楽」という表現は不用意でした。
どのソフトを使おうが、それなりの地形を作ろうと思えば相応の苦労があるのは
分かっているつもりです。
ただ、形状もそうですが、テクスチャや木などの設置を考えた場合、
やはり地形専用のソフトであるvueの方が向いているのではないかと
思ったからです。
0199名前は開発中のものです。2013/08/13(火) NY:AN:NY.ANID:zT/b0f+/
>>198
その「こっちのソフトの方が向いていてる」と思った理由は何なのかって話。
なんでこの質問を返すかと言うと、形状だけって話なら、BryceとかVueの方がそれに特化してて、自動生成してくれる部分もあるが、
結局そこで作ったモデルデータを自前のプログラムに読んで、かつコリジョンなんかの設定をして、かつ自分の都合で管理する事になるから、
その点を含めた時、「どれが向いてるか」って話も変わるわけで。

ちなみに俺はBlender使ってるけど、その理由はモデリングソフトとして地形製作に向いてるって言う話では無くて、自分が慣れてるからってのと、
あとBlender用のスクリプト作ってコリジョンデータ含めて自分フォーマットで出力させてるからって言う、俺の都合による。
0200名前は開発中のものです。2013/08/13(火) NY:AN:NY.ANID:m+NIrzIz
3Dってよくわからないんですけど
実際に描画されてるポリゴンの頂点使ってコリジョン判定するんですか?
それとも簡易的なモデル(長方形を連結して形成されただけのような)に、
描画モデルの同じボーン・アニメーションを指定して、衝突判定だけ簡易モデルの方を使うって感じでしょうか

というか処理が重そうですけど、大丈夫なんですか?3次元での距離判定でも結構持ってかれそうな気がするんですけど
角度を持つ長方形とかってめんどくさそう
0201名前は開発中のものです。2013/08/13(火) NY:AN:NY.ANID:k1Y9Y3rO
2Dだって、画像の他に当たり判定用の座標を持つだろ? それと似たようなもん。
0202名前は開発中のものです。2013/08/14(水) NY:AN:NY.ANID:g36cvXmF
>>200
大抵は別。実際に描画される頂点が少ないなら描画用を流用することもあるが、
普通は別。なぜなのかは、コリジョンの判定計算を勉強しておくれ
0203名前は開発中のものです。2013/08/15(木) NY:AN:NY.ANID:cmS+cFHD
昔のアーマードコアは適当なボックス判定だったけど
今のはガチでポリゴンに同期してるよ
0204名前は開発中のものです。2013/08/15(木) NY:AN:NY.ANID:KJrkH+xK
アマコアだかMHだかは重要なもんの数は少ないからか
0205名前は開発中のものです。2013/08/15(木) NY:AN:NY.ANID:vLsLWx5i
>>203
それはConvex-Hullの事をガチって言ってるのか、それとも飾りの突起まで含めて表示用メッシュ同士を計算に使ってるのかどっち?
当たり判定用の荒いメッシュって、何も単純なボックス一個とかの極端な話じゃないよ
0206名前は開発中のものです。2013/08/15(木) NY:AN:NY.ANID:rZIVXUnn
というか不特定な座標を持つ頂点からなる不特定な面数の立方体をどうやって判定するんですか
OBBとかいうやつですか?
ヒントヒント!
0207名前は開発中のものです。2013/08/15(木) NY:AN:NY.ANID:vLsLWx5i
>>206
少なくとも「不特定」では無いはずだし、
普通は面について言えば三角の集合。どんな多角形であっても。

立体の交差判定とかでググればいいと思う。それか、nVidiaの厚い本とか
0208名前は開発中のものです。2013/08/15(木) NY:AN:NY.ANID:vLsLWx5i
で、それを真面目に計算したらやってられないから、
頂点数の少ない凸包による代理形状同士の交差判定するの。
で、それでと量が多いとしんどいから、距離による取捨を事前に行うの。
0209名前は開発中のものです。2013/08/15(木) NY:AN:NY.ANID:rZIVXUnn
三角形で構成された立方体の中に、別の立方体が完全に内包されていたらどうやって判定すればいいんですか?
それだと面どうしが接触している時だけですよね
0210名前は開発中のものです。2013/08/16(金) NY:AN:NY.ANID:l4Y2LCwf
重力計算のジャンプと、
フレームごとのy座標テーブル のジャンプって
どう違うのですか?
詳しくお願いします。
0211名前は開発中のものです。2013/08/16(金) NY:AN:NY.ANID:F5bNk7nI
テーブルは計算する必要が無いから早い
でもあらゆる状況に対応するデータを作るのは面倒かも
重力からその場で計算すると状況との矛盾は少なくなりやすいがテーブルに比べて処理が重いかも
0212名前は開発中のものです。2013/08/16(金) NY:AN:NY.ANID:zJzEkpmi
>>209
そうだよ。詳しい事知りたかったら自分でbulletPhysicsのソースでも追いかけて。
ソースと言うか、先にクラス構成見て何故そうなってるのか把握して実際に使ってみると見えてくると思うけど。
■ このスレッドは過去ログ倉庫に格納されています