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


HSPTV!掲示板


未解決 解決 停止 削除要請

2010
0416
いなえHGIMG3の不備&要望9解決


いなえ

リンク

2010/4/16(Fri) 23:38:31|NO.31998

HGIMG3の最新版について指摘・要望させていただきます。
前のバージョンからの不備も含めて個人的に改善して欲しいもののみですが。

まずリファレンス関連。
・リファレンスに記載されたdxfload命令が使えない。
・「リファレンスを参照してください」とされたadddxf命令の使い方がどこにも記載されていない。
・ID3のウィンドウを内部で使っていることをリファレンスに記載すべき。

次に仕様かもしれない部分について。
・線分モデルがhgviewによる描画エリアの設定に対応していない。
・オブジェクトの親子関係が多階層になったときにパラメータの多重な変換を受ける。

特にdxfファイルの読み込み機能は強く所望します。
改善できるならばよろしくお願い致します。



この記事に返信する


AudioVisual

リンク

2010/4/17(Sat) 00:06:35|NO.32000

自分もマニュアルがない命令や引数が多いのを何とかして欲しいです。
uvanim命令も使えません。
OBJ_WALKCLIPの意味。
mxファイル、maファイルも十分に機能していない。



backdrop

リンク

2010/4/18(Sun) 15:04:23|NO.32045

HGIMG3からOGG鳴らそうとすると聞こえない



K-s

リンク

2010/4/18(Sun) 15:13:03|NO.32048

古い内容が更新されていなかったり新しい命令や定数の説明がないなどでマニュアル読むのも結構苦労します…
ちょっと調べてみましたので参考になれば。
hgimg3.txtに載っている「命令一覧(メイン)」「命令一覧(補助)」で、
* はhgimg3.hsに説明がないかパラメータの数が違っているもの、
- はhgimg3.asに定義されていないもの、
-*はhgimg3.hsには説明があるもののhgimg3.asに定義されていないものです。

