X



HSPで3Dゲーム 【hgimg3編】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
2012/01/28(土) 17:15:55.46ID:Khp0Nc8u
隠蔽がきつい
情報あつめましょう
0018名前は開発中のものです。
垢版 |
2012/02/01(水) 14:21:16.01ID:LKAKhn/+
>>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に設定されてる値に加算させる命令だから
重ねて使えば加速してく形になる
0019名前は開発中のものです。
垢版 |
2012/02/01(水) 14:28:09.54ID:LKAKhn/+
fvdir fv, 0, -4, 0;Y方向に-4セット(早い話ベクトル)(Z軸が回転させられたX,Y方向がセットされる)
ここのfvは入力と出力両方の役目が有る
fvに入ってる角度を元に右側で設定されてる移動量(ベクトル)を回転させる
0021名前は開発中のものです。
垢版 |
2012/02/01(水) 18:09:58.69ID:LKAKhn/+
同じじゃない
fvdir fv, -4, 0, 0
ならX方向に-4
ただサンプルのはランダム方向に回転してるから見た目じゃ違いが分からないだけ

fvset fv,0,0,0.001*rnd(6282) を
fvset fv,0,0,0
にして実行してみれば違いが分かる
0022名前は開発中のものです。
垢版 |
2012/02/01(水) 18:43:13.01ID:EsqbMXNK
やってみるとわかりました

fvset fv,0,0,0.001*rnd(6282)でzにセットしたラジアン値で
fvdir fv, 0, -4, 0に反映されるというのがわかりにくい
0023名前は開発中のものです。
垢版 |
2012/02/04(土) 11:39:59.47ID:WQ1CSaRD
ミサイル発射やってみたんですがどうもうまくいかない
はじめの数発だけは正常に動くけど何回もやると初期位置がおかしくなって動きがおかしくなる
次の弾を発射させるときにadddirを終わらせる必要があるんでしょうね
弾のオブジェクトを消滅させるとか
弾の発生のときにregobjして弾が一定距離を飛んだらdelobjって感じ
0024名前は開発中のものです。
垢版 |
2012/02/04(土) 19:13:16.59ID:SZwk90F+
>>23
adddirは現在のdir値に足してく命令
発射時だけ設定するならsetdir
0025名前は開発中のものです。
垢版 |
2012/02/04(土) 22:33:19.44ID:kJfk2pwY
こんな感じでやったんですが
getpos HGOBJ_CAMERA,cx,cy,cz
setpos tama,cx,cy+10,cz
adddir tama,-sin(y),,-cos(y)


adddirを終了させるのはどうすればいいんでしょうね?
0026名前は開発中のものです。
垢版 |
2012/02/04(土) 23:16:58.61ID:SZwk90F+
だから発射時は
setdir tama,-sin(y),,-cos(y)
で良いadd系命令は設定値を足してく命令

単に初期化したいならsetdir objid,0,0,0
0027名前は開発中のものです。
垢版 |
2012/02/05(日) 00:18:29.68ID:FuTn8hvA
setdir objid,0,0,0を追加してみるとadddirがクリアされて
意図通り動きました。
さらに弾を4連射させるのがむずかしい。
tamaのIDを順に変える方法ってありますか?
0028名前は開発中のものです。
垢版 |
2012/02/05(日) 01:37:24.30ID:shlkc11t
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シューティグを作ってみた方が良い
0029名前は開発中のものです。
垢版 |
2012/02/05(日) 09:21:10.12ID:TeVrdhcu
>>28
ありがとうございます。
なるほど、setdir tama,-sin(y),,-cos(y) でできました。
複数の弾を発射させるにはオブジェクト検索をすればいいわけですね。
これは配列を使ってもできるかなと思ったんですが…
tama.0〜tama.3
それと文字列結合もどうかなと
"tama"+0〜"tama"+3

hgimg3は初心者ですがHSP歴は長いです。
0030名前は開発中のものです。
垢版 |
2012/02/05(日) 18:17:31.60ID:shlkc11t
>>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削除した時とかの配列管理も必要になるから面倒な気がするが・・・
0031名前は開発中のものです。
垢版 |
2012/02/06(月) 16:42:53.64ID:0zvPTdFG
ありがとうございます。

