【HSP】HSPで3Dゲーム 4 【3D】 at GAMEDEV
[2ch|▼Menu]
[前50を表示]
350:名前は開発中のものです。
09/07/30 22:25:52 2sClxXiX
今年もHGIMG3製の3Dゲームが一つくらい出ないかな・・・

351:名前は開発中のものです。
09/07/31 01:09:39 RXQvOz+U
一応作ってるよ
まだちょっと使いづらい感じが残ってるので完成は9月あたりの予定になるけど

352:名前は開発中のものです。
09/07/31 01:49:42 HDqpUOU8
モデルのボーンは少ない方が処理は軽くなるのでしょうか?

353:名前は開発中のものです。
09/07/31 22:02:16 paUcEPJ+
もちろん

354:名前は開発中のものです。
09/08/02 00:12:57 8xLp252p
E3Dである点からある点のほうを向いたときの姿勢情報をもとめるために、
E3DLookAtQをつかっているのですが、この命令だと普通X軸(ピッチ)とY軸(ヨー)の回転で表現された姿勢しか得られませんよね?
どうにかしてZ軸(ロール)もつかった姿勢がほしいのですが、どうすれば良いかアドバイスください。


355:名前は開発中のものです。
09/08/02 03:45:36 6jDZJe3N
>354
質問のいみがわかりにくいけど、目的は点のほうに向けること?

356:名前は開発中のものです。
09/08/02 09:57:45 3n5C/tG2
>>354
だってXとYだけで大丈夫じゃん
視線をある点からある点へ移すときに首を捻る奴なんていないだろ?

357:354
09/08/02 12:26:33 8xLp252p
>>355
>>356
すみません、もうちょっと具体的にいいますと、
XYZ自由に回転できる1つの板ポリゴン(ABCDの4点)があって、それとおなじ向きに戦闘機のモデルを置きたいので板ポリゴンの2点(AD)
をつかい、DからAをみた向きをE3DLookAtQで得てそれを戦闘機のモデルに適用すればXY軸の回転は大丈夫なのですが、板がロールした場合に上手くいかなくなるので
Z軸の姿勢もほしいということです。

358:おちゃっこ ◆RyN5mfp1Kg
09/08/02 13:16:43 mTgMvgn4
>>354
E3DTwistQまたはE3DTwistを使ってください。
使い方はe3dhsp3_lookatq.hspに書いてあります。


359:名前は開発中のものです。
09/08/02 13:29:34 /sTRAJ3J
easy3DにはHSPに内蔵されている計算系の命令と同じような命令がいくつかありますが
速度的な違いは有るのでしょうか?

360:名前は開発中のものです。
09/08/02 13:31:18 8xLp252p
>>358
おちゃっこさんアドバイスありがとうございます。
E3DTwistQはLookAtQと違って、はじめからZ角度がわかってないとうまく使えないと思いますが、
Z角度を求めるときにatanでは80度か260度かわからなくなってしまい困ってます。
他に良い方法はないですか?あれば教えていただきたいのですが

361:おちゃっこ ◆RyN5mfp1Kg
09/08/02 18:46:36 RYT2oi4q
>>360
軸との内積を調べればどちらに回せばいいか分かるのかもしれませんが
その辺よくわからないんですよ。
数学の天才やむちゃさんに聞いてみてください。
URLリンク(nyaa.ath.cx)

>>359
速度の違いは計測したことがありません。
自分が使いやすいように作っただけです。
気になるようでしたらE3DRdtscStartとE3DRdtscStopで測ってみてください。
それらの命令は特に高速化を意識しているわけではないので
HSP版より早いということは無いんじゃないかと思います。



362:名前は開発中のものです。
09/08/03 00:39:21 W+QRVO38
なんかすごいなぁ・・・
次のプログラムはE3Dを使ってみよう・・・

363:名前は開発中のものです。
09/08/03 01:33:47 Zxn9mw8y
メタセコでもロクデボン2でもちゃんとテクスチャ貼れてるのに
いざE3Dで表示するとUVがズレたようになっていまし、微妙に変な貼られ方になってしまいます。
原因がわからないのですが仕様に違いはあるのでしょうか?
PNGで512×512の画像です

364:名前は開発中のものです。
09/08/03 02:16:23 x3AUIL/u
UV値を正規化してるかも?
E3DSigLoad p1,p2,p3,p4
p3を1にしてたらUVが変わる

365:名前は開発中のものです。
09/08/04 17:27:26 giSO0Xdn
RDBで二又に分かれたボーンの片方だけを回転させるにはどうすればいいのでしょう?

366:おちゃっこ ◆RyN5mfp1Kg
09/08/04 18:02:33 MgSEfljJ
>>365
ずいぶん古いバージョンを使ってますね。
もうだいぶ前に片方ずつ回転出来るようになってますよ。
最新バージョンでの話だったら
2股部分が浮動ボーンになってるとか?
通常のボーンだったら大丈夫なはず。

367:名前は開発中のものです。
09/08/04 18:41:55 qrA7xqkf
hsp3.2にしたらhgimg3使用時のcpu使用率が常に100%に…
物理エンジンとか楽しげな機能があるのに残念だ

368:365
09/08/04 19:04:57 giSO0Xdn
自己解決しました。
球ドラッグ時の処理をIKにすれば良いのですね。
しょーもない質問してすみません。

369:名前は開発中のものです。
09/08/04 22:24:37 pEWqLQe/
>>367
hgsetreq SYSREQ_DEFTIMER ,1
で、hgsyncの時間待ちモードをawit仕様にすれば大丈夫じゃね?
SYSREQ_DEFTIMER ,0並みの正確さも必要なら自分で高精度タイマ見ればいいし

370:367
09/08/06 17:45:49 BHoZfsN9
>>369
解決しました。ありがとう
そんな裏技があるとは知らんかった。


371:名前は開発中のものです。
09/08/07 02:44:35 GItpmfzn
おれ、試しにawait仕様にしても、あまり変わらんかった・・・
なんか、やり方間違ったか・・・

372:名前は開発中のものです。
09/08/07 03:02:02 Q3G5+Og4
hgimg3のサンプルにあるtest1.hspに

hgsetreq SYSREQ_DEFTIMER ,1
を追加したらhsp3hg.exeのCPU使用率は0%だった

追加しないと50%(core2だから)だった

