■ このスレッドは過去ログ倉庫に格納されています
HSPで3Dゲーム 【hgimg3編】
- 1 :名前は開発中のものです。:2012/01/28(土) 17:15:55.46 ID:Khp0Nc8u.net
- 隠蔽がきつい
情報あつめましょう
- 2 :名前は開発中のものです。:2012/01/28(土) 20:06:50.77 ID:Khp0Nc8u.net
- hgimg3を触っててわからないのがベクトル関連の命令
fvaddやfvdirなんだけど
fvaddとaddposはどう違うんでしょう?
- 3 :名前は開発中のものです。:2012/01/28(土) 20:22:29.83 ID:Khp0Nc8u.net
- hgimg3製レースゲームあり
http://sakura.hippy.jp/meta/
- 4 :名前は開発中のものです。:2012/01/29(日) 02:53:12.93 ID:lnzgPTRJ.net
- あっちでhgimg3の話題禁止ってワケじゃないんだから
わざわざスレ立てる必要なかったんでは?
- 5 :名前は開発中のものです。:2012/01/30(月) 09:46:59.89 ID:eW4XGt0k.net
- ただでさえ情報少ないんだから、絞り込むのも悪くないのでは
あっちは割と関係ない話ばっかりになっちゃってるし
- 6 :名前は開発中のものです。:2012/01/30(月) 18:19:42.59 ID:RgdOj4ba.net
- adddirってregobjでOBJ_MOVEモードを指定しないと反応しないよね
addposは何も指定しなくても反応するが…
- 7 :名前は開発中のものです。:2012/01/30(月) 18:47:08.35 ID:RgdOj4ba.net
- addplateで地面をつくろうと思ったら垂直なプレートしか表示できないみたいだ
水平につくりたいならモデリングするべきか
- 8 :名前は開発中のものです。:2012/01/30(月) 19:42:39.16 ID:n/Br4+xO.net
- 回転行列指定できないのか
- 9 :名前は開発中のものです。:2012/01/30(月) 20:18:42.51 ID:RgdOj4ba.net
- x…右が正
y…下が正
z…手前が正
この座標系なんか変だなw なんでyは上が正でないのか?
- 10 :名前は開発中のものです。:2012/01/31(火) 08:10:43.02 ID:20JLJzd8.net
- カメラの方向に対して垂直に左右に動かしたい
ゲームではお馴染みのキー操作なんだけど以下のようにしてみたけどうまくいかない
ジグザグな動きになってしまう
どうやれば左右に動かせるかな?
getang HGOBJ_CAMERA,x,y,z
addpos HGOBJ_CAMERA,sin(y+90.0),,cos(y+90.0)
- 11 :名前は開発中のものです。:2012/01/31(火) 13:31:40.40 ID:hSEGJqW5.net
- sin,cosには角度をラジアンで指定しなくちゃいけないからじゃないかな?
- 12 :名前は開発中のものです。:2012/01/31(火) 16:37:52.21 ID:yeuM2bWt.net
- なるほどラジアンですか
一周が6.2ぐらいなんですよ
それで
addpos HGOBJ_CAMERA,sin(y+1.5),,cos(y+1.5)
とするとマシにはなったけど左右に動かすとジグザクの動きになる
ずばり90度のラジアンを指定しないとうまくいかないね
ちょっとわからない…
- 13 :名前は開発中のものです。:2012/01/31(火) 16:41:36.45 ID:gI3L3Jlu.net
- 3.14 * 2
- 14 :名前は開発中のものです。:2012/01/31(火) 16:47:35.75 ID:yeuM2bWt.net
- 90度はπ/2ラジアンだからだいたい1.57ラジアンということで
addpos HGOBJ_CAMERA,sin(y+1.57),,cos(y+1.57)
とするとうまくいきました
しかしこれで正しいかどうかは疑問
- 15 :名前は開発中のものです。:2012/02/01(水) 04:13:45.79 ID:LKAKhn/+.net
- 標準でM_PI,rad2deg(),deg2rad()ってマクロがある
mes M_PI
mes rad2deg(1.57)
mes rad2deg(atan(1,0))
mes deg2rad(90)
- 16 :名前は開発中のものです。:2012/02/01(水) 05:02:10.29 ID:LKAKhn/+.net
- >>6
ん?
adddirは一度設定すれば常に加算される
弾なんかは発射時に設定すればいいだけ
addposは実行時だけだから毎回実行する必要がある
>>7
回転させれば良いだけじゃ?
>>2
fvaddはfv配列に対しての加算命令
addposはオブジャクト座標に対して直接加算する
単に使いどころが違うだけで計算結果は同じはず
fvdirは指定した座標を回転させる命令
#include "hgimg3.as"
fvset fv,0.0,deg2rad(45),0;fvにY軸を45度回転設定
fvdir fv,100,0,0;X方向100を回転してfvに代入
title "X="+fv+" Y="+fv.1+" Z="+fv.2+" 角度="+rad2deg(atan(fv.2,fv))
- 17 :名前は開発中のものです。:2012/02/01(水) 11:05:07.92 ID:fkrWUMU8.net
- >>15>>16
ありがとうごさいます
adddirは弾の発射には使えますね
fv配列は未だによくわからないです
サンプルに入っているtest6.hspも何をやっているのかわかりませんね
if k&16 { ; リンゴ発射
regobj apple,mchr,OBJ_MOVE|OBJ_BORDER
getpos mychr,x,y,z
setpos apple,x,y,z
fvset fv,0,0,0.001*rnd(6282)
fvdir fv, 0, -4, 0
seldir apple:objsetfv fv
setevent apple,ev1 ; イベント設定
}
- 18 :名前は開発中のものです。:2012/02/01(水) 14:21:16.01 ID:LKAKhn/+.net
- >>17
regobj apple,mchr,OBJ_MOVE|OBJ_BORDER;リンゴオブジェ作成、自動移動ON | クリップ範囲有効(setborderで設定した範囲より外れると自動削除)
getpos mychr,x,y,z;プレイヤーキャラから座標を収得
setpos apple,x,y,z;作成したリンゴオブジェにプレイヤーキャラの座標をセット
fvset fv,0,0,0.001*rnd(6282);z軸に0.001*rnd(6282)度(ラジアン単位)セット
//fv=0.0, 0.0, 0.001*rnd(6282) ;と同じ事(実際置き換えても動く)だがHSPは64ビット浮動小数点でDirectx8は32ビット浮動小数点」
//後fv系命令で使われる配列は0〜2じゃなく0〜3の4要素( fv(3)には1.0が強制的に代入される )
fvdir fv, 0, -4, 0;Y方向に-4セット(早い話ベクトル)(Z軸が回転させられたX,Y方向がセットされる)
seldir apple:objsetfv fv;リンゴオブジェのdir設定を選択:fv(上で回転させたベクトルをリンゴオブジェのdirにセット)
//setdir apple, fv.0, fv.1 ,fv.2 ;と同等、実際置き換(ry
setevent apple,ev1 ; イベント設定(ev1にはevent_命令で80フレーム後に透明度0%、Z角度を0.2づつ加算する、80フレーム待つが設定されてる)
>adddirは弾の発射には使えますね
ちょっと言い足りないところがあった
adddirは現在オブジェクトのdirに設定されてる値に加算させる命令だから
重ねて使えば加速してく形になる
- 19 :名前は開発中のものです。:2012/02/01(水) 14:28:09.54 ID:LKAKhn/+.net
- fvdir fv, 0, -4, 0;Y方向に-4セット(早い話ベクトル)(Z軸が回転させられたX,Y方向がセットされる)
ここのfvは入力と出力両方の役目が有る
fvに入ってる角度を元に右側で設定されてる移動量(ベクトル)を回転させる
- 20 :名前は開発中のものです。:2012/02/01(水) 17:55:13.64 ID:EsqbMXNK.net
- fvdir fv, -4, 0, 0としても同じになりますよね
単にこのx,yは速度じゃないのかなと…
- 21 :名前は開発中のものです。:2012/02/01(水) 18:09:58.69 ID:LKAKhn/+.net
- 同じじゃない
fvdir fv, -4, 0, 0
ならX方向に-4
ただサンプルのはランダム方向に回転してるから見た目じゃ違いが分からないだけ
fvset fv,0,0,0.001*rnd(6282) を
fvset fv,0,0,0
にして実行してみれば違いが分かる
- 22 :名前は開発中のものです。:2012/02/01(水) 18:43:13.01 ID:EsqbMXNK.net
- やってみるとわかりました
fvset fv,0,0,0.001*rnd(6282)でzにセットしたラジアン値で
fvdir fv, 0, -4, 0に反映されるというのがわかりにくい
- 23 :名前は開発中のものです。:2012/02/04(土) 11:39:59.47 ID:WQ1CSaRD.net
- ミサイル発射やってみたんですがどうもうまくいかない
はじめの数発だけは正常に動くけど何回もやると初期位置がおかしくなって動きがおかしくなる
次の弾を発射させるときにadddirを終わらせる必要があるんでしょうね
弾のオブジェクトを消滅させるとか
弾の発生のときにregobjして弾が一定距離を飛んだらdelobjって感じ
- 24 :名前は開発中のものです。:2012/02/04(土) 19:13:16.59 ID:SZwk90F+.net
- >>23
adddirは現在のdir値に足してく命令
発射時だけ設定するならsetdir
- 25 :名前は開発中のものです。:2012/02/04(土) 22:33:19.44 ID:kJfk2pwY.net
- こんな感じでやったんですが
getpos HGOBJ_CAMERA,cx,cy,cz
setpos tama,cx,cy+10,cz
adddir tama,-sin(y),,-cos(y)
adddirを終了させるのはどうすればいいんでしょうね?
- 26 :名前は開発中のものです。:2012/02/04(土) 23:16:58.61 ID:SZwk90F+.net
- だから発射時は
setdir tama,-sin(y),,-cos(y)
で良いadd系命令は設定値を足してく命令
単に初期化したいならsetdir objid,0,0,0
- 27 :名前は開発中のものです。:2012/02/05(日) 00:18:29.68 ID:FuTn8hvA.net
- setdir objid,0,0,0を追加してみるとadddirがクリアされて
意図通り動きました。
さらに弾を4連射させるのがむずかしい。
tamaのIDを順に変える方法ってありますか?
- 28 :名前は開発中のものです。:2012/02/05(日) 01:37:24.30 ID:shlkc11t.net
- adddir tama,-sin(y),,-cos(y)
を
setdir tama,-sin(y),,-cos(y)
にすれば良いって言ってるのに……
adddirとsetdirは同じ所に設定する命令
加算するか上書きするかの違い
だから加速させたいとかが無ければ上書きするsetdirで良い
>tamaのIDを順に変える方法ってありますか?
連続でregobjを実行して最初と最後のIDを保存
これが使えるのは一度もobjを削除してない時にしかできない
IDが連続して無くても出来るように考えた方が良い
regobj var,ModelID,mode,EventID オブジェクトの登録
setcoli id,mygroup,enegroup オブジェクトのコリジョン設定
findobj exmode,group オブジェクト検索
nextobj val 次のオブジェクト検索
この辺を使う
setcoliのグループ値(mygroup)は検索対象グループ値になる
HSP自体の初心者?
それなら標準命令だけで簡単な2Dシューティグを作ってみた方が良い
- 29 :名前は開発中のものです。:2012/02/05(日) 09:21:10.12 ID:TeVrdhcu.net
- >>28
ありがとうございます。
なるほど、setdir tama,-sin(y),,-cos(y) でできました。
複数の弾を発射させるにはオブジェクト検索をすればいいわけですね。
これは配列を使ってもできるかなと思ったんですが…
tama.0〜tama.3
それと文字列結合もどうかなと
"tama"+0〜"tama"+3
hgimg3は初心者ですがHSP歴は長いです。
- 30 :名前は開発中のものです。:2012/02/05(日) 18:17:31.60 ID:shlkc11t.net
- >>29
HSP自体は分かるなら配列使っても良いと思うよ
弾最大使用数=4
dim tama,弾最大使用数
if 弾使用中の数 < 弾最大使用数 {
regobj tama(弾使用中の数),ModelID,mode,EventID
getpos HGOBJ_CAMERA,cx,cy,cz
setpos tama(弾使用中の数),cx,cy+10,cz
・
・
・
弾使用中の数+1
}
使用中の弾の様態確認は
repeat 弾使用中の数
getpos tama(cnt),bx,by,bz
loop
配列使うとobj削除した時とかの配列管理も必要になるから面倒な気がするが・・・
- 31 :名前は開発中のものです。:2012/02/06(月) 16:42:53.64 ID:0zvPTdFG.net
- ありがとうございます。
そもそも配列使わずにID変える方法ってあるんでしょうか?
4連射なら4つのIDが必要になるわけですが
サンプルスクリプトのsample\elm2d\sample4.hsp ですが
なぜ i だけで複数の弾表示ができるのか疑問に思っています。
- 32 :名前は開発中のものです。:2012/02/06(月) 22:03:47.82 ID:QURb+gp8.net
- >>31
だからそれを>>28 で書いたんだが・・・
そしたらあんたが配列使ってできないかって聞いたから>>30 を書いた
>なぜ i だけで複数の弾表示ができるのか疑問に思っています。
>>28 でこの辺を使うって書いた命令使われてるだろ
; プレイヤーのミサイル当たり処理
;
findobj 0,COL_SHOT
repeat : nextobj i:if i<0 : break
getcoli res,i,20.0
*myshot
if (myfcnt&15)=0 {
regobj i,pchr(myfire),OBJ_MOVE|OBJ_BORDER
setpos i,myx,myy,myz
setdir i,0,-8,0
setcoli i,COL_SHOT,COL_ENEMY
- 33 :名前は開発中のものです。:2012/02/07(火) 10:19:39.05 ID:EJ8Iltcw.net
- う〜ん、すいません当方ちょっと理解できてないです。
このサンプルだと弾の発射の度に i にモデルIDが追加されていくわけですが
上書きされてるのになんで弾が消えないのかなと疑問なんです。
- 34 :名前は開発中のものです。:2012/02/07(火) 21:04:37.19 ID:gGNZz1Vq.net
- *myshot
if (myfcnt&15)=0 {
/*
regobj i,pchr(myfire),OBJ_MOVE|OBJ_BORDER ←ここで毎回現在未使用のIDを収得してる
iを毎回使い捨てで使ってるだけ
>上書きされてるのになんで弾が消えないのかなと疑問なんです。
何でそれが疑問なのかこっちが聞きたい
毎回違うID使われてるの分かってて何で弾が消えると思うの?
同じIDを使いまわしてるなら飛んでた弾が再度発射されて消えたように見えるなら分かるが・・・
- 35 :名前は開発中のものです。:2012/02/07(火) 21:45:11.11 ID:EJ8Iltcw.net
- どうもありがとうごさいます。
このサンプルのとおりやってみたんですがうまくできるんですよね。(笑)
ちょっとわかりにくいですが何とかのみこめそうです。
- 36 :名前は開発中のものです。:2012/04/24(火) 07:10:47.93 ID:r44oKlbP.net
- ライトオブジェクトってdelobj命令で削除出来ないみたいなんですけど
削除するにはどうしたらいいのでしょうか?
- 37 :名前は開発中のものです。:2012/04/24(火) 09:00:22.18 ID:r44oKlbP.net
- >>36ですが勘違いでした。
ゲーム内の初期化の為に、全てのオブジェクトを消すのが目的だったのですが
基本ライトとカメラを削除してしまうと、もう設定を出来なくなってしまうみたいです。
- 38 :名前は開発中のものです。:2012/05/08(火) 11:58:35.57 ID:NNZGKzoE.net
- texmesで改行(\n)で表示していくと、やたら重くなってしまう・・・
- 39 :名前は開発中のものです。:2012/05/10(木) 03:46:03.10 ID:t/E1MbqD.net
- まさか毎フレーム文字列書き込んでないよな?
texmesで書き込んだら違う文章が必要になるまでtexmesは使わないで
hgrotateで表示するだけだぞ?
- 40 :名前は開発中のものです。:2012/05/10(木) 09:07:51.42 ID:AmRp46Vz.net
- >>39
リアルタイムで変化する数値を表示させたくて、
texmakeだけ初めに確保しておいて、
texmesとhgrotateを毎フレーム回していたんだ。
- 41 :名前は開発中のものです。:2012/05/10(木) 22:48:24.19 ID:t/E1MbqD.net
- >>40
データ名は固定して
数値部分だけ書き換えとか(これも毎フレーム必要か疑問だが)
何行かに分けるとか
とりあえずtexmesは重いのは確実だから常に書き換える用途には向いてない
アスキーコードで間に合うなら定義フォント文字列表示のfprtが良い
- 42 :名前は開発中のものです。:2012/05/26(土) 11:31:05.85 ID:N+8G+SEp.net
- e3dのpickfaceみたいなワールド座標変換てできんの?
- 43 :名前は開発中のものです。:2012/05/26(土) 19:37:24.72 ID:eDqI9LU8.net
- 命令としてあるのは3Dを2Dに変換だけhgcnvaxis
なんでこんな中途半端な実装なのか意味不明
- 44 :名前は開発中のものです。:2012/05/27(日) 19:23:10.29 ID:Sq25nKDW.net
- それができれば一応逆は自力でできるかな
- 45 :名前は開発中のものです。:2013/04/04(木) 00:53:37.55 ID:/Q/sbuJU.net
- まさかこのスレが脚光を浴びる日がこようとは・・・
HGIMG4配布が楽しみだ
- 46 :名前は開発中のものです。:2013/06/04(火) 20:52:03.60 ID:RUhITecL.net
- HGIMG4のプレビュー版を近日公開するそうです。楽しみ〜
- 47 :名前は開発中のものです。:2013/06/06(木) 00:38:34.33 ID:0lyRi6jk.net
- ttp://hsp.tv/make/hgimg4.html
おまいらプレビュー版来ましたよ
- 48 :名前は開発中のものです。:2013/06/06(木) 00:45:55.86 ID:kIwjLCax.net
- Windows7以降専用だから新しいPC買うまで試せない・・・orz
- 49 :名前は開発中のものです。:2013/06/06(木) 01:25:01.70 ID:kIwjLCax.net
- ・・・と思ったけどマニュアルだとWin2000以降でOKなのか?
どのみち動かなかったけど・・・
- 50 :名前は開発中のものです。:2013/06/06(木) 08:26:21.61 ID:EGfyJfXa.net
- >>47
情報ありがとう!さっそく使ってみよう
- 51 :名前は開発中のものです。:2013/06/21(金) 22:29:10.60 ID:Luxm2qz1.net
- DXライブラリ for HSPが問題ないならそっちに期待したいんだけどなー。記述方法などに関するサンプルが少なすぎる、、
- 52 :名前は開発中のものです。:2013/07/07(日) NY:AN:NY.AN ID:2vrr/+Th.net
- DXライブラリはシェーダーモデル2.0だから、ちょっと古いPCでも動くんだよね。
それにmqo、Xファイル、MMDのモデルも読み込めるので便利そう。
- 53 :名前は開発中のものです。:2013/07/12(金) NY:AN:NY.AN ID:tPcKyVS4.net
- HGIMG4正式版きましたけど、HGIMG3の正統進化版というわけではなさそうですね。
HSP3Dishの制約は、スマホ用に開発するときだけ受けるものと思っていたけど、
PC用の場合でも、Dishの制約がつくんですね。そのかわりスマホへの移植は容易みたいだけど。
- 54 :名前は開発中のものです。:2013/07/12(金) NY:AN:NY.AN ID:MoquWH0m.net
- ほほう、もう正式版とは、昨日ベータ版が出ていたが
- 55 :名前は開発中のものです。:2013/07/13(土) NY:AN:NY.AN ID:sTuoZRro.net
- まだ必要最低限の機能しかないみたいね
アニメ再生と日本語フォントの表示ができるようになったら本気出すわ
- 56 :名前は開発中のものです。:2013/08/19(月) NY:AN:NY.AN ID:hJ3BeZvF.net
- コンテストにHGIMG4使った作品あるね
うちのPCじゃ動かせなから遊べないけど
- 57 :名前は開発中のものです。:2013/08/30(金) NY:AN:NY.AN ID:9KeyytUs.net
- if バカ = アホ {
pos 100,50
mes "こんな糞スレぶっつぶしてやるよ(ゲス顔)"
}
- 58 :名前は開発中のものです。:2013/08/31(土) NY:AN:NY.AN ID:j+tKq4iI.net
- ハイハイ、お薬増やしておきますね
- 59 :名前は開発中のものです。:2013/09/03(火) 22:29:27.29 ID:yt/8T+Su.net
- >>45
でもまだ中途半端だから、すぐに乗り換えるのはどうなんだろうな
- 60 :名前は開発中のものです。:2013/09/11(水) 13:10:35.29 ID:7gaV2uxP.net
- もうHGIMG3のほうは更新しないのかね
- 61 :名前は開発中のものです。:2013/09/12(木) 05:41:30.58 ID:V8qbnsV5.net
- んだよ〜
その上から目線はよ〜
ツッパッてんじゃねえゾ
夜露死苦
- 62 :名前は開発中のものです。:2013/09/12(木) 05:49:15.90 ID:DUv2PAmv.net
- >>60
住み替えるのめんどくせえよな
- 63 :名前は開発中のものです。:2013/10/02(水) 09:53:32.49 ID:lEz95NhC.net
- 多分昼か夜9時ぐらいに変に論点ずらそうとする奴か
ラリった振りしてファビョる奴が出現するんじゃないかな〜w
- 64 :名前は開発中のものです。:2013/11/29(金) 09:17:27.92 ID:pGYvWwFO.net
- hgimg4編のスレ立てろよ
- 65 :名前は開発中のものです。:2013/11/29(金) 10:10:55.72 ID:Cvq9u5jd.net
- HSPで3Dゲーム 【hgimg3編】
01:2012/01/28
63:2013/10/02
4でも同じw
- 66 :名前は開発中のものです。:2013/11/29(金) 23:37:40.43 ID:pGYvWwFO.net
- HGIMG4制限おおくね。ガウスぼかし使うために乗り換えるのもな...
- 67 :名前は開発中のものです。:2013/12/02(月) 18:29:16.09 ID:jWDLL+6u.net
- >>60
これからはバグフィックスしかしないらしいよ
- 68 :名前は開発中のものです。:2017/12/31(日) 21:00:39.51 ID:/rN76OKL.net
- 簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
ODZBAXIWKO
総レス数 68
19 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200