【HSP】HSPで3Dゲーム 4 【3D】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/12/13(土) 13:20:15ID:huEdz+FGマターリマターリ
■過去スレ
【HSP】HSPで3Dゲーム【3D】
http://pc11.2ch.net/test/read.cgi/gamedev/1016699230/
【HSP】HSPで3Dゲーム 2 【3D】
http://pc11.2ch.net/test/read.cgi/gamedev/1181967317/
【HSP】HSPで3Dゲーム 3 【3D】
http://pc11.2ch.net/test/read.cgi/gamedev/1210197298/
■makimo.to
ttp://makimo.to:8000/cgi-bin/search/search.cgi?q=HSP+3D&sf=2&all=on&view=table
0434名前は開発中のものです。
2009/08/31(月) 16:45:55ID:xfUF1+Nm0435名前は開発中のものです。
2009/08/31(月) 16:57:32ID:VMQs31/g0436名前は開発中のものです。
2009/08/31(月) 18:14:48ID:w+Lkinc2HSPだろうと3Dゲーを作るんだったらそれなりの物をつくりたいとか思わないの?
高画質の3DゲーはHSPじゃ無理ってのが君の考えらしいけど
実際のところHSPが遅いのはrepeat等で計算をループしたりするような部分であって
3D描写の処理はC++でコンパイルしているからDLLを使う元がHSPであろうがC++だろうが関係ないんだよwww
0437名前は開発中のものです。
2009/08/31(月) 18:38:21ID:xfUF1+Nm市販レベルを目指すなら最初からHSPなんて選択しないし、そもそもEasy3Dなんかに頼ったりしない
それすら理解できないほど馬鹿なの?
0438名前は開発中のものです。
2009/08/31(月) 18:53:54ID:1PEqazfG勇気付けられた
0439名前は開発中のものです。
2009/08/31(月) 19:36:01ID:W5mkGvqO0440名前は開発中のものです。
2009/08/31(月) 19:47:52ID:w+Lkinc2馬鹿、馬鹿、さっきから罵倒してばっかだけど
そういう君は具体的な理由を何一つ述べずにHSP≠高クオリティをくり返し言ってるだけ
何故Easy3Dを使ったら市販レベルの画質を目指せないって言い切れるの?
プログラミングが得意で何から何まで全部自分で作り上げたいって言うのならまだしも
得意じゃないからHSPを使う人が多いと思うんだけどw
そういう意味でモデラーにも優しいHSPで3Dゲーを作れるEasy3Dはとてもいいと思うよ
難しいところを全部DLLでやってくれるしね
高度な敵AIを作成するなんてのはHSPじゃきついだろうけど
HSPの時点で画質を諦めちゃうのはちょっと早すぎじゃない?
というか3D描画の部分はC++でコンパイルしてるってさっきも言ったしな
少なくともSM2.0は実装してしかるべき。5年も前から標準モデルだぜwww
今SM1.xを搭載してるPCなんてどちらにしてもCPUがしょぼすぎてまともに動かないっての
0441名前は開発中のものです。
2009/08/31(月) 19:58:25ID:ujJwY6Dnターゲット側、プレイ側PCは 敷居が低くないと遊んでもらえない。
利己的な人は視野が狭いから、一般的な環境を知らないのだろう、
CPUは強いが、恐ろしく3Dに弱いPCが一般的だ
0442名前は開発中のものです。
2009/08/31(月) 20:39:01ID:w+Lkinc2利己的とおっしゃいますが、より良い品質のものを作ろうとする心構えのどこが利己的なんでしょう?
SM1.x切捨てに反対するのは利己的だと思うけどさw
あと話の筋から察するに、恐ろしく3Dに弱いってのはSM2.0対応じゃないってことでいいのかな?
どちらにしてもソースだせよ
ttp://www.techpowerup.com/gpuz/stats.php
ちなみにこの統計少し古いと思うんだけど、
ここ見る限りDirect8以下が7%だからSM1.xもそのくらいじゃないの?
一般的って言うにはちょい少な過ぎるんじゃね?w
0443名前は開発中のものです。
2009/08/31(月) 22:27:25ID:/jmT8P68〃〃∩ _, ,_
⊂⌒( `Д´) < ヤダヤダ!どんなパソコンでも動かないとヤダ!
`ヽ_つ__つ
ジタバタ
コレどう考えてもアタマ足りないガキでしょ。
0444名前は開発中のものです。
2009/08/31(月) 23:06:10ID:NDC1znjN0445名前は開発中のものです。
2009/09/01(火) 00:07:28ID:h6aMtjlnE3D作者の意向に不服があるのなら、早めに別のツールに切り替えることだ。
そういう、ユーザーに使ってもらえなくなるリスクを踏まえたうえでの決定だろうからな。
0446名前は開発中のものです。
2009/09/01(火) 00:57:14ID:0rVAt9xoピクセルシェーダー2.0未満の安定版の集めたものを出してくれれば良い。
古いビデオカード対応版のような
そうすれば「まとめ」になるし、区切りも良い。
以降の最新バージョンは、PS3.0でも、DirectX12でも構わないし
ある意味で、古いカード切り捨ての方がよい。
DirectX9の情報からは本当のハード情報が取れないから
カード毎に調査しないと動作の保証が難しい部分があるだよ
0447名前は開発中のものです。
2009/09/01(火) 00:59:35ID:UAqLa7lL一人で市販並みの3Dゲーなんて技術的・時間的に無理だわな
0448名前は開発中のものです。
2009/09/01(火) 01:04:34ID:OMD+U+eI作る人次第では凄く出来が良いのもあるし。
それでも不満があるならプラグイン自作とか。
たぶんE3Dはゲーム製作者にとってEASYなプラグインという路線みたいだから、ある程度スペック要求するのは仕方ないと思うよ。
で、ハードのこととかよくわからんけど、現状をまとめると
・今のEasy3Dは現状、ピクセルシェーダー2.0より古いものは切り捨て。つまりDirectX9.0より古いものは切り捨てという意味。
・DirectX9.0が出たのが2002年12月?(Wikipediaより)
・最近はネットブックタイプが普及中。
切捨ての是非を考えるなら、
・事実上どの程度のユーザー(ユーザー数やPCスペック)が切り捨て対象となるのか。
・切り捨てなかったとして、最近のポリやボーン、モーションデータが増えたゲームを支えられるスペックがあるのか。
・切り捨て対象ユーザーに3Dゲームへの需要があるのか。
・どのくらいのスペックが普通なの?
この辺が論点な気がするが…あってる?
>>444
選べるということは、環境依存を考慮した設計やプログラミングをしないといけなくなる。
新しい機能も積極的に使ってもらえなくもなる。
…ということだと思う。たぶん。
0449名前は開発中のものです。
2009/09/01(火) 01:42:17ID:0rVAt9xo時間が限られているから、手間が増える事はやらない。
一行を追加する程度で効果が大きければ加えてみるかもしれない。
AIとか物理エンジンとかなら欲しいと思う。
時間短縮になるようなツールなら欲しいと思う。
0450名前は開発中のものです。
2009/09/01(火) 08:19:29ID:vTV5YTMb0451名前は開発中のものです。
2009/09/01(火) 11:24:15ID:gT73Gy4A0452名前は開発中のものです。
2009/09/01(火) 11:49:59ID:vlTFLGU+切捨ての判断なんて結局自分自身の判断でするしかないな
動作環境が広ければ喜ぶ人がいるのも間違いないし
広がった表現を歓迎する人もいる訳だしな
0453名前は開発中のものです。
2009/09/01(火) 11:59:29ID:0LDmogLrネットブックでも2.0や3.0以上はあると思うんだけど
今は、ネットブックが最低スペックだから、これで動かせれば無難ではないのかな
0454名前は開発中のものです。
2009/09/01(火) 12:45:29ID:IJfhmMn3e3dは後者向けってことで。
0455名前は開発中のものです。
2009/09/01(火) 13:38:12ID:vTV5YTMbP4-2.8GHz、メモリ2GB、1680x1050ピクセルでこれといって不満がないので買い換える必要を感じません
というのは少数派なのか
0456名前は開発中のものです。
2009/09/01(火) 13:55:29ID:gT73Gy4A俺も5年前に買ったやつがP4の2.8GHz×2でメモリ2Gだけど、
シェーダー2.0対応してたよ
0457名前は開発中のものです。
2009/09/01(火) 13:56:30ID:VgxkXUS8一般的にPCを家電と考えるならスパンは5年以上じゃね。決して安くないし。
0458名前は開発中のものです。
2009/09/01(火) 13:56:46ID:gMKxfaRK0459名前は開発中のものです。
2009/09/01(火) 14:35:21ID:gT73Gy4Aピクセルシェーダ3対応だったよ
2.0未満の人はこれを期に買い換えたら?
0460名前は開発中のものです。
2009/09/01(火) 14:42:26ID:IJfhmMn30461名前は開発中のものです。
2009/09/01(火) 16:18:47ID:+gWxMaiI0462名前は開発中のものです。
2009/09/01(火) 17:47:26ID:0LDmogLr5年以上のマシンは中古でもジャンク扱いだし、何時壊れるかわからない
実際自分が低スペックテスト用に買ったPen3のマシンも壊れちゃったからね
0463名前は開発中のものです。
2009/09/01(火) 18:16:55ID:4dE/5HFq0464名前は開発中のものです。
2009/09/01(火) 18:19:43ID:gT73Gy4Aまだ半分くらいはXPユーザーじゃん
0465名前は開発中のものです。
2009/09/01(火) 20:22:39ID:OMD+U+eIそれに9x系、2k、Meからの買い替え派でも1年ぐらいは様子見するんじゃないかな。
> まだ半分くらいはXPユーザーじゃん
あくまでうちのサイトの統計だけど、
XP...63%
Vista...29%
他...8%
うちは企業が見に来るとは思えない内容だからほとんどが個人ユーザーだと思われ
半分じゃすまないね。
>>460 DirectX10以降はVistaより古いものは切り捨てなんだってね。
>>455 大事にしてあげてください。
5年は買い替えの目安とかパソコンの寿命とか言われてるみたいだけど、5年前の標準的なスペックってどんなもんだっけ。
5年前のハイスペック機じゃなくてね。
0466名前は開発中のものです。
2009/09/01(火) 21:01:33ID:Vx51TjS0Pen4 2〜3Ghz、メモリ256〜512MB、GPUはインテル内臓のGMA以前じゃね。
0467名前は開発中のものです。
2009/09/01(火) 21:09:14ID:gT73Gy4A以降するのは相当先の話だろうけど待ち遠しいわw
ところでRokDeBoneの座4でボーンをIKすると、青いマニピュレーターの軸でしか回転しないよな?
緑のマニピュレーターは動きすらしないし
何ゆえこの仕様?
0468名前は開発中のものです。
2009/09/01(火) 21:29:58ID:sCcHs4xeこーゆーこと。
ttp://www5d.biglobe.ne.jp/~ochikko/rdb2_za4.htm
0469名前は開発中のものです。
2009/09/01(火) 21:53:21ID:gT73Gy4AこれだとIKの階層を深くしたときに変な方向に曲がらないってことか
しかしせっかく角度制限があるんだし
指定軸で全方向に動かせるモードがあれば便利だと思うんだがどうよ?
この想い、おちゃっこ紳へ届け!
0470名前は開発中のものです。
2009/09/01(火) 22:34:08ID:OMD+U+eIGMAは2004年発表で、ピクセルシェーダ2.0対応か。そういうころなのね。(by Wikipedia)
5年前(2004年)自分でも調べてみた
GeForce6が登場したようですね。1年型遅れで手ごろな価格のものが普及品と考えると1世代前のGeForceFXが標準と見てよさそう。発表も2002年だし妥当だと思う。
そういやうちでも5年以上前のPCにFX刺さってた。…このPCがまた最近不調でね、たまに起動しなくなるんだ。
あと、RADEON9700が2003年には出てるみたい。
オンボードだとSiS760が前年発表されたもの。こいつはピクセルシェーダ1.3対応。
ノートパソコンは2003/2004年発売品をざっと見てみたけどピクセルシェーダ2.0対応とそうでないものが混在してた。
オンボードやノートを考えると切り捨てるには微妙な時期な気がするかもしれないが、プラグインが出来てからゲームを作るまでの開発期間を考えればそろそろ切り捨てていい時期だと調べてみて思った。
> 指定軸で全方向に動かせるモード
いってる意味がわかりにくい。例えばどんな感じのことがやりたいの?
kwsk
0471名前は開発中のものです。
2009/09/01(火) 23:21:24ID:gT73Gy4A座1、2、3と同じように一つの軸方向以外にも動かせる
ってことだ
これなら好きな方向に好きなだけ角度制限を掛けられるだろ?
座3でも微妙に軸方向が目的のそれからずれてて、角度制限を掛けるのに苦心している人は俺以外にも沢山いるはず
0472名前は開発中のものです。
2009/09/02(水) 06:42:18ID:W33ewuPtttp://www5d.biglobe.ne.jp/~ochikko/rdb2_morph.htm
0473名前は開発中のものです。
2009/09/02(水) 09:05:52ID:8m4gm6XA開く度に一々ボーン作るの面倒なんだがどうすればいいかね?
RDBの質問てここかCG板でするか迷うわ…
0474名前は開発中のものです。
2009/09/02(水) 09:33:26ID:VkAbckpSくりぼーさんのメタセコプラグインBoneCreate
0475名前は開発中のものです。
2009/09/02(水) 12:58:32ID:8m4gm6XA(´・ω・)やっぱプラグイン使うしかないんかね?
0476名前は開発中のものです。
2009/09/02(水) 13:55:20ID:bykoieEv0477名前は開発中のものです。
2009/09/02(水) 15:35:05ID:7/THj/ht1.メニュー:File -> 形状ファイルインポート
2.mikoto形式
>>471 なるほど。角度制限というより軸を限定させるのね。もしやるならモデル上に軸を表示してもらいたいね。
0478名前は開発中のものです。
2009/09/02(水) 16:13:29ID:j4Nu2vGG例えばボーン1は座1で、ボーン2は座4という感じ
動かすボーンを変えるごとに上のボタンで切り替えるのは面倒すぎて死ねる
0479名前は開発中のものです。
2009/09/02(水) 16:58:26ID:8m4gm6XAありがとう
やってみるわ
0480名前は開発中のものです。
2009/09/02(水) 17:27:16ID:CEoA1cVA0481名前は開発中のものです。
2009/09/02(水) 18:13:36ID:4F9Td+IWttp://doom15.blog.shinobi.jp/Category/26/
↑のFPSみたいなのは作れるようになるかな?
0482名前は開発中のものです。
2009/09/02(水) 20:18:27ID:7gbe/IqO0483名前は開発中のものです。
2009/09/03(木) 01:47:57ID:oMAwn72Lそろそろやってもらいたいよなあ。
0484名前は開発中のものです。
2009/09/03(木) 17:35:29ID:y+kYze09メタセコと比べたらよくわかる。
0485名前は開発中のものです。
2009/09/03(木) 19:11:27ID:3RXjrc5qでも、まああのUIは何とかしてほしいね。たくさん機能ついてるのにもったいない感じがする。
0486名前は開発中のものです。
2009/09/03(木) 21:33:25ID:uew1Lr4q彼も自覚はあるようなこと言ってたし
0487名前は開発中のものです。
2009/09/03(木) 21:46:36ID:Mf5rV7nk0488名前は開発中のものです。
2009/09/03(木) 22:58:57ID:3WmVC49L0489名前は開発中のものです。
2009/09/03(木) 23:06:17ID:4K11k1hDいまだにMMDは操作方法がよくわからん。
0490名前は開発中のものです。
2009/09/04(金) 11:57:55ID:ETQe9LCh>読み込みは番号基準のものも出来ます。
RDB5200以降のquaは読み込みのとき、
ボーン構造が全く同じでもボーン名が違うと
エラーはいて強制終了しちゃうみたい。
製作途中でやっぱりボーンの名前変えたほうが良かった、なんて時や
いつどのボーン名を変えたかが分からなくなってしまったなんて時に
今まで作ったquaが全て使い物にならなくなってしまうので
従来の方法が良いのでは?
0491名前は開発中のものです。
2009/09/04(金) 12:11:04ID:nqRlqtdx0492名前は開発中のものです。
2009/09/04(金) 21:51:03ID:iUsIAvVz0493名前は開発中のものです。
2009/09/04(金) 22:04:30ID:mNSOkccUカウンタークロックワイズ
だと思った。反時計回り。
0494名前は開発中のものです。
2009/09/04(金) 22:26:50ID:6zk7zZuOCountryside Council for Wales. ウェールズ地方協議会だと思ってた
0495名前は開発中のものです。
2009/09/04(金) 22:38:54ID:6zk7zZuOボーン名称が異なるモデルへのモーション移植とかもRDB単体では出来なくなるね。
>>489 全体的に使いにくいけど、487が言うように部分的に優れてるところもあるよね。
0496492
2009/09/04(金) 22:55:24ID:iUsIAvVz0497名前は開発中のものです。
2009/09/05(土) 00:11:27ID:0k6J7GRm0498名前は開発中のものです。
2009/09/05(土) 05:51:45ID:3tC8Q6hsもしくはそれに似たe3d以外の関数があるならそれでもいいのですが
0499名前は開発中のものです。
2009/09/05(土) 11:49:02ID:EeU98UBAE3DVec3Lengthは、
length = sqrt(vecx*vecx + vecy*vecy + vecz*vecz)
としてるだけだよ。ベクトルの教科書見てくるといいよ。
ちなみに2次元(XY平面)だと
length = sqrt(vecx*vecx + vecy*vecy)
こうね。vecz=0のときと同じでしょ。
0500名前は開発中のものです。
2009/09/05(土) 12:09:56ID:E+Fflayt一回絶対値になおしたほうがいいよ。
0501名前は開発中のものです。
2009/09/05(土) 12:56:20ID:PVPbebZu0502名前は開発中のものです。
2009/09/05(土) 13:05:22ID:EeU98UBAHSPの変数は虚数は扱えないけどね。
0503名前は開発中のものです。
2009/09/05(土) 15:07:04ID:3tC8Q6hsそれをHSP上でやるとE3DVec3Lengthを使うより重くなるんです。
なのでE3DVec3Lengthの二次元に特化したのが有ればもう少し処理速度を
稼げるのではないかと思い質問させてもらいました。
0504名前は開発中のものです。
2009/09/05(土) 17:35:02ID:PkBmstwG499のちなみにより上だけ見ろ。
0505名前は開発中のものです。
2009/09/05(土) 17:48:45ID:PVPbebZuそんなに頭固いと後々苦労するよ
0506名前は開発中のものです。
2009/09/05(土) 17:55:31ID:EeU98UBAごめんなさい。説明が少しわかりにくかったですね。sqrtを使った式をそのまま使ってしまったんですね。
もっと丁寧に説明してみます。
E3DVec3Length命令の中では、HSP風に計算式を書くと
length = sqrt(vecx*vecx + vecy*vecy + vecz*vecz)
という計算式を使って計算しています。実際には、DirectX(のD3DXVec3Length)を使ってハードウェアに計算を投げていると思いますが使っている式は同じです。
ですので、例えばveczを0.0にして計算するということは、
length = sqrt(vecx*vecx + vecy*vecy)
という式を使っていることと同じ意味になります。この式は2次元ベクトルの長さ(距離)を求める式と同じですね。(数学の教科書参照)
つまり、1行目で書いたとおり、引数のどれか一つに0.0を指定し、残り2つの引数を使って計算してください。
例えば座標(0,0)から座標(vecx, vecy)までの距離を求めたいときは、
E3DVec3Length vecx, vecy, 0.0, length
とすれば、lengthに答えが代入されます。これなら重くなることなく同じ時間で計算できますね。
それでもどうしても速度を追求したいのであれば、D3DXVec2LengthをE3Dでも実装してもらえるようお願いしてはどうでしょう。
よほどたくさん使わない限り微々たる物だと思いますが。
0507名前は開発中のものです。
2009/09/05(土) 20:00:02ID:E+Fflayt0508名前は開発中のものです。
2009/09/05(土) 20:19:10ID:PVPbebZu503以外の人はE3DVec3Lengthの引数の一つを0にすれば
結果は同じ(=二次元版を探す必要は無い)って言ってるんだよ
0509名前は開発中のものです。
2009/09/05(土) 20:25:42ID:p36qGTE5498 E3DVec3Lengthの二次元版って無いでしょうか?
499 Zを0にすればE3DVec3Lengthでも二次元計算できるよ、ちなみに二次元の計算はこんな感じ、ほら三次元のZを0にしたのと同じでしょ?
503 (499の二次元計算の部分だけしか見えてない)HSPでsqrt使ったら重かったんです
506 いや、だからE3DVec3LengthでZを0にして使えばsqrt使わなくても二次元の計算ができるんだってば
0510名前は開発中のものです。
2009/09/06(日) 12:07:37ID:Gwu2DHAdモーフをウェイト調整が難しい肩や脇とか股とかの調整に使うなんてのは
無謀なのかな?
0511おちゃっこ ◆RyN5mfp1Kg
2009/09/06(日) 13:17:05ID:dxO5PdBwお、やっとモーフィングへの反応があった!
20日間もかかって実装したのに反応が薄くて
おじさんさみしかったよ(笑)
重くなるか?との質問ですが。
モーフはまずターゲットの数分パラメータをミックスします。
この際ブレンド率が0のものは無視されるので重くなりません。
しかし一番速度に関係するのはミックスしたデータのビデオメモリへの転送です。
毎フレームミックス後の頂点データを転送します。
頂点数が多いほど遅くなります。ターゲットの数は関係しませんが。
パスの遅い古いマシンだと結構影響あるかも。
影響度はベース形状のものしか考慮しないので
シビアな影響度の部分には難しいかも。
>>488
どの辺がわかりずらいですか?
直そうかな。
0512名前は開発中のものです。
2009/09/06(日) 15:38:33ID:466BKLStbonファイルには保存されてないし、im2ファイルを保存してもダメだった
0513名前は開発中のものです。
2009/09/06(日) 16:16:18ID:EXBD7o5qsigファイルにパーツ名として保存される。
シリアルはいらない。-は一個。
「表示パーツ名-ボーン名」
0514名前は開発中のものです。
2009/09/06(日) 16:47:41ID:466BKLStありがとう
助かったー
0515名前は開発中のものです。
2009/09/08(火) 21:40:37ID:ZUB3DsynHGIMG3の地形メッシュマップにて、
上り坂を歩行する場合、坂の角度に応じて
歩行速度を落としたいのですが、どうしたらいいでしょうか?
0516名前は開発中のものです。
2009/09/08(火) 22:22:03ID:1ad2Q0Jr進行方向に当たり判定を2つ並べて、その差が大きいとスピードを落とすようにすればヨシ!
ベクトル計算?三角関数?ナニそれ?
0517名前は開発中のものです。
2009/09/09(水) 00:25:27ID:9SU+bQeY0518名前は開発中のものです。
2009/09/09(水) 03:06:35ID:NNQCfoFmそれを差し引いても、言っていることがよくわからない。
その差ってのが、何の差なのかよくわからない。
おそらく当たり判定同士の距離だと思うが、空間距離なのか、軸に射影した距離なのかは不明。
0519名前は開発中のものです。
2009/09/09(水) 03:11:08ID:NNQCfoFm当たり判定なんていらないぞ。キャラのy座標を見ればいいんだからな。
0520515
2009/09/09(水) 05:19:18ID:C27lWYb0回答ありがとうございます。
地面の法線から坂の角度を割り出そうとしていました。
が、挫折しました。(旋回すると角度が変化する所で)
移動前、移動後の高さの差でやってみようと思います。
0521名前は開発中のものです。
2009/09/09(水) 07:19:53ID:9SU+bQeYなら床の法線ベクトルをN=(nx,ny,nz)、キャラの向いてる方向ベクトルをP=(px,py,0)としてNとPの内積を使ったらどう?
具体的には係数kを使ってキャラの速度を
speed -= k*(nx*px+ny*py)
といった感じに変更する
ちなみに k=speed だったら、90度の上り坂で速度0、90度の下り坂で速度2倍、
平坦な場所で速度1倍って具合になるよ
ゲーム制作頑張ってね
0522名前は開発中のものです。
2009/09/09(水) 07:25:09ID:9SU+bQeYspeed += k*(nx*px+ny*py)
だったw
0523名前は開発中のものです。
2009/09/09(水) 17:16:27ID:NNQCfoFm(1)普通は、y座標を高さにする。
(2)spped += k * (内積)だと、
内積が0になる90度では、speed += 0 で、キャラの速度はspeedになるはず。
つまり、キャラの速度は0にならず、地面にめり込む。
0524名前は開発中のものです。
2009/09/09(水) 17:25:49ID:NNQCfoFm0525名前は開発中のものです。
2009/09/09(水) 18:20:45ID:9SU+bQeYちなみに地面の角度に沿って移動するのを前提とした話であって
めり込むとかそういうのは別問題
あとHGIMGは左手系だったのね、使ったこと無いから右手系だと勝手に思い込んでたわ
だったらP=(px,0,pz)に変えて
speed += k*(nx*px+nz*pz)
とすればおk
0526名前は開発中のものです。
2009/09/09(水) 18:29:31ID:NNQCfoFmじゃないとき、跳ね返りがおかしくなったりしない?
0527名前は開発中のものです。
2009/09/09(水) 19:19:02ID:Ox+sZxyoE3D用だけど、モジュールだから中見れば式ぐらいは出てくる。
0528名前は開発中のものです。
2009/09/09(水) 19:57:35ID:9SU+bQeYものすごい勘違いしてそうだから書くけど、speedってのはキャラの速さのことだ
さっきも言ったが向きは別で求めてくれ
515を見る限り地面に沿った移動は出来るんだと思うけど、一応言っておくと
P-(P・N)N = ( px-nx*(px*nx+pz*nz), py-ny*(px*nx+pz*nz), pz-nz*(px*nx+pz*nz) )
で地面に沿った向きが出せる
あとはこれを正規化してspeedをかければおk
今まで言ったのをまとめて全部書くと
speed = 10.0 ;平地でのキャラの移動の速さ
k = 10.0 ;坂での減速係数
pvx = px-nx*(px*nx+pz*nz) ;キャラの移動方向ベクトルを計算
pvy = py-ny*(px*nx+pz*nz)
pvz = pz-nz*(px*nx+pz*nz)
nrm = pvx*pvx+pvy*pvy+pvz*pvz
pvx/=nrm : pvy/=nrm : pvz/=nrm ;正規化
speed += k*(nx*px+ny*py) ;坂で減速
pvx*=speed : pvy*=speed : pvz*=speed ;移動速度決定
法線ベクトルNと、キャラの向きベクトルPは自分でゲットしてね
ついでに実際には地面の角度が変わる境界でもうちょっと工夫すべきところがあるけどそこはもう勘弁
我ながらお人よし過ぎるぜw
0529528
2009/09/09(水) 20:08:22ID:9SU+bQeYごめん。寝不足なんだよ・・・
>>525じゃなくて>>526ってことで
式もどっか間違えてるかもしれないけど、そのときは誰か直してくれ
0530名前は開発中のものです。
2009/09/09(水) 21:04:31ID:NNQCfoFm内積は−1
speed += k * -1
だから、k = speedなら、sppedは0になるが、
k != speedなら、ふっとばされるか、よじ登ってしまうってことを言ったのさ。
0531528
2009/09/09(水) 21:55:24ID:9SU+bQeY俺の例えが悪かったんだな。すまん。90度ってのは分かりやすいから一例として挙げただけであって、
俺が書いたコードは坂での減速のためだから、実際はそんな急な坂というか壁は想定してないし、
壁か地面かの判定はまた別でやってくれ・・・
係数もゲームに丁度合ってそうなのを自分で探してちょ
そもそも地面も壁も天井も全部オールインワンで処理したいんだったら、さっき言ったみたいな非現実的な方法なんて使わないで
摩擦と重力を考慮して物理的にちゃんと計算すべき。でも流石にそこまでは面倒見切れないだろ
0532515
2009/09/09(水) 22:47:15ID:CaLD7MB+>>521-531皆さんありがとうございます。
現在>>528のソースで前進移動のみ試して、
マップ端の壁以外は上手い具合に坂で減速しております。
3Dの効果音の時といい、このスレの住人にはお世話になりっぱなしです・・・
0533名前は開発中のものです。
2009/09/10(木) 17:02:19ID:RI0pvy0T---------------------------
アイドリングエラー
---------------------------
アイドリング設定のモーションが、1つだけ存在する必要があります。
設定を直して、再試行してください。
---------------------------
OK
---------------------------
と出るのをどうにかしてほしい。
皆でない?
■ このスレッドは過去ログ倉庫に格納されています