373:名前は開発中のものです。
09/08/09 03:39:56 7ntDzJ0D
すいませんアンカー形状ってなんなんでしょうか。
3Dゲームクックブックに書いてあったんですがググッてもいまいちわからなくて。

374:おちゃっこ ◆RyN5mfp1Kg
09/08/09 07:21:20 Sod/FI9m
>>373
影響範囲を決定する形状のことです。
mikotoっていうソフトで採用されている形式です。
詳しくはUMEMORIさんのHpを見てください。
URLリンク(umemori69.hp.infoseek.co.jp)


375:名前は開発中のものです。
09/08/09 14:55:35 FQ4e8rHH
e3dはマルチテクスチャの予定はあるのん?

376:名前は開発中のものです。
09/08/09 18:32:04 PViI1btO
ウィンドウサイズとおなじ大きさの画像を作り、それを画面いっぱいに表示したいとき、
E3DでE3DRenderSpriteをつかうと、
E3DRenderSprite ・・,1.0,1.0,0,0のはずが、
E3DRenderSprite ・・,0.63,0.95,0,0くらいでやっと正しいサイズになります。
どうしてでしょうか?この方法だと画像がなんとなくぼやけた感じになり、それを改善したいのですが。

377:名前は開発中のものです。
09/08/09 19:02:50 FQ4e8rHH
サイズが2の倍数じゃないとサイズが変わる仕様だから
たとえば256*256とか512*512

378:名前は開発中のものです。
09/08/09 19:28:34 PViI1btO
なるほど。ありがとうございました。

379:名前は開発中のものです。
09/08/09 20:53:57 CXQUHSLg
2の累乗のサイズだったらいいっていうのはよく聞くんだけど、
次のうち正しいのはどれなの?

1.元画像が2の累乗のサイズだったら、どんなサイズで描画してもぼやけない
2.元画像がどんなサイズでも、描画したときに2の累乗だったらぼやけない
3.元画像も、描画画像も2の累乗のサイズじゃないとぼやける


380:おちゃっこ ◆RyN5mfp1Kg
09/08/09 21:23:53 9sDZudfA
>>375
UV座標もマルチで設定できないと意味が半減するけど
メタセコイアがマルチUVに対応していないから
このままじゃE3Dも対応できないです。

>>379
元画像が2の累乗でないばあいは読み込み時に拡大されてぼやけます。
描画画像が2の累乗で無い場合は描画時に拡大縮小されてぼやけます。

後者はE3DSetTextureMinMagFilter命令でD3DTEXF_POINTを指定することにより
防げます。



381:名前は開発中のものです。
09/08/09 22:04:49 FQ4e8rHH
URLリンク(www22.atwiki.jp)
マルチテクスチャですが、ここの方法でモデルをつくり
rokdebone2でよみこんだのですが、透過ぶぶんがうまくいかないんです

382:おちゃっこ ◆RyN5mfp1Kg
09/08/10 11:30:27 CGKvoTmr
>>381
透過は描画順序の影響を受けます。
描画順序をコントロールしたい場合は
1、オブジェクトを統合しないで別オブジェクトのままにしておく
2、別ファイルに保存する。
のどちらかがいいかとおもいます。
1の場合は描画順序が常に決まっている場合に有効です。
階層構造エディタで上に表示されているものから順番に描画されます。
2の場合はカメラの位置によって描画順序が異なる場合に有効です。
E3DRenderを呼び出す順番を自分で決定してください。


383:381
09/08/10 11:59:22 GMU6QEil
ポリゴン数はふやしたくないんですよね、
>UV座標もマルチで設定できないと意味が半減するけど
>メタセコイアがマルチUVに対応していないから
オブジェクト1 UV座標1
オブジェクト1のコピー UV座標2
と2つのオブジェクトのうちオブジェクト1のみを表示しつつ
UV座標2を利用してマルチUVできないものでしょうか。

384:おちゃっこ ◆RyN5mfp1Kg
09/08/10 12:55:18 ihZgSF9G
>>381
mqoを調べてみたら見事にマルチUV出来てますね。
知らんかったです。
じゃあ対応出来るかな?と思ってソースを見たら
頂点シェーダーの入力レジスタ数にもう余裕が無かったです。
シェーダーのバージョンを上げないと無理そうです。
当分先の話になりそうです。

メタセコのせいにしてすまんかった!!
原因はこっちにあった。


385:381
09/08/10 13:48:30 GMU6QEil
しつこくてすいません。
バンプマッピング、シャドーなどはつかわないつもりなのですが
その穴埋めに、マルチUVに切り替えるなどは不可能なのでしょうか。

386:おちゃっこ ◆RyN5mfp1Kg
09/08/10 14:26:58 XSP+Ttei
>>381
他の効果を使わないのであれば可能だと思います。
もう少し検討してみて大丈夫そうだったら
予定表に書いておこうと思います。

ただ読み込み処理を大工事しないといけなくなるので
時間がかかります。

今月中にモーフィングを実装する約束をしているので
それが終わってからになります。

現時点でとりあえず表示させるには
最初に透過する方のオブジェクトを作ってから
コピーして不透明のオブジェクトを作り合体させてみてください。
描画はマテリアル順序にもよるのですが
メタセコとRDB2とではマテリアルの順番が逆転するので。
これでも駄目だったら工事するまで待っててください。


387:381
09/08/10 17:00:31 GMU6QEil
検討のほうよろしくお願いします。
RDB2ですが、不透明のオブジェクトと透過する方のオブジェクト
がかぶっているポリゴンですが
不透明のオブジェクトのポリゴンが削除されて読み込まれているようです。
なので工事するまで気長にまつことにします。

388:名前は開発中のものです。
09/08/15 20:51:38 tJFQRJ21
最近、ゲームを作っていて痛感したんだが
ゲーム制作で一番重要なのってデータの管理なんだな
データの管理ができないと手の込んだゲームなんて作れやしない
でも、データの管理方法を考えるだけで頭が混乱するぜ;y=ー( ゚д゚)・∵. ターン

389:名前は開発中のものです。
09/08/16 18:41:41 qCz7Qap8
excelで見やすく作ってcsv出力。note命令で拾う。

390:名前は開発中のものです。
09/08/16 19:13:32 xNncKixu
3次元配列はどうするの?

391:名前は開発中のものです。
09/08/16 19:27:30 qCz7Qap8
何が判らないのかが解らないが、
3次元配列 HSP
でググると幸せになれるんじゃないカシラ