・命令一覧(メイン) * hgini mode,yofs,ysize DLLの初期化 hgreset シーン情報の初期化 - hgsrc ソースバッファ指定 * hgdraw val, timer 描画の実行 hgbye DLLの開放 - getsync val,mode 時間待ち情報を取得 * sync val 時間待ちを行なう - getdebug val デバッグ情報取得 hgsetreq type,val システムリクエスト設定 hggetreq val,type システムリクエスト取得 * setborder sx,sy,sz オブジェクト有効範囲設定 * clscolor sx,sy,cx,cy 背景色設定 clstex id 背景テクスチャ設定 * setfont cx,cy,sw オリジナルフォント定義 fprt "mes",x,y 定義フォント文字列表示 cammode mode カメラモードの設定 * objact ObjID, anim 指定アニメーションを開始 setuv tx0,ty0,tx1,ty1 登録テクスチャUV座標を指定 setsizef sx,sy 登録モデルの幅、高さを指定 setbg sx,sy,cx,cy BGマップ情報設定 -* getbg val,modelID BGマップを取得 -* setmap modelID,x,y BGマップスクロール指定 * addbox val 箱(BOX)モデルを作成 * addplate val, mode 板(PLATE)モデルを作成 * addspr val, mode 2Dスプライトモデルを作成 -* addbg val, winx, winy,sw 2DBGマップモデルを作成 addxfile model,"filename" モデルファイル読み込み * regobj val,ModelID, mode オブジェクトの登録 delobj ObjID オブジェクトの削除 * setobjm ObjID, ModelID オブジェクトのモデル設定 setobjmode id,mode,sw オブジェクトのモード設定 setcoli id,mygroup,enegroup オブジェクトのコリジョン設定 getcoli val,id,distance オブジェクトのコリジョン判定 findobj exmode,group オブジェクト検索 nextobj val 次のオブジェクト検索 - uvanim id, wait, times, sw モデルのUVアニメ設定 - setmode ModelID, mode モデルのモード設定 - settimer ModelID, timer モデルのタイマー設定 clsblur val ブラー設定 setcolor r,g,b 単色ポリゴン作成設定 falpha val フォント文字α値を設定 ・命令一覧(補助) selmoc id, mocofs MOC情報を設定 selpos id 移動座標をMOC情報に設定 selang id 回転角度をMOC情報に設定 selscale id スケールをMOC情報に設定 seldir id 移動量をMOC情報に設定 -* selcam ofs カメラをMOC情報に設定 selcpos カメラ座標をMOC情報に設定 selcang カメラ角度をMOC情報に設定 selcint カメラ注視点をMOC情報に設定 -* sellight id,ofs 光源をMOC情報に設定 sellpos id 光源座標をMOC情報に設定 sellang id 光源角度をMOC情報に設定 sellcolor id 光源色をMOC情報に設定 objset1 ofs,x MOC情報を設定 objadd1 ofs,x MOC情報を加算 -* objmov1 ofs,times,x MOC移動情報を設定 objsetf1 ofs,x MOC情報を設定 objaddf1 ofs,x MOC情報を加算 -* objmovf1 ofs,times,x MOC移動情報を設定 objset1r ofs,x MOC情報を設定 -* objmov1r ofs,times,x MOC移動情報を設定 objset2 ofs,x,y MOC情報を設定 objadd2 ofs,x,y MOC情報を加算 -* objmov2 ofs,times,x,y MOC移動情報を設定 objsetf2 ofs,x,y MOC情報を設定 objaddf2 ofs,x,y MOC情報を加算 -* objmovf2 ofs,times,x,y MOC移動情報を設定 objset2r ofs,x,y MOC情報を設定 -* objmov2r ofs,times,x,y MOC移動情報を設定 objset3 x,y,z MOC情報を設定 objadd3 x,y,z MOC情報を加算 -* objmov3 times,x,y,z MOC移動情報を設定 objsetf3 x,y,z MOC情報を設定 objaddf3 x,y,z MOC情報を加算 -* objmovf3 times,x,y,z MOC移動情報を設定 objset3r x,y,z MOC情報を設定 -* objmov3r times,x,y,z MOC移動情報を設定 objgetfv fv MOC情報を取得 objsetfv fv MOC情報を設定 objaddfv fv MOC情報を加算 -* objmovfv fv,times MOC移動情報を設定 objgetv v MOC情報を整数値で取得 objsetv v MOC情報を整数値で設定 objgetstr sval MOC情報を文字列で取得 - fvget (未使用) fvset fv,x,y,z ベクトル設定 fvseti fv,x,y,z 整数値からベクトル設定 fvadd fv,x,y,z ベクトル加算 fvsub fv,x,y,z ベクトル減算 fvmul fv,x,y,z ベクトル乗算 fvdiv fv,x,y,z ベクトル除算 fvdir fv,x,y,z ベクトル回転 fvmin fv,x,y,z ベクトル最大値 fvmax fv,x,y,z ベクトル最小値 fvouter fv,x,y,z ベクトル外積 fvinner fv,x,y,z ベクトル内積 fvface fv,x,y,z 座標から角度を得る fvunit fv ベクトル正規化 fsin fval,rot サインを求める fcos fval,rot コサインを求める fsqr fval,prm 平方根を求める - fadd fval,prm 小数値加算 - fsub fval,prm 小数値減算 - fmul fval,prm 小数値乗算 - fdiv fval,prm 小数値除算 - fcmp val,prm1,prm2 小数値比較 froti fval,prm 整数値角度を小数値に変換 fv2str fv ベクトルを文字列に変換 str2fv fv,"x,y,z" 文字列をベクトルに変換 str2f fval,"val" 文字列を小数値に変換 f2str val,fval 小数値を文字列に変換 - f2i v,x,y,z 小数値を整数値に変換 - mxload "filename",sw モデルファイル読み込み - setmtex id, nodeid, tex, shade モデルのテクスチャを設定 - getmtex val, modelid, nodeid モデルのテクスチャを取得 - getnode val, modelID, nodeID モデルのノード情報を取得 - evmodel eventID, modelID イベントモデルID設定 - copybuf mode 指定バッファに画面コピー - mxsend val MX形式ファイルをパース - mxconv val MX形式ファイルを変換 - mxaconv val MA形式ファイルを変換 - mxgetpoly val ポリゴン数を取得 - mxgetname val,id テクスチャ名を取得 * settex x,y,sw テクスチャを登録 - gettex val テクスチャIDを取得 - modelmovef id,x,y,z モデルの絶対位置を移動 - modelscalef id,x,y,z モデルの拡大縮小 modelshade id,mode モデルシェーディングモードの設定 -* dxfload "file" DXF形式ファイルを読み込み -* dxfconv val DXF形式ファイルをパース -* dxfgetpoly val ポリゴン数を取得



K-s

リンク

2010/4/18(Sun) 15:18:08|NO.32050

hgimg3.asに定義されているものの中で、
h はhgimg3.hsに載っていないもの、
t はhgimg3.txtに載っていないもの、
ht はどちらにも載っていないものです。

ht FLAG_NONE ht FLAG_ENTRY ht FLAG_VISIBLE ht FLAG_MOVING h OBJ_2D t OBJ_BOUND ht OBJ_ALIEN h OBJ_WALKCLIP ht OBJ_EMITTER ht SHADE_LINES ht SHADE_NOLIGHT ht SHADE_TOON h HGOBJ_CAMERA t CAM_MODE_NORMAL t CAM_MODE_LOOKAT h CAM_MODE_LOOKOBJ h CAM_MODE_AUTOMOVE ht EPRIM_LINE ht MOVEMODE_LINEAR ht MOVEMODE_SPLINE ht MOVEMODE_LINEAR_REL ht MOVEMODE_SPLINE_REL ht MOVEMODE_FROMWORK ht SYSREQ_NONE ht SYSREQ_MAXMOC ht SYSREQ_PKTSIZE ht SYSREQ_DEBUG ht _hgini ht hgsquare t texdel ht sellambient ht objadd1r ht objadd2r ht objadd3r h adddxf t event_prmoff t event_ang t event_scale t event_dir t event_efx t event_work t event_angr ht event_addtarget ht getmdiffuse ht setmonotoon t setobjmodel ht enumobj ht getenum ht bindxfile ht addtexanim ht settexanimfile ht settexanimmode t event_wpos t event_wang t event_wscale t event_wdir t event_wefx ht event_wwait ht setcolvec ht fire_init ht fire_exec ht fire_set ht mosaic_draw ht mosaic_set t hgceldiv h mat_wire3 ht mat_spr3 t EMITMODE_NONE t EMITMODE_STATIC t EMITMODE_CIRCLE t EMITMODE_RANDOM t EMITMODE_LOOKAT ht obaqmat t hgqview t hgqcnvaxis ht hgcnvline ht WORKSCR ht preloadtoon



