初心者が3Dゲームを作るスレ

■ このスレッドは過去ログ倉庫に格納されています
1Dr.D
垢版 |
2006/05/21(日) 00:24:28ID:HuR5iTxT
こんにちは。
ゲームプログラミングはそこそこできるけど、

3Dプログラミングはからっきしです。
サーフェイス?「サーフィン…とは別物だよな、きっと」
行列?「並ぶのは嫌いさ」
Xファイル?「そう言えば最終シーズン見てないなぁ」

そんなレベルの俺ですが、コツコツ作ります。

ではスタート!
2006/05/30(火) 01:59:09ID:JUitY34u
DirectX9 SDKって400MBもあるんだが、、、こんなに必要なんだろうか
サンプルソースでいいのがあれば助かるけど

解説書のおすすめはどれ?

本格的に取り組むのは初めてだけど無茶苦茶難しいというのが正直な感想。
必死にググってもわかりやすく解説したサイトがない。
2006/05/30(火) 02:05:13ID:JUitY34u
DirectXのラッパーはいろいろありすぎてどれがいいかわからない。
2006/05/30(火) 02:45:37ID:BJ7/RUoS
>>47
ttp://gamdev.org/w/
ライブラリのまとめが参考になるかも。
2006/05/30(火) 12:24:27ID:xRynVH1f
>>46
正直、SDKのドキュメントとサンプルで充分
50名前は開発中のものです。
垢版 |
2006/05/31(水) 19:15:25ID:IW2LJymj
このスレは珍しく期待できそうだな
2006/05/31(水) 23:35:10ID:JMPoDiJQ
sage
2006/06/01(木) 02:03:10ID:FRkpWC6+
初心者たくさんいるはずなのにこのスレの活気のなさってひどい
それぐらい3Dは敷居が高くて挫折しやすいものなんだな
2006/06/01(木) 08:23:15ID:ImOnT9ww
>>52
「空気読めない1が立てたクソスレ」なんていくつでもあるからな。
わざわざ相手するほどのこともあるまい。
2006/06/01(木) 08:37:34ID:8kNV7ddo
関連リンクすら張らない、まとめサイトすら作らない。
つまりスレを立てた時点で>>1に能力とやる気がなかったということ。
周りが悪いわけではなく、>>1が腐っているだけ。
55名前は開発中のものです。
垢版 |
2006/06/01(木) 21:45:59ID:LGjRKK4x
能力がないから1は勉強してるんだろう。
腐ってないだろ。
第一、Part2とかでもないのに関連リンクとか
2006/06/01(木) 22:02:45ID:mx0B/TYc
いや、建てた週と翌週だけで逃げた>>1は、腐臭漂う極上の腐り具合だ。
2006/06/02(金) 00:24:02ID:40xc9cjN
ゲームプログラミングはそこそこできるけど、
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

これ本当かね。
2006/06/02(金) 03:43:00ID:a48yZ09w
>>35に今まで作ったゲーム群が。
これがホントならデキる人かと。

逃げてないよ。また来るでしょ。
2006/06/02(金) 07:54:18ID:0Rtri4gD
「もどき」ばかりだからな〜
ベーマガ投稿作品級ばっかりなんじゃないのか?
2006/06/02(金) 17:31:40ID:8zqtlqB+
ベーマガが見下される時代か
2006/06/02(金) 18:35:07ID:jLfGiY5U
ベーマガのクオリティは知りませんが、
>>35のを作れたらけっこうがんばってる人かと。

>>1の戦闘力を知るためにも、ぜひうpしてほしい。
62名前は開発中のものです。
垢版 |
2006/06/02(金) 19:02:40ID:cRnXOq57
> ・テトリスもどき
>・ぷよぷよもどき

元々、ぷよぷよはテトリスもどき
63Dr.D
垢版 |
2006/06/02(金) 20:12:17ID:xfQtE3DH
何かすごい言われようデスなぁ・・^^;

確かにしばらく顔出してなかったのは申し訳ないです。
でも3Dは勉強中でまだアップできる状況じゃないので勘弁してください
m(_ _)m

ちょっとタスクシステム試してみたいので
ぷよぷよあたりをCで書き直してみます。
(これは数年前の作でVBで作った)