392:名前は開発中のものです。
09/08/16 20:02:50 uqq1XyZK
3次元配列使うような状況が分からないわ


393:名前は開発中のものです。
09/08/16 20:04:01 xNncKixu
うんにゃ、Excelでのデータ管理の話だよ。

a(5,2) = 10
だったら、セルの5×2マスに10を入れて管理するよね。

a(2,2,2) = 10
はどうするんだい?

394:名前は開発中のものです。
09/08/16 20:07:21 xNncKixu
>>392
たとえば、HSID○の、モーション□の、どの情報△というとき、
MotionData( hsid, motionid, whatdata )
みたいにして使ったりしています。

395:名前は開発中のものです。
09/08/16 22:15:39 E9ki1/5w
>>394
dim a,3,1000
a(0,0)=hsid
a(1,0)=motion
a(2,0)=what
こう?

>>393 難しいね。ファイルで分ける?それとも指定行で区切る?
いずれにせよデータ作るのめんどくさそうだね。

>>389 hspda


396:名前は開発中のものです。
09/08/16 22:17:05 E9ki1/5w
ア"ー!sage忘れすまんorz

397:名前は開発中のものです。
09/08/16 22:37:44 xNncKixu
>>395
三次元配列なので、「dim a, 5, 5, 5」みたいな感じ。

a(0, 0, 0) = 45 ; hsid0 の motion0 の情報0 の値が45
a(2, 5, 2) = 12 ; hsid2 の motion5 の情報2 の値が12

みたいにして、全部のキャラのhsidとmotionと情報の組を一括管理できる。
かなりプログラムの見易さと効率がアップすると思う。

398:名前は開発中のものです。
09/08/16 23:55:17 DL7BV+5L
こないだロクデボーンが32ビットインデックスに対応したらしいけど
3万ポリゴン以上のモデルを扱ってる人っているの?

399:名前は開発中のものです。
09/08/17 01:23:15 dhnam3Z4
キャラクター1個600ポリとして50個分かー…ってロクデボンだったか

>>397
hsid,motion,what,data
0,0,0,45
2,5,2,12
...
てな感じのcsvファイルでだめ?
しかし条件もっと増やしたくなったらどうするのがいいんだろうね。
4次元までが限界みたいだし…もっとスマートな方法があるんじゃないかと妄想してしまう。
HSP開発wikiあたりに何かなかったっけ?

400:名前は開発中のものです。
09/08/17 02:43:14 jkGFfNmo
>>399
いいね。

5次元以上のデータ管理は、モジュール変数がいいのかね。
自分は、配列の入れ子とかを使ったりしています。

a( b(HSID1, enemyHSID), 3, 2 ) = 45
;HSID1の敵のmotion3の情報2は45 ←3次元配列だけど「の」が4つある

401:名前は開発中のものです。
09/08/17 08:46:20 4oWVvhdK
HGIMG3でシューティングをつくっていますが、
(通常の2Dのものをカメラの角度を変えて奥行きがあるようにしたもの)
背景をスクロールしたいのですが、OBJ_GORUND指定したplateモデルのテクスチャを
どうスクロールさせたらよいのか分かりません
ご教示ください


402:名前は開発中のものです。
09/08/17 12:21:29 jP7YsQOZ
>>401
2Dの時と同じ考えでいいのでは?

403:名前は開発中のものです。
09/08/17 13:29:54 4oWVvhdK
>>402
テクスチャ登録の際にgcopyのように読み込みたい画像位置や大きさを指定できないように
思うのですが、何か方法があるのでしょうか?

404:名前は開発中のものです。
09/08/17 16:14:24 OaXLykVo
カメラを動かせ

405:名前は開発中のものです。
09/08/17 23:38:46 rLW8yDpb
画面をうごかせ

406:名前は開発中のものです。
09/08/19 07:14:26 R/k64We9
脳みそを動かせ

407:名前は開発中のものです。
09/08/21 16:33:51 ajjTePm3
e3dでdirectXのゲームパッドを扱えるようにする予定とかないの?
ほかのゲームパッドのモジュールだとE3DGetKeyboardState、E3DGetKeyboardcntが
つかえないからね、フォースフィードバックとかも使えるようになりそう。

408:名前は開発中のものです。
09/08/21 17:15:26 EtMG+8jp
E3DGetKeyboardState、E3DGetKeyboardcntにこだわる意味がわからん。
パッド使用時とそうでないときで使う命令をわければいいのではないかと。

409:名前は開発中のものです。
09/08/21 17:26:51 ajjTePm3
>パッド使用時とそうでないときで使う命令をわければいいのではないかと
それが地味にめんどうなんだよね、ジョイパッドを使うことを考えると
初めからE3DGetKeyboardState、E3DGetKeyboardcntを使わない方がいいかな。


410:名前は開発中のものです。
09/08/21 21:52:27 uS60UvPC
フォースフィードバックはCK JOYFORCE DLL使えばいい。

> それが地味にめんどうなんだよね、ジョイパッドを使うことを考えると

そんなに面倒かな。
入力値を取得した直後にE3DGetKeyboardState、E3DGetKeyboardcntの取得値と混ぜれば済む話なんじゃないの?
数行で済みそうな気がするけど。


411:名前は開発中のものです。
09/08/21 22:10:30 ajjTePm3
CK JOYFORCE DLLはバグが確認されてるし、choco氏の対応もないままなんですよね
dllを複数つかいたくないってのもあったり・・
>数行で済みそうな気がするけど。
やってみたら数行ですみそうでした

412:名前は開発中のものです。
09/08/22 09:58:22 3q4YnEnh
ピクセルシェーダ2.0がない環境だとE3DInitで16bitモードにしてても警告が出るのは仕様なのかな?
問題なく動きはするんだけど、起動するたびに警告出るのはうっとうしいなあ

413:名前は開発中のものです。
09/08/22 10:45:04 MdpI1Q1V
俺はどっかに引数いれてoffできたけどね

414:名前は開発中のものです。
09/08/23 14:40:25 tN5w6kdp
hgimg3を使用してFPSっぽいのを作っています。
3Dの効果音って、どうやって鳴らしたら良いのでしょうか?

・カメラと効果音の距離に反比例した音量調整
・カメラと効果音の位置(左右)でパン調整

こんな感じにだと思うのですが、参考になるサイトとかないでしょうか?

