HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0526
hitochan滑らかなフィールドを歩くには?8解決


hitochan

リンク

2007/5/26(Sat) 16:26:56|NO.8492

またまた質問してしまってすいません。
E3Dのサンプルにあったように、
Hgimg3を使用し滑らかな高低のあるフィールドを移動させたいのですが、
どうしたらいいのかと考えて、

00000000000000000 00111111111100000 00111111111100000 00111111111100000 00111111111100000 00333332222200000
このようなテキストファイルを読み込み、
例えば1の場所に来ると、
座標を10,2,1にセットする、ということを思いついたのですが、
これでは効率が悪い気がします。
どのようなプログラムを組めばいいでしょうか。
お願いします。



この記事に返信する


f

リンク

2007/5/26(Sat) 21:01:39|NO.8520

・・・地面を三角ポリゴンで処理すると言う事なら。

3点の作る平面の公式

A = ((((y2 - y1) * (z3 - z1)) - ((y3 - y1) * (z2 - z1))) * (x - x1))
B = ((((z2 - z1) * (x3 - x1)) - ((z3 - x1) * (x2 - x1))) * (y - y1))
C = ((((x2 - x1) * (y3 - y1)) - ((x3 - x1) * (y2 - y1))) * (z - z1))

の時、

A + B + C = 0

とゆー公式がある。
これを利用する。


hgimgではyが上下だったろうか?という事は、座標が(x,z)だった時、yがいくらかを求めれば良い。
つまり、上の式をy=の形に直せれば良い。

A = ((((y2 - y1) * (z3 - z1)) - ((y3 - y1) * (z2 - z1))) * (x - x1))
B = (((z2 - z1) * (x3 - x1)) - ((z3 - x1) * (x2 - x1)))
C = ((((x2 - x1) * (y3 - y1)) - ((x3 - x1) * (y2 - y1))) * (z - z1))

とした時

A + ( B * (y - y1)) + C = 0

なので、

y = ( ( -A -C ) / B ) + y1

これで、yの座標が出る。



まあしかし、「どこ」のポリゴンの上にいるかどうかを、先に判定をしてやる必要が有るし、
背景に使うポリゴンの情報を持っている必要も有る。


もっと他に良い方法があるかどうかは知らない。


去年の暮れ位に、xファイルを読み込んで、上の計算で、y座標を計算するプラグイン作った事があるが。
欲しいなら発掘するが・・・。直ぐ出てくるとは限らないが。



hitochan

リンク

2007/5/26(Sat) 21:24:12|NO.8522

>fさん
返信ありがとうございます。
こういう公式があるとは・・・。
>去年の暮れ位に、xファイルを読み込んで、上の計算で、y座標を計算するプラグイン作った事があるが。
>欲しいなら発掘するが・・・。直ぐ出てくるとは限らないが。
是非お願いします。(わがままですみません)



GENKI

リンク

2007/5/26(Sat) 23:15:13|NO.8530

 E3Dには地面オブジェクトの高さを調べたり、地面座標に移動させたりする専用の命令が用意されています。
その手の命令はhgimgにはなかったと思います。
思い切ってEasy3Dに移行するのも一つの手かもしれません。

…解決になってない。orz



f

リンク

2007/5/27(Sun) 00:18:07|NO.8532

簡単な説明とサンプル付きでおいときます。

http://sky.geocities.jp/f_the_darudaru/

の下のほうの「DL:p3dh.zip」がそうです。

最初ファイルに直linkしたら、DLできないでやんの。
しょうがないんでサイト来てくだされ。



著作権は放棄。
例のごとく、使用許諾不要、挨拶不用、売れるものなら売ってよし。
使用は本人の責任で。

あくまでも、「もともと未発表」であることを忘れない事。
fがへぽーこで怠け者である事を覚えておく事。



hitochan

リンク

2007/5/27(Sun) 20:32:59|NO.8571

>fさん
どうも有り難うございます!
解決しました。
>GENKIさん
E3Dは難しいような気がするのですが、
それは思いこみですか?



GENKI

リンク

2007/5/27(Sun) 20:57:21|NO.8573

 私の場合、HGIMG(for HSP2)からEasy3Dに乗り換えたユーザーなのでやや片寄った意見ではありますが…。
難しさはどちらもそうかわらないと思います。(3Dならではの難しさ。)
ただ個人的にはE3Dの方が使いやすいと感じています。命令も豊富ですし。
最近はサンプルや解説も充実してきています。
思われているほど難しくはないと思いますよ。

Easy3Dサンプル wiki
http://easy3d.wikiwiki.jp/

Easy3D RING
http://www.neo-arcadia.info/cgi-bin/ering/ering.cgi?mode=all&no=0

一方で、HGIMGはというと本が出ているのがいいところですね。
…以上、片寄った意見でした。m(_ _)m



f

リンク

2007/5/27(Sun) 21:14:49|NO.8575

>どうも有り難うございます!

いえいえ。
むしろhitochan氏自身の、3D処理知識レベルアップの機会を
台無しにしてしまった気がしてならんですが。
まあ、そこはそれ。悪人と言う事で勘弁頂きたく(鬼


E3Dは使った事無いので、難しいか簡単かは知りません。



hitochan

リンク

2007/5/28(Mon) 20:34:41|NO.8610

GENKIさん、fさんどうも有り難うございました。
色々参考にさせていただきます。
これからもよろしくお願いします^^



ONION software Copyright 1997-2023(c) All rights reserved.