できたらうpするので2〜3日待ってて下さい。
2006/06/03(土) 10:14:34ID:OLEzofVp
いたのねw
ドラクエかwizの方を見たいかな
がんばってくださいなっと
2006/06/04(日) 08:14:55ID:K88stUcM
アマに3Dゲームは無理でしょ
2006/06/04(日) 13:00:55ID:ivXCrRTA
尼さんとか海女さんを馬鹿にするな!!
2006/06/04(日) 14:40:20ID:Uo/9S6B6
アマにも技術力に大きな差があり、3Dと言っても内容は千差万別。
それを一括りに無理というのは、浅慮も甚だしい。
2006/06/04(日) 19:28:08ID:fE9CF5tm
数学の知識が必要になるのが敷居が高い
2006/06/04(日) 20:56:28ID:1hgB0kAW
プログラマーがいないと話にならないよな
立体キャラクターはつくれるけど
3Dプログラムを覚えようとは思わない
一人で全部抱えるなんて嫌だ
2006/06/05(月) 02:56:26ID:K9LVVRK+
物理シミュレーションとかがややこしい
2006/06/05(月) 08:25:43ID:bd4t2Qiy
市販されているゲームの多数がシミュレーションどころか、
モデリングソフト側で定義済みのモーションデータを再生しているだけだが、
どんなゲームを作るつもりなんだ?
2006/06/05(月) 17:17:20ID:QQSGW7sM
数学なんて高校レベルの知識があれば、
それを派生させてくだけだから問題ないだろ。
2006/06/05(月) 19:35:26ID:wEs4Px8x
高校レベルの知識が無い人はどうしますか
2006/06/05(月) 19:40:32ID:wd6SqzUl
ネットの数学サイトで勉強する
……事実そうしようとしてる俺ガイル
2006/06/05(月) 19:55:13ID:9Sw0shvx
高校数学の教科書を丸暗記しているとか、常に100点マンテンとかでなくても、
高校時代の記憶を辿りながら、復習するレベルでいいんじゃないか?

ただ3D関係のデバッグは、
デバッガの示す値から問題点を洗い出さなければならない。
ここでツマヅキやすいんじゃないかな。。。
2006/06/05(月) 23:38:59ID:K9LVVRK+
60フレームで物体の動きを1フレームごとに決めなくちゃいけない
重力や慣性や摩擦や衝突や、計算しなくちゃいけないことが山積み
高校生レベルじゃなくて大学生レベルになってくるんじゃないの

ゲーム開発のための物理シミュレーション入門 って本を読んでたら
眠くなってきた
2006/06/05(月) 23:51:56ID:nAclzYyj
そんなにリアルを求めるゲーム作ってるのか?

>76
>重力や慣性や摩擦や衝突や、計算しなくちゃいけないことが山積み
>高校生レベルじゃなくて大学生レベルになってくるんじゃないの
それ、全部 高校ですよ。
2006/06/06(火) 00:43:44ID:EMhDLPLo
大多数のゲームがまともな速度で動くように
それらしく見えるようにして余計な計算を省いて作っているのに、
なんでこう馬鹿みたいな勘違いをする奴がいるんだろう?

以前にもマリオのジャンプが物理計算に基づいていると勘違いしているアホがいたが。
2006/06/06(火) 02:38:03ID:aN+E61UC
マリオのジャンプはたぶん足し算引き算しかしてないだろね
2006/06/06(火) 02:54:14ID:zmgldz1C
>>78
行列とか微分とか外積とか内積とか
もうお前らそれどこの異世界言語?って感じですが