そもそも配列使わずにID変える方法ってあるんでしょうか?
4連射なら4つのIDが必要になるわけですが
サンプルスクリプトのsample\elm2d\sample4.hsp ですが
なぜ i だけで複数の弾表示ができるのか疑問に思っています。
0032名前は開発中のものです。
垢版 |
2012/02/06(月) 22:03:47.82ID:QURb+gp8
>>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
0033名前は開発中のものです。
垢版 |
2012/02/07(火) 10:19:39.05ID:EJ8Iltcw
う〜ん、すいません当方ちょっと理解できてないです。
このサンプルだと弾の発射の度に i にモデルIDが追加されていくわけですが
上書きされてるのになんで弾が消えないのかなと疑問なんです。
0034名前は開発中のものです。
垢版 |
2012/02/07(火) 21:04:37.19ID:gGNZz1Vq
*myshot
if (myfcnt&15)=0 {
/*
regobj i,pchr(myfire),OBJ_MOVE|OBJ_BORDER ←ここで毎回現在未使用のIDを収得してる

iを毎回使い捨てで使ってるだけ

>上書きされてるのになんで弾が消えないのかなと疑問なんです。
何でそれが疑問なのかこっちが聞きたい
毎回違うID使われてるの分かってて何で弾が消えると思うの?

同じIDを使いまわしてるなら飛んでた弾が再度発射されて消えたように見えるなら分かるが・・・
0035名前は開発中のものです。
垢版 |
2012/02/07(火) 21:45:11.11ID:EJ8Iltcw
どうもありがとうごさいます。
このサンプルのとおりやってみたんですがうまくできるんですよね。(笑)
ちょっとわかりにくいですが何とかのみこめそうです。
0036名前は開発中のものです。
垢版 |
2012/04/24(火) 07:10:47.93ID:r44oKlbP
ライトオブジェクトってdelobj命令で削除出来ないみたいなんですけど
削除するにはどうしたらいいのでしょうか?
0037名前は開発中のものです。
垢版 |
2012/04/24(火) 09:00:22.18ID:r44oKlbP
>>36ですが勘違いでした。
ゲーム内の初期化の為に、全てのオブジェクトを消すのが目的だったのですが
基本ライトとカメラを削除してしまうと、もう設定を出来なくなってしまうみたいです。
0039名前は開発中のものです。
垢版 |
2012/05/10(木) 03:46:03.10ID:t/E1MbqD
まさか毎フレーム文字列書き込んでないよな?
texmesで書き込んだら違う文章が必要になるまでtexmesは使わないで
hgrotateで表示するだけだぞ?
0040名前は開発中のものです。
垢版 |
2012/05/10(木) 09:07:51.42ID:AmRp46Vz
>>39
リアルタイムで変化する数値を表示させたくて、

texmakeだけ初めに確保しておいて、
texmesとhgrotateを毎フレーム回していたんだ。
0041名前は開発中のものです。
垢版 |
2012/05/10(木) 22:48:24.19ID:t/E1MbqD
>>40
データ名は固定して
数値部分だけ書き換えとか(これも毎フレーム必要か疑問だが)
何行かに分けるとか

とりあえずtexmesは重いのは確実だから常に書き換える用途には向いてない
アスキーコードで間に合うなら定義フォント文字列表示のfprtが良い
0043名前は開発中のものです。
垢版 |
2012/05/26(土) 19:37:24.72ID:eDqI9LU8
命令としてあるのは3Dを2Dに変換だけhgcnvaxis
なんでこんな中途半端な実装なのか意味不明
0049名前は開発中のものです。
垢版 |
2013/06/06(木) 01:25:01.70ID:kIwjLCax
・・・と思ったけどマニュアルだとWin2000以降でOKなのか?

どのみち動かなかったけど・・・
0051名前は開発中のものです。
垢版 |
2013/06/21(金) 22:29:10.60ID:Luxm2qz1
DXライブラリ for HSPが問題ないならそっちに期待したいんだけどなー。記述方法などに関するサンプルが少なすぎる、、
0052名前は開発中のものです。
垢版 |
2013/07/07(日) NY:AN:NY.ANID:2vrr/+Th
DXライブラリはシェーダーモデル2.0だから、ちょっと古いPCでも動くんだよね。
それにmqo、Xファイル、MMDのモデルも読み込めるので便利そう。
0053名前は開発中のものです。
垢版 |
2013/07/12(金) NY:AN:NY.ANID:tPcKyVS4
HGIMG4正式版きましたけど、HGIMG3の正統進化版というわけではなさそうですね。
HSP3Dishの制約は、スマホ用に開発するときだけ受けるものと思っていたけど、
PC用の場合でも、Dishの制約がつくんですね。そのかわりスマホへの移植は容易みたいだけど。
0055名前は開発中のものです。
垢版 |
2013/07/13(土) NY:AN:NY.ANID:sTuoZRro
まだ必要最低限の機能しかないみたいね
アニメ再生と日本語フォントの表示ができるようになったら本気出すわ
0057名前は開発中のものです。
垢版 |
2013/08/30(金) NY:AN:NY.ANID:9KeyytUs
if バカ = アホ {
  pos 100,50
  mes "こんな糞スレぶっつぶしてやるよ(ゲス顔)"
  }
0063名前は開発中のものです。
垢版 |
2013/10/02(水) 09:53:32.49ID:lEz95NhC
多分昼か夜9時ぐらいに変に論点ずらそうとする奴か
ラリった振りしてファビョる奴が出現するんじゃないかな〜w
0064名前は開発中のものです。
垢版 |
2013/11/29(金) 09:17:27.92ID:pGYvWwFO
hgimg4編のスレ立てろよ
0066名前は開発中のものです。
垢版 |
2013/11/29(金) 23:37:40.43ID:pGYvWwFO
HGIMG4制限おおくね。ガウスぼかし使うために乗り換えるのもな...
0068名前は開発中のものです。
垢版 |
2017/12/31(日) 21:00:39.51ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

ODZBAXIWKO
■ このスレッドは過去ログ倉庫に格納されています

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