K-s

リンク

2010/4/18(Sun) 17:06:33|NO.32063

hgimg3.asの方はまだ実装予定のものなども含まれているのかもしれません。

あと個人的な要望ですが、

・dirグループに角度と速さで指定したい
徐々に加速するようなオブジェクトや、曲がるオブジェクトが実装しやすくなると思います。
イベントリストにも適用できると多彩な動きができます。

・描画順をコリジョングループ単位で指定したい
OBJ_FIRST、OBJ_LATE、OBJ_SORTでもある程度は制御できますが、まだ少ないように感じます。
2Dのシューティングゲームだと背景、地上敵、自機、ショット、アイテム、空中敵、敵弾など
描画順が結構重要になってきます。
2Dの場合はZ値で描画順制御できれば万事解決なんですが、バグトラックにも投稿されているように
効いていないようです。

・当たり判定をバウンディングボックス(矩形)同士で判定したい
getcoliはボックスと点、getnearobjは球と点で、どちらも片方が点です。
obaqまでいくと処理が重くなりそうなので、矩形同士だと処理も軽く扱い易いと思います。

・fog
3Dの機能では欠かせないと思います。



AudioVisual

リンク

2010/4/18(Sun) 18:36:12|NO.32070

HGIMG3でフォグはCOMオブジェクトでSetRenderStateをいじれば
ピクセルフォグ、頂点フォグともに可能です。
しかし、addmesh以外頂点カラーが設定されていないため、
フォグカラーで塗りつぶされてしまいます。

HGIMG3は使用できない機能が多いですが、その分パフォーマンスをだすという考え?
だと思うので、現時点でどうしてもフォグが必要ならば
Easy3DかZGP、フォーサイシアを使うことを推奨します。



M

リンク

2010/4/20(Tue) 06:02:45|NO.32115

ドキュメントやサンプルの不親切さ(整備の悪さ)には、いつも悩まされます。
仕様云々に関しては、あるものをあるものとして受け入れることで済ませています。
自分が書いたソースリストを見ると、『なんだかよく判らないけれど、それっぽい動きをしてくれているので良しとする』という部分が沢山あります。

ライセンス関係がよく判らないので、「ここからここまでをコピー&ペーストすればバッチリ」のような形にしてもらえると、助かります。



hon

リンク

2010/4/20(Tue) 22:10:00|NO.32127

HGIMG3の不備に悩むくらいなら、いっそのことE3Dに乗り換えたほうが早いかもしれないですよ。
私はそうしましたが、今では早めに乗り換えておいて良かったと思っています。
HGIMG3で3Dに触れているのならE3Dであまり戸惑うこともないかと・・・。

>>HGIMG3からOGG鳴らそうとすると聞こえない
ディレクトリ名に2バイト文字が含まれていると再生されないようです。



おにたま(管理人)

リンク

2010/4/20(Tue) 22:49:11|NO.32128

HGIMG3についてのご意見、ご指摘ありがとうございます。

>いなえ さん

dxf関連のご指摘ありがとうございます。
現状dxf読み込みはサポートしているのですが、説明とサンプルなどが未整備でした。これは早めに対応したいと思います。
また、現状動作しない部分は、既知の不具合としてマニュアルに記載するつもりです。
HGIMG3は、初めて使用する人にとって決して使い易いものではないと思っていますが、いなえさんのHPにある講座などはとても助けになると思っています。


>AudioVisual さん
>K-s さん
>M さん

マニュアルやリファレンスの対応が追いついていないため、お手数かけてすみません。
HGIMG3のマニュアルは、昔のHGIMGを引き継いで書いている部分があるため、一部の情報が更新されていません。
また、項目が多岐に渡っているため、なかなか機能を使ったり覚える際に情報が見つけにくいとも思っています。
このあたりも皆さんの指摘や協力をもらいながら、改善していきたいと考えています。
あと、OBJ_WALKCLIPについては、hgimg3.txtのメッシュマップについて→範囲クリップを参照してください。
また、uvanim命令、MX,MA形式は現在のHGIMG3ではサポートされていません。


>backdrop さん

ogg再生できないというのは、サンプルやデモも動作しないということですか。
最新版(HSP3.21)でも同様かを確認してみてください。不具合ということあれば詳しい環境と状況をお知らせください。



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