2DならXYの足し算引き算だけで済むのに
2006/06/06(火) 08:26:33ID:+h8Thuph
>>80
2Dでもシューティングとかだとバッチリ数学使います。
平面回転の行列(or複素数)は絶対として、弾幕の軌道計算で関数を微分したりも。
あと三角関数/逆三角関数とか。
2006/06/06(火) 08:27:17ID:+h8Thuph
平面回転じゃなくて、平面上の点の回転てことで。
2006/06/06(火) 15:17:10ID:zmgldz1C
つまり真面目に誰か小学校算数レベルの俺を助けれと言う話だ(゚∀゚)
2006/06/06(火) 17:44:50ID:mQBwlpUi
マリオのジャンプは放物線でしょ、数学テクニックが使われているはずだ
2006/06/06(火) 17:50:32ID:mQBwlpUi
学校の数学の授業なんてまともに聞いてる人いるのかな
全部聞き流してた、眠たかった
2006/06/06(火) 17:52:07ID:+h8Thuph
>>83
高校時代とか「こんなもん勉強して将来何の役に(ry」とか思ってたのが
大人になってえらいことになってしまった、と。
家庭教師でも付けて勉強したら?

>>84
物理でしょ。まあどっちでもあんまり変わらんけど。
高校物理を勉強して、各種運動で加速度がどうかかるかってのは知っておいた方が良さそうだ。
2006/06/06(火) 18:02:54ID:OhxF5lMs
いや、正直その辺はわざわざ数学/物理勉強し直さなくても調べれば分かると思うんだが。
2006/06/06(火) 19:52:53ID:cAD3jwmb
いまさら居るかどうか分からんが、
Visual Studio Expressでコンパイル通るようにしたLunaのプロジェクト
ttp://aaabbbccc.s6.x-beat.com/upload/src/up8405.zip
2006/06/06(火) 20:13:46ID:6q3EifzD
>>1をスルーしつつ、
良スレになりつつある件について

ところで3Dってどのあたりでつまづく?
@ウィンドーが出せない。
A描画関係の初期化ができない。
Bポリゴンが表示できない。
Cポリゴンが思った方向に動かない。
D移動のための物理計算が上手くできない。
EAIが位置関係を正しく認識しない。
F思うようなMAPを用意できない。
G思うようなポリゴンモデルを用意できない。
Hひと通り動くのだが、ゲームとしてツマラナイ。
I3Dなんて楽勝だが根気が続かないwww
2006/06/06(火) 21:00:16ID:mQBwlpUi
サンプルソースから拡張していくのが普通だろうけど、いいサンプルが
ないってのを痛感する。DirectXのサンプルはシューティングゲーム
ばっかりでそれ以外がまったくない!
2006/06/06(火) 22:39:34ID:XRPDffmD
3Dなんて楽勝だが思うようなポリゴンモデルを用意できないのでツマラナイ
2006/06/06(火) 23:32:58ID:aOaklher
酔って仕事がススマナイ
2006/06/07(水) 00:59:48ID:ZPIY0i+o
テクスチャの楽な貼り方を知らない(´・ω・`)
2006/06/07(水) 03:29:38ID:W1VWj1ZD
マップあたりでつまづく。
キャラとの衝突判定ってどうやんの・・・・
2006/06/07(水) 03:50:26ID:C8ahj/9E
腰あたりから下に向かってレイ飛ばして
衝突Y座標に足の裏が来るようにすればええ。
2006/06/07(水) 19:52:03ID:HiMFR2tt
知識的な面で克服できそうなハードルもあるけど、
表示データそのものについてはPGの守備範囲外だし、
絵師に頼むわけにもいかないしちょっとシンドイね。
ゲームとしてベストなポリゴン数&テクスチャー解像度で、
モーション付きのデータを用意してくれる神って、
どこかにいるのかしらんw
2006/06/07(水) 21:47:20ID:/nqquaI3
>>96
お前こそが新世界の神になれ
98名前は開発中のものです。
垢版 |
2006/06/07(水) 21:54:51ID:HiMFR2tt
おk、↓で神になってくる!
ttp://pc8.2ch.net/test/read.cgi/gamedev/1109842876/674
2006/06/07(水) 23:57:21ID:toO/M0VK
マップのスケールをどう決めていいか分からん。orz
2006/06/08(木) 01:00:59ID:Cbm4h7oY
俺はメートル単位。
2006/06/08(木) 01:59:43ID:qRd8qDSy
俺はフェムトオーダー
2006/06/08(木) 20:18:09ID:GeYl7U0M
>>96
あなたはその神を探す気はないのかな?
やっぱり全部一人で抱えると悲惨だよね
2006/06/10(土) 03:01:56ID:EfLVJV/3
僕が神になる
2006/06/10(土) 09:06:40ID:ApNczupE
新世界の神きたー
2006/06/10(土) 10:55:09ID:3aLURK5+
僕は珍世界の神になる
2006/06/12(月) 02:44:54ID:DXNmvHtZ
僕が紙になる
2006/06/17(土) 11:13:32ID:D6Hsu945
逆三角関数をおしえてください
108名前は開発中のものです。
垢版 |
2006/06/18(日) 07:26:17ID:MoG2FV9R
正直このレベルの数学,物理が難しいとか話にならないから.
死ねばいいのに.
2006/06/18(日) 11:12:03ID:CoC/lB0L
J3Dなんて楽勝だがコリジョン(当たり判定)をどの手法でやれば資源を軽く出来るか分らないwww
2006/06/18(日) 11:53:06ID:CoC/lB0L
>>107 逆三角関数とは、三角関数の逆数のことです。
例えば、sinθ=aとしたとき、この式をθについて表すと次のようになります。
θ=sin-1a  または  θ=arcsin(a)
このような値を満足するθは無限に存在するため、通常は、次の範囲にあるものを代表的なもの(主値といいます)として考えます。
-π/2 ≦ sin-1a ≦ π/2、0 ≦ cos-1a ≦ π、-π/2 ≦ tan-1a ≦ π/2
メソッドなら
double asin(double x) Arcsin(x)、double acos(double x) Arccos(x)、double atan(double x) Arctan(x)
double atan2(double y, double x) Arctan(y/x) 〃
三角関数の計算//pi / 180.0; /* 度 → ラジアン */ 180.0 / pi;/* ラジアン → 度 */
x = sin(deg_r)、y = cos(deg_r)、z = tan(deg_r)
printf("30度の正弦は %f\n", x)、printf("30度の余弦は %f\n", y)、printf("30度の正接は %f\n", z);
逆三角関数の計算
ax = asin(x) * 180.0 / pi;
ay = acos(y) * 180.0 / pi;
az = atan(z) * 180.0 / pi;
printf("正弦が %f になる角度は %f 度\n", x, ax);
printf("余弦が %f になる角度は %f 度\n", y, ay);
printf("正接が %f になる角度は %f 度\n", z, az);
aw = atan2(1.0, -1.0) * 180.0 / pi;
printf("x成分が−1,y成分が1になる角度は %f 度\n", aw);
(出力)
30度の正弦は 0.500000
30度の余弦は 0.866025
30度の正接は 0.577350
正弦が 0.500000 になる角度は 30.000000 度
余弦が 0.866025 になる角度は 30.000000 度
正接が 0.577350 になる角度は 30.000000 度
x成分が−1,y成分が1になる角度は 135.000000 度
2006/06/18(日) 12:03:54ID:CoC/lB0L
「、」のところは改行してください詰め込みましたので
逆三角関数は一例としては角度比較を行うときに使います。

ホーミング性能が良い弾をあえて追尾角度変更の角度制限をして
微妙に当たりにくい弾を作ったり敵を自機を追尾する者と考えたときも使えます

主に
aw = atan2(1.0, -1.0) * 180.0 / pi;
を使うと良いでしょう
但し、角度比較は単なる内積で事足りるときもあるので気をつけてください
2006/06/18(日) 12:21:25ID:CoC/lB0L
>>110の追加
deg_r= 30.0 * 180.0 / pi
つまり
deg_r= 角度 * 180.0 / pi
2006/06/18(日) 12:24:44ID:CoC/lB0L
>>112の修正
deg_r= 30.0 * pi /180.0
つまり
deg_r= 角度 * pi /180.0
2006/06/18(日) 13:11:54ID:etwfQmPT
>107
逆三角関数。
三角関数にアークってつけろ、あとは、自分で調べろ。
2006/06/18(日) 16:17:48ID:IJ855Dct
何この呪文の羅列
三角関数とかマジわかんね
2006/06/18(日) 17:50:06ID:s3OhOc7c
>>115
sin(30)=1/2,cos(30)=(√3)/2は理解できるか?

2006/06/18(日) 17:58:06ID:AkpP3D5v
分かんないんじゃないくて、分かる気が無いんだと思うよ
2006/06/18(日) 18:02:01ID:etwfQmPT
>116
まだ、学校で習ってないと思うから 言っても無駄。しかもルートも知らないと思うよ。

今、学ぶのは大変だと思うから、
実際使えればいいって感じで使い方だけ覚えるのが良し。
2006/06/19(月) 00:51:24ID:PjkME4IK
>実際使えればいいって感じで使い方だけ覚えるのが良し。
・・・そんなの無理だろ・・
英語で言えばアルファベットの読み方知らないのと同じだ
使えさえ出来ないと思う。
sin,cosってそういうもんだろ・・
引数、戻り値の意味を知らずしてプログラムはできない
概念とかじゃなく物理的に
2006/06/19(月) 13:07:36ID:iIHzGLbp
>>116
わからん

>>118
小学校から引きこもってるから習ってはいないな

と言う訳で勉強してくるよ
俺頭いいからすぐ覚えてくるお!!!!11
2006/06/19(月) 16:17:20ID:QZrDv6Ca
それはたのもしい
2006/06/19(月) 17:26:26ID:iIHzGLbp
…あれだな、煽られないと逆に寂しいな
でも嘘は書いてないからキリキリ勉強せんとな
さすがに一次方程式で止まってるからキッツイわ
2006/06/19(月) 18:03:23ID:xNo+CLqv
>>122
分かんないところココに乗せてミソ
大抵のことはココの連中でも教えてくれるはず
少なくとも俺はそうだ

プログラマーで大事なのは恥を忍んで分んないところを聞くことだ
「自分で考えろ」って言う奴は大抵自身も知らなかったり、
ちゃんと要点をまとめて覚えてない売る覚え連中だから

教えてくれなくなるのは会社勤めて3年経ったりするベテランになったりと
年取ってくる時期だから
早めに若いときは恥かいたほうが良い
2006/06/19(月) 19:02:47ID:cL1qXh9W
>>114
まんまじゃねーか
調べろ調べろってうぜぇ
調べてわからないから聞いてんだよ
2006/06/19(月) 19:28:57ID:sI3rGPy3
>>124
君が逆三角関数を知らないために苦しんでいるというのならその事情を話しなさい
当面必要無いようなら無理に知る必要もない

「ぱそこん教えてください」みたいな抽象的な疑問には応えようもない
2006/06/19(月) 20:04:13ID:tEHvDuch
「DirectX逆引き大全500の極意」って本を買って、
一週間くらい前からDirect3D勉強し始めてるんですけど、

当たり判定のところでつまづきました・・・
////////////////////////////////////////////
与えられた3点をもとに、三角形の2辺を導く

この2辺の外積を計算すれば、平面の法線ベクトルが得られる

法線ベクトルの成分は平面方程式の各係数に対応しているので
平面方程式ax+by+cz+d=0のa,b,cが得られる
///////////////////////////////////////////

理解がおいつかないorz

外積や内積は確かに高校のときに習ったような気がするんですが、
ちゃんと聞いとけばよかった・・・
Direct3Dというよりも3Dのしくみがわかってない・・・みなさん勉強してますねorz

2006/06/20(火) 00:26:29ID:sFktv1uZ
三角形と線分の交点?
2006/06/20(火) 00:27:34ID:Csx6/cfg
3D初心者は一番簡単な「球」で当たり判定してればいいよ。
それで適当なシューティングでも作ってればいいさ。

最初は小難しいことやらないで、自分に分かる範囲から
少しずつ勉強していかないと、すぐに挫折するぞ。
2006/06/20(火) 00:31:01ID:RRjthpri
球wwww
2006/06/20(火) 00:37:58ID:9rwJB1S8
当たり判定の取り方、2Dは矩形、3Dは球が基本だとよく聞くね
2006/06/20(火) 01:02:02ID:3eo7HEKQ
>3D初心者は一番簡単な「球」で当たり判定してればいいよ。
>それで適当なシューティングでも作ってればいいさ。
知ったかぶりも大概にシル

キャラなら球かも知れんが
ステージの壁とか球でやる必要ないだろ・・
むしろFPS食って遅くなる
しかも球は三次方程式なんだよ
一次方程式で苦戦している子に無理させるな

結局、レイを使う方法(面と垂線の交点)も学ばんといけません

それにな、まずは点でキャラ作って当たり判定だろ・・それができて
アニメーションさせたりする頃に「キャラの肩が壁に食い込む・・」で球なんだよ
順番にした方が良い、でないとデバックできないプログラマーになるよ
2006/06/20(火) 01:35:02ID:3eo7HEKQ
面(三角形のポリゴン)とキャラクターの位置を表す点から
その点は面の垂線(法線ベクトル)かどうか判断させる

答えが真なら今度はどれぐらい離れているか

その値は面が張られている重心からの法線ベクトルの値を
正の方向とみなして正か負か見る

それらが分れば当たっているか?
当たっていないか?
突き抜けているか?分る
2006/06/20(火) 01:47:02ID:WcdFUVKV
>>131
なんか勘違いしてない?
球って楕円じゃなくて、距離だけで判定する真ん丸の球。
それに面との当たり判定を、球でやれと言ってるわけじゃないよ。

3Dを勉強始めて一週間、3Dの仕組みも分かんないのに
当たり判定なんかで躓いてるなら、もっと基本的なことから
やってった方がいいんじゃないのか? って言いたいだけ。
2006/06/20(火) 02:06:55ID:sFktv1uZ
自分の場合はこんな感じ。

@線分のパラメータtを決定(三角形の式と線分の式からtを決定する式を求めておく)
Atの範囲をチェック
Btから交点を求める
C交点から三角形のパラメータu,vを求める
Du,vの範囲チェック

あくまで線分(or半直線)と三角形との判定だけど。
2006/06/20(火) 02:11:11ID:3eo7HEKQ
>球って楕円じゃなくて、距離だけで判定する真ん丸の球。
そんじゃそれの式書いてミソ
結局XYZで三次方程式になるよ
一次方程式うんぬんなのにその式を導けるだろうか
・・・・
もしかしてCASE文やif文で処理させようと考えてる・・まさかね・・
2006/06/20(火) 03:27:24ID:sFktv1uZ
>>132
興味深い判定方法ですが、
御披露ついでに凹状の角での判定方法をご教授ください。
下図ABDでの判定は問題なさそうですが、

A ┃B
─┗━
C │D

Cからの垂線はいずれの面にも乗らないように思えます。

>>135
こんな感じにすれば、三次方程式にならないと思います。

// x0,y0,z0 : 点0の座標
// x1,y1,z1 : 点1の座標
// size_2 : サイズの二乗
dx = x1-x0;
dy = y1-y0;
dz = z1-z0;
if(dx*dx + dy*dy + dz*dz <= size_2)
{
// 当たり
}
else
{
// はずれ
}
2006/06/20(火) 06:41:55ID:mSOw/G6z
>>135
球はどうみても多変数二次方程式。

3Dで簡単に判定できるものの順に
Sphere>AABB>OBB>N-DOP>ConvexHull
そもそもAABBと面の衝突判定なんかめんどくさいんだよ。
面が全部xyz軸に平行であるわけもないんだぞ(ついでに言えば2Dだってそうだが)
2006/06/20(火) 09:21:15ID:xCW0SmV8
if( (x^2 + y^2 + z^2) <= r^2 )
2006/06/20(火) 15:23:09ID:f59jmO5J
>ID:3eo7HEKQ
 
イ`_
2006/06/20(火) 16:32:05ID:t+g0M0dT
ID:3eo7HEKQは釣りだと思ったんだが・・・
2006/06/20(火) 19:21:44ID:x5ZOe6BS
>>140氏のIDに仮面ライダーがいるw

AABBってAxis-Aligned Bounding Boxes Treeですよね

A ┃B
─┗━
C │D

って厚さが0の壁だとできませんね
まぁ厚さゼロの壁ってあえて作らなくても
よほど速度を必要としない限り壁を2重にすれば良いことですが

A ‖B
=#=
C ‖D

2006/06/20(火) 19:25:50ID:x5ZOe6BS
すいません
>>141は私です。
2006/06/20(火) 19:42:30ID:x5ZOe6BS
>面が全部xyz軸に平行であるわけもないんだぞ(ついでに言えば2Dだってそうだが)
xが正か負か
yが正か負か
zが正か負か
の組み合わせで法線ベクトルの内容から
8パターンメソッド作れば曲面だろうとできますね
@x>0、y>0、z>0
Ax<0、y>0、z>0
Bx>0、y<0、z>0
Cx<0、y<0、z>0
Dx>0、y>0、z<0
Ex<0、y>0、z<0
Fx>0、y<0、z<0
Gx<0、y<0、z<0
ちなみにxyz三成分のどれかが0ベクトルの場合は
8パターンのどれかが併用できます。
三成分とも0ならって・・・壁じゃないですし



2006/06/20(火) 20:23:15ID:x5ZOe6BS
重力がかかってる場合は

xが正か負か
zが正か負か
と天上か床(坂)か
の組み合わせで法線ベクトルから
4パターン+天上、床で作れば曲面でもできることになります
@x>0、z>0
Ax<0、z<0
Bx>0、z<0
Cx<0、z>0

ちなみにxz三成分のどれかが0ベクトルの場合は併用
坂になる場合はy成分分移動して上げてやれば良いですし

2006/06/20(火) 20:30:06ID:7foOlmqj
3eo7HEKQ=x5ZOe6BSなん?
146名前は開発中のものです。
垢版 |
2006/06/20(火) 21:52:27ID:q3QYoQKK
>>126
struct VECTOR
{
float x;
float y;
float z;
};
void VectorAdd( VECTOR *vec, const VECTOR *vec1, const VECTOR *vec2);//ベクトル和
void VectorSub( VECTOR *vec, const VECTOR *vec1, const VECTOR *vec2);//ベクトル差
void CrossVector( VECTOR *vec, const VECTOR *vec1, const VECTOR *vec2);//外積
float DotVector( const VECTOR *a, const VECTOR *b);//aとbの内積を返す
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況