415:名前は開発中のものです。
09/08/23 15:17:30 YYtLfWGQ
プレイヤーの向いている方向と、プレイヤーから音源までの方向の間の角度を計算することは出来る?
それが出来れば簡単だと思うけど

416:名前は開発中のものです。
09/08/23 22:40:03 650W87FO
プレイヤーの向きと音源との位置関係、それに内積か外積あたりを使えば角度は出そうだね。
角度が出たら、dmmpan…でどうふりわければよいのやら。

距離からdmmvolを設定…なんだけどdBだから注意が必要。
ちゃんと計算したいなら距離減衰についても調べる必要ある。だいたい距離2倍に付き-6dBぐらい。


Easy3Dなら専用の命令あるから簡単なんだけどね。


417:名前は開発中のものです。
09/08/24 01:11:09 k1OwNVKj
>>415
>>416
レスありがとうございます。

前に敵の探索に外積を使おうとしましたが、
ベクトルの回転がどうしても上手くいかず、断念してしまいました。

また勉強しなおそうと思います。

418:名前は開発中のものです。
09/08/24 02:42:04 FDDmpZib
あ、hgimgって外積計算命令にバグなかったかな?
自前で計算したほうがいいかも。

419:名前は開発中のものです。
09/08/24 17:01:04 Sx7SvVWO
hgimgって右手系だったよね?
プレイヤーの向きの単位方向ベクトルを(px,py)
プレイヤーから音源への単位方向ベクトルを(dx,dy)としたら
arccos(py*dx-px*dy) で右耳から計った角度が出るぞ

420:名前は開発中のものです。
09/08/25 01:31:48 mx84bLOA
>>413
どこかってどこ?

421:名前は開発中のものです。
09/08/25 21:10:25 ZcDr24Kz
HGIMG3で外積を求めるとき、
fvset命令で自キャラ座標を、
fvouter命令で敵キャラ座標を入力すると出るんですが、
高さに0の値が入っていると、出力が0になってしまいます・・・

422:名前は開発中のものです。
09/08/26 01:39:37 9LFoQ0wn
e3dのMOAだけど、アイドリングモーションを別のモーションに切り替えれたら
便利じゃないかと思った。
武器とか変更したらアイドリングモーションかわるからね。

423:414
09/08/26 02:22:41 Kki9vupp
結局fvouter命令を使わずに、自前で実装しました。
上手く結果が出力できたので、音響の作成に入りたいと思います。

ヒントをくださった方々ありがとうございます!

424:おちゃっこ ◆RyN5mfp1Kg
09/08/28 21:22:07 FELCPh8O
>>422
以前にも要望があってやることリストに書いてあります。
ちょっとやることたまっちゃっててすぐには出来ないけど
そのうちやります。


425:名無しさん@そうだ選挙に行こう
09/08/30 13:38:54 4HBsnPlj
ムービー再生機能もよろしくお願いします

426:名無しさん@そうだ選挙に行こう
09/08/30 18:39:49 +7/KZ9ET
Easy3D の過去バージョンてどこかにありませんかね?
5.1.x.x はうちの環境は切り捨てられたし、5.0.5.x はなぜか重いので
5.0.4.x (のなるべく最新)が欲しいんですけど

427:名前は開発中のものです。
09/08/30 21:47:54 kWq5+nH4
> ムービー再生
MMDとかで見かける背景AVIみたいなもの?

> 過去バージョン
どこかにあったような気がするけど覚えてない …そもそも記憶違い?

428:名前は開発中のものです。
09/08/30 22:20:14 U/3J9fAr
>>426
Easy3Dはver4系以降ちょっと重くなったけど
あとは速度はそんなに変わらない。
重いのはマシンがしょぼいんじゃないの?
それと5.1.x.xはワーニング出るけど起動するよ。
ver5.2からは起動しないけど。

429:名前は開発中のものです。
09/08/31 09:08:48 xfUF1+Nm
重くなったけど速度が変わらないって意味不明なんだが
ver5.2てどこにあるんだ?

430:名前は開発中のものです。
09/08/31 10:43:25 GUwiu4jj
5.0.4.0ならhsp3.2に付録されてる。

431:名前は開発中のものです。
09/08/31 12:45:51 NDC1znjN
シェーダー2.0を切り捨てることについて
動作環境の中に影やバンプが使えない環境があると使うのをやめる人が
いるそうだが、シェーダー2.0未満で使うのを止める人がどれだけいるかが
しりたいよ。
作り手側は、どんなパソコンでも動いて欲しいものだろ?

432:名前は開発中のものです。
09/08/31 15:53:32 w+Lkinc2
今の時代にSM2.0がないとか古過ぎだろwwwいつのPCだよ
市販ゲームはSM4.0必須とか普通だぜ?
俺としてはSM3.0くらいまで対応して欲しい

433:名前は開発中のものです。
09/08/31 16:39:14 NDC1znjN
シェーダーのスロットをどれだけ使うかを、e3dで制限するっていうのが
よくない。
制限しなければ、2.0以下でも3.0以上だろうが、自由につくれるんじゃ?


434:名前は開発中のものです。
09/08/31 16:45:55 xfUF1+Nm
HSPの開発環境で市販のゲームと比較とか馬鹿ですか?

435:名前は開発中のものです。
09/08/31 16:57:32 VMQs31/g
今の時代はノート主体だろ。

436:名前は開発中のものです。
09/08/31 18:14:48 w+Lkinc2
>>434
HSPだろうと3Dゲーを作るんだったらそれなりの物をつくりたいとか思わないの?
高画質の3DゲーはHSPじゃ無理ってのが君の考えらしいけど
実際のところHSPが遅いのはrepeat等で計算をループしたりするような部分であって
3D描写の処理はC++でコンパイルしているからDLLを使う元がHSPであろうがC++だろうが関係ないんだよwww

437:名前は開発中のものです。
09/08/31 18:38:21 xfUF1+Nm
「それなりのもの」レベルを目指すならともかく
市販レベルを目指すなら最初からHSPなんて選択しないし、そもそもEasy3Dなんかに頼ったりしない
それすら理解できないほど馬鹿なの?

438:名前は開発中のものです。
09/08/31 18:53:54 1PEqazfG
それなりのものをE3Dで作ってくれるとはなかなか頼もしい言葉だ
勇気付けられた

439:名前は開発中のものです。
09/08/31 19:36:01 W5mkGvqO
晒しあげ

440:名前は開発中のものです。
09/08/31 19:47:52 w+Lkinc2
>>437
馬鹿、馬鹿、さっきから罵倒してばっかだけど
そういう君は具体的な理由を何一つ述べずにHSP≠高クオリティをくり返し言ってるだけ
何故Easy3Dを使ったら市販レベルの画質を目指せないって言い切れるの?
プログラミングが得意で何から何まで全部自分で作り上げたいって言うのならまだしも
得意じゃないからHSPを使う人が多いと思うんだけどw
そういう意味でモデラーにも優しいHSPで3Dゲーを作れるEasy3Dはとてもいいと思うよ
難しいところを全部DLLでやってくれるしね
高度な敵AIを作成するなんてのはHSPじゃきついだろうけど
HSPの時点で画質を諦めちゃうのはちょっと早すぎじゃない?
というか3D描画の部分はC++でコンパイルしてるってさっきも言ったしな
少なくともSM2.0は実装してしかるべき。5年も前から標準モデルだぜwww
今SM1.xを搭載してるPCなんてどちらにしてもCPUがしょぼすぎてまともに動かないっての

441:名前は開発中のものです。
09/08/31 19:58:25 ujJwY6Dn
開発環境はそれなりでもよいけど

ターゲット側、プレイ側PCは 敷居が低くないと遊んでもらえない。
利己的な人は視野が狭いから、一般的な環境を知らないのだろう、
CPUは強いが、恐ろしく3Dに弱いPCが一般的だ


442:名前は開発中のものです。
09/08/31 20:39:01 w+Lkinc2
>>441
利己的とおっしゃいますが、より良い品質のものを作ろうとする心構えのどこが利己的なんでしょう?
SM1.x切捨てに反対するのは利己的だと思うけどさw
あと話の筋から察するに、恐ろしく3Dに弱いってのはSM2.0対応じゃないってことでいいのかな?
どちらにしてもソースだせよ

URLリンク(www.techpowerup.com)
ちなみにこの統計少し古いと思うんだけど、
ここ見る限りDirect8以下が7%だからSM1.xもそのくらいじゃないの?
一般的って言うにはちょい少な過ぎるんじゃね?w

443:名前は開発中のものです。
09/08/31 22:27:25 /jmT8P68
あんま相手にすんなって。

    〃〃∩  _, ,_
     ⊂⌒( `Д´) < ヤダヤダ!どんなパソコンでも動かないとヤダ!
       `ヽ_つ__つ
              ジタバタ

コレどう考えてもアタマ足りないガキでしょ。

444:名前は開発中のものです。
09/08/31 23:06:10 NDC1znjN
2.0未満を切るのはおちゃっこ氏でなく、ゲームを作る個人に任せればいいんじゃないかと思うんだ。

445:名前は開発中のものです。
09/09/01 00:07:28 h6aMtjln
E3Dを利用するかどうかも、ゲームを作る個人の判断に任せられてるわな。

E3D作者の意向に不服があるのなら、早めに別のツールに切り替えることだ。
そういう、ユーザーに使ってもらえなくなるリスクを踏まえたうえでの決定だろうからな。

446:名前は開発中のものです。
09/09/01 00:57:14 0rVAt9xo
「RokDeBone2 モーション、ゲーム作成キット」で
ピクセルシェーダー2.0未満の安定版の集めたものを出してくれれば良い。
古いビデオカード対応版のような
そうすれば「まとめ」になるし、区切りも良い。

以降の最新バージョンは、PS3.0でも、DirectX12でも構わないし
ある意味で、古いカード切り捨ての方がよい。

DirectX9の情報からは本当のハード情報が取れないから
カード毎に調査しないと動作の保証が難しい部分があるだよ


447:名前は開発中のものです。
09/09/01 00:59:35 UAqLa7lL
現実問題、相当腕のあるニートでもない限り
一人で市販並みの3Dゲーなんて技術的・時間的に無理だわな

448:名前は開発中のものです。
09/09/01 01:04:34 OMD+U+eI
互換性気になるならもうHGIMG3でいいんじゃないの。
作る人次第では凄く出来が良いのもあるし。
それでも不満があるならプラグイン自作とか。

たぶんE3Dはゲーム製作者にとってEASYなプラグインという路線みたいだから、ある程度スペック要求するのは仕方ないと思うよ。


で、ハードのこととかよくわからんけど、現状をまとめると
・今のEasy3Dは現状、ピクセルシェーダー2.0より古いものは切り捨て。つまりDirectX9.0より古いものは切り捨てという意味。
・DirectX9.0が出たのが2002年12月?(Wikipediaより)
・最近はネットブックタイプが普及中。

切捨ての是非を考えるなら、
・事実上どの程度のユーザー(ユーザー数やPCスペック)が切り捨て対象となるのか。
・切り捨てなかったとして、最近のポリやボーン、モーションデータが増えたゲームを支えられるスペックがあるのか。
・切り捨て対象ユーザーに3Dゲームへの需要があるのか。
・どのくらいのスペックが普通なの?
この辺が論点な気がするが…あってる?



>>444
選べるということは、環境依存を考慮した設計やプログラミングをしないといけなくなる。
新しい機能も積極的に使ってもらえなくもなる。
…ということだと思う。たぶん。


449:名前は開発中のものです。
09/09/01 01:42:17 0rVAt9xo
作り手の立場からすると、
時間が限られているから、手間が増える事はやらない。
一行を追加する程度で効果が大きければ加えてみるかもしれない。
AIとか物理エンジンとかなら欲しいと思う。
時間短縮になるようなツールなら欲しいと思う。


450:名前は開発中のものです。
09/09/01 08:19:29 vTV5YTMb
古い環境を切り捨てたらEasy3Dが普及するとでも?

451:名前は開発中のものです。
09/09/01 11:24:15 gT73Gy4A
進化するために必要なことなんだから潔く諦めろ

452:名前は開発中のものです。
09/09/01 11:49:59 vlTFLGU+
Windowsの歴史は進化が必ずしも良い事だとは言ってないけどなw

切捨ての判断なんて結局自分自身の判断でするしかないな
動作環境が広ければ喜ぶ人がいるのも間違いないし
広がった表現を歓迎する人もいる訳だしな

453:名前は開発中のものです。
09/09/01 11:59:29 0LDmogLr
ピクセルシェーダー2.0未満のPCなんて今の時代に売っているものなの?
ネットブックでも2.0や3.0以上はあると思うんだけど
今は、ネットブックが最低スペックだから、これで動かせれば無難ではないのかな

454:名前は開発中のものです。
09/09/01 12:45:29 IJfhmMn3
PCを壊れるまで使い続ける人と、新しいPCを買い換える人の2タイプがいるが
e3dは後者向けってことで。

455:名前は開発中のものです。
09/09/01 13:38:12 vTV5YTMb
Easy3Dに切り捨てられた私のノートは
P4-2.8GHz、メモリ2GB、1680x1050ピクセルでこれといって不満がないので買い換える必要を感じません
というのは少数派なのか

456:名前は開発中のものです。
09/09/01 13:55:29 gT73Gy4A
それいつのPC?
俺も5年前に買ったやつがP4の2.8GHz×2でメモリ2Gだけど、
シェーダー2.0対応してたよ

457:名前は開発中のものです。
09/09/01 13:56:30 VgxkXUS8
ゲーマーくらいだろう、毎年買い換える奴なんて。
一般的にPCを家電と考えるならスパンは5年以上じゃね。決して安くないし。


458:名前は開発中のものです。
09/09/01 13:56:46 gMKxfaRK
ノートで3Dゲームのプレイや開発をするのが少数派

459:名前は開発中のものです。
09/09/01 14:35:21 gT73Gy4A
安いと噂のマウスコンピュータのさらに一番安いノートでも
ピクセルシェーダ3対応だったよ
2.0未満の人はこれを期に買い換えたら?

460:名前は開発中のものです。
09/09/01 14:42:26 IJfhmMn3
心配なのは、これからどんどんと切り捨てていく仕様になってしまうことなんだ。

461:名前は開発中のものです。
09/09/01 16:18:47 +gWxMaiI
それは心配のしすぎだな

462:名前は開発中のものです。
09/09/01 17:47:26 0LDmogLr
SM2.0ですら時代遅れだと思うけど
5年以上のマシンは中古でもジャンク扱いだし、何時壊れるかわからない
実際自分が低スペックテスト用に買ったPen3のマシンも壊れちゃったからね

463:名前は開発中のものです。
09/09/01 18:16:55 4dE/5HFq
Windows7が発売されたらDirectX9以前は全部切り捨てでいいよ

464:名前は開発中のものです。
09/09/01 18:19:43 gT73Gy4A
ちょ、いくらなんでもそれは早杉w
まだ半分くらいはXPユーザーじゃん

465:名前は開発中のものです。
09/09/01 20:22:39 OMD+U+eI
>>463 発売されてもすぐにみんな買うわけじゃないんだから。
それに9x系、2k、Meからの買い替え派でも1年ぐらいは様子見するんじゃないかな。

> まだ半分くらいはXPユーザーじゃん
あくまでうちのサイトの統計だけど、
XP...63%
Vista...29%
他...8%
うちは企業が見に来るとは思えない内容だからほとんどが個人ユーザーだと思われ
半分じゃすまないね。


>>460 DirectX10以降はVistaより古いものは切り捨てなんだってね。

>>455 大事にしてあげてください。


5年は買い替えの目安とかパソコンの寿命とか言われてるみたいだけど、5年前の標準的なスペックってどんなもんだっけ。
5年前のハイスペック機じゃなくてね。


466:名前は開発中のものです。
09/09/01 21:01:33 Vx51TjS0
国内メーカーの普通の個人向けなら、
Pen4 2〜3Ghz、メモリ256〜512MB、GPUはインテル内臓のGMA以前じゃね。


467:名前は開発中のものです。
09/09/01 21:09:14 gT73Gy4A
DirectX10はピクセルシェーダー4.0だな
以降するのは相当先の話だろうけど待ち遠しいわw

ところでRokDeBoneの座4でボーンをIKすると、青いマニピュレーターの軸でしか回転しないよな?
緑のマニピュレーターは動きすらしないし
何ゆえこの仕様?

468:名前は開発中のものです。
09/09/01 21:29:58 sCcHs4xe
>>467
こーゆーこと。
URLリンク(www5d.biglobe.ne.jp)

469:名前は開発中のものです。
09/09/01 21:53:21 gT73Gy4A
おおすまんよく見てなかった、ありがとう
これだとIKの階層を深くしたときに変な方向に曲がらないってことか
しかしせっかく角度制限があるんだし
指定軸で全方向に動かせるモードがあれば便利だと思うんだがどうよ?
この想い、おちゃっこ紳へ届け!

470:名前は開発中のものです。
09/09/01 22:34:08 OMD+U+eI
>>466 thx
GMAは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


471:名前は開発中のものです。
09/09/01 23:21:24 gT73Gy4A
要するに、座4と同じように軸方向が設定できて
座1、2、3と同じように一つの軸方向以外にも動かせる
ってことだ
これなら好きな方向に好きなだけ角度制限を掛けられるだろ?
座3でも微妙に軸方向が目的のそれからずれてて、角度制限を掛けるのに苦心している人は俺以外にも沢山いるはず

472:名前は開発中のものです。
09/09/02 06:42:18 W33ewuPt
モーフィング対応版が出た。
URLリンク(www5d.biglobe.ne.jp)

473:名前は開発中のものです。
09/09/02 09:05:52 8m4gm6XA
RokDeBoneにmqo入れたとき、ボーンは作られてなくてジョイントしか認識されないじゃん?
開く度に一々ボーン作るの面倒なんだがどうすればいいかね?

RDBの質問てここかCG板でするか迷うわ…

474:名前は開発中のものです。
09/09/02 09:33:26 VkAbckpS
>>473
くりぼーさんのメタセコプラグインBoneCreate


475:名前は開発中のものです。
09/09/02 12:58:32 8m4gm6XA
>>474
(´・ω・)やっぱプラグイン使うしかないんかね?

476:名前は開発中のものです。
09/09/02 13:55:20 bykoieEv
シェアにするか、bonファイルを利用するか。

477:名前は開発中のものです。
09/09/02 15:35:05 7/THj/ht
>>473 あと2通りある。
1.メニュー:File -> 形状ファイルインポート
2.mikoto形式

>>471 なるほど。角度制限というより軸を限定させるのね。もしやるならモデル上に軸を表示してもらいたいね。


478:名前は開発中のものです。
09/09/02 16:13:29 j4Nu2vGG
せめてどの座標表示を使うかをボーンごとに個別に設定できれば作業が格段に楽になる
例えばボーン1は座1で、ボーン2は座4という感じ
動かすボーンを変えるごとに上のボタンで切り替えるのは面倒すぎて死ねる

479:名前は開発中のものです。
09/09/02 16:58:26 8m4gm6XA
>>477
ありがとう
やってみるわ

480:名前は開発中のものです。
09/09/02 17:27:16 CEoA1cVA
Rokdebone2で何かするたびにダイアログが出るのがウザイ

481:名前は開発中のものです。
09/09/02 18:13:36 4F9Td+IW
3Dゲーム・クックブック HSP+Easy3D入門って本買って学べば
URLリンク(doom15.blog.shinobi.jp)
↑のFPSみたいなのは作れるようになるかな?

482:名前は開発中のものです。
09/09/02 20:18:27 7gbe/IqO
付属のサンプル見て無理なら本読んでも無理

483:名前は開発中のものです。
09/09/03 01:47:57 oMAwn72L
確かにRDBのインターフェイスのブラッシュアップを
そろそろやってもらいたいよなあ。

484:名前は開発中のものです。
09/09/03 17:35:29 y+kYze09
RDBのグローバル座標のマニピュレーターっておかしいよな
メタセコと比べたらよくわかる。

485:名前は開発中のものです。
09/09/03 19:11:27 3RXjrc5q
>>483 マジメな話、プログラマーに優れたUI作れとか無茶だよ。いろんな意味で。
でも、まああのUIは何とかしてほしいね。たくさん機能ついてるのにもったいない感じがする。


486:名前は開発中のものです。
09/09/03 21:33:25 uew1Lr4q
だったら良いと思うUI案でも出してみたら?

彼も自覚はあるようなこと言ってたし

487:名前は開発中のものです。
09/09/03 21:46:36 Mf5rV7nk
MMDみたいにモーションのタイムラインをボーンの数だけ複数行表示して欲しい

488:名前は開発中のものです。
09/09/03 22:58:57 3WmVC49L
モーフのマニュアル、ワケわかめ

489:名前は開発中のものです。
09/09/03 23:06:17 4K11k1hD
MMDより、RokDeBoneの方が、直感的に操作しやすかったよ。
いまだにMMDは操作方法がよくわからん。

490:名前は開発中のものです。
09/09/04 11:57:55 ETQe9LCh
>qua保存のモードを名前基準のみにしました。
>読み込みは番号基準のものも出来ます。


RDB5200以降のquaは読み込みのとき、
ボーン構造が全く同じでもボーン名が違うと
エラーはいて強制終了しちゃうみたい。

製作途中でやっぱりボーンの名前変えたほうが良かった、なんて時や
いつどのボーン名を変えたかが分からなくなってしまったなんて時に
今まで作ったquaが全て使い物にならなくなってしまうので
従来の方法が良いのでは?

491:名前は開発中のものです。
09/09/04 12:11:04 nqRlqtdx
確認ダイアログ出してOKしたら読み込みだな

492:名前は開発中のものです。
09/09/04 21:51:03 iUsIAvVz
E3DVec2CCWのCCWってなにの略かわかる?

493:名前は開発中のものです。
09/09/04 22:04:30 mNSOkccU
>>492
カウンタークロックワイズ
だと思った。反時計回り。

494:名前は開発中のものです。
09/09/04 22:26:50 6zk7zZuO
Wikipedia項目リンク
Countryside Council for Wales. ウェールズ地方協議会だと思ってた

495:名前は開発中のものです。
09/09/04 22:38:54 6zk7zZuO
>>490 いつの間にそんな仕様が…!
ボーン名称が異なるモデルへのモーション移植とかもRDB単体では出来なくなるね。

>>489 全体的に使いにくいけど、487が言うように部分的に優れてるところもあるよね。


496:492
09/09/04 22:55:24 iUsIAvVz
カウンタークロックワイズね、ありがと。

497:名前は開発中のものです。
09/09/05 00:11:27 0k6J7GRm
すっごい必殺技っぽい響き

498:名前は開発中のものです。
09/09/05 05:51:45 3tC8Q6hs
E3DVec3Lengthの二次元版ってありませんかね?
もしくはそれに似たe3d以外の関数があるならそれでもいいのですが

499:名前は開発中のものです。
09/09/05 11:49:02 EeU98UBA
veczが0なら2次元になるじゃないか。まあ、vecx=0でもvecy=0でもどれか1個以上が0にすればいいわけだけど。
E3DVec3Lengthは、
length = sqrt(vecx*vecx + vecy*vecy + vecz*vecz)
としてるだけだよ。ベクトルの教科書見てくるといいよ。

ちなみに2次元(XY平面)だと
length = sqrt(vecx*vecx + vecy*vecy)
こうね。vecz=0のときと同じでしょ。


500:名前は開発中のものです。
09/09/05 12:09:56 E+Fflayt
sqrtはマイナスの値だと、エラーがでるから面倒なんだよね
一回絶対値になおしたほうがいいよ。

501:名前は開発中のものです。
09/09/05 12:56:20 PVPbebZu
>>499の式なら絶対にマイナス値にはならないけどね

502:名前は開発中のものです。
09/09/05 13:05:22 EeU98UBA
>>500はvecxが虚数だった場合のことを心配してるんだよ。
HSPの変数は虚数は扱えないけどね。

503:名前は開発中のものです。
09/09/05 15:07:04 3tC8Q6hs
>>499
それをHSP上でやるとE3DVec3Lengthを使うより重くなるんです。
なのでE3DVec3Lengthの二次元に特化したのが有ればもう少し処理速度を
稼げるのではないかと思い質問させてもらいました。

504:名前は開発中のものです。
09/09/05 17:35:02 PkBmstwG
>>503
499のちなみにより上だけ見ろ。

505:名前は開発中のものです。
09/09/05 17:48:45 PVPbebZu
>>503
そんなに頭固いと後々苦労するよ

506:名前は開発中のものです。
09/09/05 17:55:31 EeU98UBA
>>503
ごめんなさい。説明が少しわかりにくかったですね。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でも実装してもらえるようお願いしてはどうでしょう。
よほどたくさん使わない限り微々たる物だと思いますが。


507:名前は開発中のものです。
09/09/05 20:00:02 E+Fflayt
ただたんに503はsqrtで計算するよりE3DVec3Lengthのほうが速かったっていってるんだろ?

508:名前は開発中のものです。
09/09/05 20:19:10 PVPbebZu
>>507
503以外の人はE3DVec3Lengthの引数の一つを0にすれば
結果は同じ(=二次元版を探す必要は無い)って言ってるんだよ

509:名前は開発中のものです。
09/09/05 20:25:42 p36qGTE5
話がかみ合ってないね
498 E3DVec3Lengthの二次元版って無いでしょうか?
499 Zを0にすればE3DVec3Lengthでも二次元計算できるよ、ちなみに二次元の計算はこんな感じ、ほら三次元のZを0にしたのと同じでしょ?
503 (499の二次元計算の部分だけしか見えてない)HSPでsqrt使ったら重かったんです
506 いや、だからE3DVec3LengthでZを0にして使えばsqrt使わなくても二次元の計算ができるんだってば

510:名前は開発中のものです。
09/09/06 12:07:37 Gwu2DHAd
モーフってターゲットを入れればsigもでかくなるし処理も重くなる?
モーフをウェイト調整が難しい肩や脇とか股とかの調整に使うなんてのは
無謀なのかな?

511:おちゃっこ ◆RyN5mfp1Kg
09/09/06 13:17:05 dxO5PdBw
>>510
お、やっとモーフィングへの反応があった!
20日間もかかって実装したのに反応が薄くて
おじさんさみしかったよ(笑)

重くなるか?との質問ですが。
モーフはまずターゲットの数分パラメータをミックスします。
この際ブレンド率が0のものは無視されるので重くなりません。

しかし一番速度に関係するのはミックスしたデータのビデオメモリへの転送です。
毎フレームミックス後の頂点データを転送します。
頂点数が多いほど遅くなります。ターゲットの数は関係しませんが。
パスの遅い古いマシンだと結構影響あるかも。

影響度はベース形状のものしか考慮しないので
シビアな影響度の部分には難しいかも。

>>488
どの辺がわかりずらいですか?
直そうかな。


512:名前は開発中のものです。
09/09/06 15:38:33 466BKLSt
RokDeBone2の影響度4(○○-ジョイント-シリアル△△って書くやつ)の設定ってどうやって保存するん?
bonファイルには保存されてないし、im2ファイルを保存してもダメだった

513:名前は開発中のものです。
09/09/06 16:16:18 EXBD7o5q
>>512
sigファイルにパーツ名として保存される。
シリアルはいらない。-は一個。
「表示パーツ名-ボーン名」


514:名前は開発中のものです。
09/09/06 16:47:41 466BKLSt
>>513
ありがとう
助かったー

515:名前は開発中のものです。
09/09/08 21:40:37 ZUB3Dsyn
質問です。

HGIMG3の地形メッシュマップにて、
上り坂を歩行する場合、坂の角度に応じて
歩行速度を落としたいのですが、どうしたらいいでしょうか?

516:名前は開発中のものです。
09/09/08 22:22:03 1ad2Q0Jr
>>515
進行方向に当たり判定を2つ並べて、その差が大きいとスピードを落とすようにすればヨシ!
ベクトル計算?三角関数?ナニそれ?

517:名前は開発中のものです。
09/09/09 00:25:27 9SU+bQeY
三角関数くらいは知っておいた方がいいぞwwワロチ

518:名前は開発中のものです。
09/09/09 03:06:35 NNQCfoFm
>>516は、余計な数学を使わないでもアイデア次第で出来るってことを言いたいんだろうが、
それを差し引いても、言っていることがよくわからない。

その差ってのが、何の差なのかよくわからない。
おそらく当たり判定同士の距離だと思うが、空間距離なのか、軸に射影した距離なのかは不明。


519:名前は開発中のものです。
09/09/09 03:11:08 NNQCfoFm
一応、言っておくが、移動後の高さを見ているだけなら、
当たり判定なんていらないぞ。キャラのy座標を見ればいいんだからな。

520:515
09/09/09 05:19:18 C27lWYb0
>>516-519
回答ありがとうございます。

地面の法線から坂の角度を割り出そうとしていました。
が、挫折しました。(旋回すると角度が変化する所で)

移動前、移動後の高さの差でやってみようと思います。

521:名前は開発中のものです。
09/09/09 07:19:53 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倍って具合になるよ

ゲーム制作頑張ってね

522:名前は開発中のものです。
09/09/09 07:25:09 9SU+bQeY
ごめん、
speed += k*(nx*px+ny*py)
だったw

523:名前は開発中のものです。
09/09/09 17:16:27 NNQCfoFm
>>521-522
(1)普通は、y座標を高さにする。
(2)spped += k * (内積)だと、
   内積が0になる90度では、speed += 0 で、キャラの速度はspeedになるはず。
   つまり、キャラの速度は0にならず、地面にめり込む。

524:名前は開発中のものです。
09/09/09 17:25:49 NNQCfoFm
あ、失礼(2)は違う。

525:名前は開発中のものです。
09/09/09 18:20:45 9SU+bQeY
法線との内積だから上手くいくはずだぞ、
ちなみに地面の角度に沿って移動するのを前提とした話であって
めり込むとかそういうのは別問題
あとHGIMGは左手系だったのね、使ったこと無いから右手系だと勝手に思い込んでたわ
だったらP=(px,0,pz)に変えて
speed += k*(nx*px+nz*pz)
とすればおk

526:名前は開発中のものです。
09/09/09 18:29:31 NNQCfoFm
k = speed
じゃないとき、跳ね返りがおかしくなったりしない?

527:名前は開発中のものです。
09/09/09 19:19:02 Ox+sZxyo
URLリンク(homepage3.nifty.com)
E3D用だけど、モジュールだから中見れば式ぐらいは出てくる。

528:名前は開発中のものです。
09/09/09 19:57:35 9SU+bQeY
>>525
ものすごい勘違いしてそうだから書くけど、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

529:528
09/09/09 20:08:22 9SU+bQeY
やべ、自分で自分のレスにアンカーしちまった・・・
ごめん。寝不足なんだよ・・・
>>525じゃなくて>>526ってことで
式もどっか間違えてるかもしれないけど、そのときは誰か直してくれ

530:名前は開発中のものです。
09/09/09 21:04:31 NNQCfoFm
地面の法線ベクトルと、キャラの向きのベクトルのなす角度が180度のとき、
内積は−1

speed += k * -1
だから、k = speedなら、sppedは0になるが、
k != speedなら、ふっとばされるか、よじ登ってしまうってことを言ったのさ。


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

4679日前に更新/190 KB
担当:undef