概要
Easy3D For HSP3
配布元:おちゃっこLAB
Easy3Dはおちゃっこさんが作成し公開しているHSP3で3D描画を行うためのプラグインです。
主に3Dゲームの開発をサポートする目的で開発されており、ゲーム開発に便利な380を超える豊富な数の命令が搭載されています。
HSP3からは実数対応、フォグ(霧のような表現)、トゥーンレンダリング(セルアニメのような表現)、スワップチェイン(多画面表示)など
さらなる新機能が登載され、今後もさらに機能は増えていくようです。
また、HSP3.1からHSP本体に付属して配布されるようになりました。今後のEasy3Dユーザー増加が予想されます。
※正式にはHSP3.1RC1(リリース候補版)以降からHSP本体に添付されるようになりました。
Easy3Dについての詳細はEasy3D公式サイトをご覧下さい。
【注意】
Easy3D for HSP3を使用するにはHSP3.1β3以降が必要です。正式版の最新バージョンHSP3.1なら問題なく使えます。
HSP3.1βはベータ版であることを十分ご理解の上ご利用ください。
【注意】
以下の文章はEasy3Dのバージョンがver1.0.0.1の時から作成した文章が混ざっている場合があります。現在のバージョンとは内容が異なる場合がありますのでご注意ください。
支援サイト
Easy3DサンプルWiki(http://easy3d.wikiwiki.jp/)
ユーザーによるEasy3Dの応援サイトです。
ユーザーによるスクリプトサンプルやサンプル用素材の提供、ユーザー間コミュニケーションなどに利用されています。
ヘルプファイルの入手
マニュアル(e3dhsp_func.htm)を見れば全ての命令の解説がされていますが、プログラム作成時にはワンキーヘルプがあると便利です。
ワンキーヘルプ(F1キーで呼び出すヘルプ)を利用するにはそのプラグインのヘルプファイルであるHSファイルが必要です。
最新のHSP3にはE3Dのプラグインに加えE3DのHSファイルが付属していますが、
E3Dの最新パッケージにはHSファイルが含まれていないため別途入手するか自作する必要があります。
ver3.0.3.3までは私のほうでHSファイルを作成して配布していましたが、ゆうとさんがHSファイル作成ツールEasy3DHelp2Hsを
作成されたことで、簡単に最新版ののHSファイルを作成できるようになりました。
↓こちらのサイトでダウンロードすることが出来ます。
Yuto's WebPage(本館)
アドレス | 備考 |
---|---|
Ease3D for HSP 3 ver3.0.3.3用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/09/09:公開 追加: E3DGetKeyboardCnt、E3DGetKeyboardState命令にVK_で始まるバーチャルキー情報の一覧を追加。 |
Ease3D for HSP 3 ver3.0.3.2用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/09/06:公開 追加: E3DGetKeyboardCnt、E3DGetKeyboardState命令にVK_で始まるバーチャルキー情報の一覧を追加。 修正:「2をせっとすると、」→「2をセットすると、」 おまけ:hs化する前のCSVファイルをつけてみました。(list.csv) |
Ease3D for HSP 3 ver3.0.2.5用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/07/26:公開 追加: E3DGetKeyboardCnt、E3DGetKeyboardState命令にVK_で始まるバーチャルキー情報の一覧を追加。 修正:「2をせっとすると、」→「2をセットすると、」 |
Ease3D for HSP 3 ver3.0.2.0用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/06/25:公開 追加: E3DGetKeyboardCnt、E3DGetKeyboardState命令にVK_で始まるバーチャルキー情報の一覧を追加。 修正:「E3DChkConclict2」→「E3DChkConflict2」 |
Ease3D for HSP 3 ver3.0.1.9用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/05/30:公開 追加: E3DGetKeyboardCnt、E3DGetKeyboardState命令にVK_で始まるバーチャルキー情報の一覧を追加。 修正:「E3DChkConclict2」→「E3DChkConflict2」 |
Ease3D for HSP 3 ver3.0.1.5用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/05/10:公開 追加項目: E3DGetKeyboardCnt、E3DGetKeyboardState命令にVK_で始まるバーチャルキー情報の一覧を追加。 |
Ease3D for HSP 3 ver3.0.0.2用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/04/17:公開 2007/04/29:修正 「ぞんざいする」→「存在する」 「E3DFillUpMotino」→「E3DFillUpMotion」 2007/04/30:追加 E3DGetKeyboardCnt、E3DGetKeyboardState命令にVK_で始まるバーチャルキー情報の一覧を追加。 |
Ease3D for HSP 3 ver2.0.1.7用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/04/07:公開 |
Ease3D for HSP 3 ver2.0.1.1用HSファイル | マニュアル(e3dhsp3_func.htm)から移殖したもの。 2007/04/05:公開 |
Ease3D for HSP 3 ver1.0.0.1用HSファイル | マニュアル(e3dhsp_func.htm)から移殖したもの。 2006/06/20:公開 2006/06/22:ちょっと修正 2006/06/23:ちょっと変更。 |
【!注意!】
・明らかに誤字と思われるものについては、一部hsファイル化する際に修正を加えています。
・記述のレイアウト上変更が必要だった文字(「右の説明を」の場合「下の説明を」に変更)などについては、一部hsファイル化する際に修正を加えています。
・バーチャルキー情報の一覧については、無いと非常に不便だと感じましたので、勝手ながら私のほうで追記させていただきました。
HSファイルの使い方
HSPをインストールしたフォルダのhsphelpフォルダ内にコピーしてご利用ください。
ヘルプブラウザを起動すると新しいHSファイルを認識します。
自分で古いHSファイルを編集していた場合はバックアップを忘れないようにしてください。編集した内容が上書きされ削除されてしまいます。
インストール
プラグインEasy3Dのインストールの仕方を説明します。
基本的に普通のHSP用プラグインをインストールする場合と同じです。
1. e3dhsp3.asをHSP3インストールフォルダ内のcommonフォルダに上書きコピーします。
2. e3dhsp3.dllをHSP3の本体があるフォルダと同じフォルダに上書きコピーします。
3. インストールが終了したら、サンプルスクリプトが動作することを確認してください。
※拡張子がdllのファイルは隠しファイルになっている(見えなくなっている)場合がありますので、見えるようにOSの設定を変更しておいてください。
動作環境
HSP 3.1β3以降。
Microsoft DirectX9.0c 以上が必要です。
対応OS:HSP3およびDirectX9が対応しているWindows(でいいと思います。)
動作するメモリ、CPU、VRAM、などはよく分かりません。
使用方法
普通のHSPプラグインと同じです。
Easy3Dを使用するスクリプトの中で、
#include "e3dhsp3.as"
と記述して、e3dhsp3.asファイルをインクルードしてください。
実行形式ファイル(.exe)にした後は、e3dhsp3.dllを作成した実行形式ファイルと同じ場所にコピーして置いてください。
権利
Easy 3D の著作権は、製作者である「おちゃっこ」さんにあります。
詳細についてはEasy3Dのマニュアルおよび公式サイトを参照してください。
サンプルプログラム
Easy 3D for HSP3には豊富なサンプルスクリプトが付属しています。マニュアルに紹介文が載っていますのでご覧下さい。
また、ユーザーによる解説やサンプルなどがEasy3Dサンプル wikiにて
公開されています。このWikiは閲覧者がコンテンツ作成が可能となっています。ユーザーどうしでの情報交換などに
お役立て下さい。
座標系
座標系は左手系のようです。
ファイル
入出力に使用するファイルは分かっているものだけをあげると次のとおり。
まだ、作成するソフトすらわかりません。
データ | 拡張子 | 作成ソフト |
---|---|---|
形状データ | *.sig | RokDeBone2 |
形状データ | *.mqo | メタセコイア |
モーションデータ | *.qua | RokDeBone2 |
モーションデータ | *.mot | RokDeBone2 |
地面データ | *.gnd | RokDeBone2 |
テクスチャに使用できる画像ファイル形式
jpg, bmp, png, dds
pngはアルファチャンネルも使えます。
HSP2.61版からの変更
HSP3から実数の使用ができるようになったため、HSP2.61版からの命令もこれに対応するため仕様変更がなされています。
主な変更内容は、引数の増減と引数の倍率の変更。
下にHSP2.61版から変更のあった命令の一覧を表示します。(マニュアルから引用)
こうしてみるとかなりの数の命令に仕様変更があったようですね。
命令 | 変更内容 |
---|---|
E3DInit | 関数タイプ変更 COM初期化をなしに 第一引数にwid、第2引数にobjid追加 最後の引数に、scidを追加 |
E3DSigLoad | mult100 --> mult 100倍をやめる。 |
E3DRender | scid追加 |
E3DPresent | scid追加 |
E3DCreateBG | scid追加 uanim, vaminを実数に。 |
E3DSetBGU E3DSetBGV |
scid追加 startu10000, endu10000を実数に。 |
E3DDestroyBG | scid追加 |
E3DBeginScene | scid追加 |
E3DSetNewPose E3DSetNewPause |
frameno引数追加。 stat出力止め |
E3DChkConflict E3DChkConflict2 |
inviewflag追加 stat出力止め |
E3DSetAlpha2 | mult引数削除 alphavalを実数に。 |
E3DSetPos | posx, posy, poszを実数に。 |
E3DChkInView | scid引数追加 |
E3DRotateX E3DRotateY E3DRotateZ |
mult引数削除 角度を実数に |
E3DCloseTo | movestep追加 |
E3DCos E3DSin E3DACos E3DDot E3DCross E3DAtan E3DAtan2 E3DSqrt |
mult, degmult引数削除 実数対応 |
E3DWaitByFPS | retfps引数追加 stat出力止め |
E3DRenderSprite | scalex, scaley は100倍の値ではなく、実倍率の実数 |
E3DSetSpriteRotation | mult引数削除 degを実数に |
E3DChkConfBillboard2 E3DChkConfBillboard |
confrate100 --> 100倍でなく実倍率の実数 |
E3DChkConfGround | nx10000, ny10000, nz10000の1万倍をやめる。実倍率。 |
E3DGetVertPos E3DSetVertPos |
mult引数削除。位置を実数に。 |
E3DRenderBillboard | scid引数追加 |
E3DLoadMQOFileAsGround | mult100の100倍をやめ、実倍率の実数 |
E3DChkConfWall E3DChkConfWall2 |
nx10000, ny10000, nz10000の1万倍をやめ、実倍率の実数。 |
E3DVec3Normalize | mult引数廃止。 |
E3DVec3RotateY | degmult引数廃止。 |
E3DSetSoundTempo | tempo100をtempoに。 |
E3DSet3DSoundListener | doppler100, rolloff100の100倍を止め。 |
E3DSet3DSoundDistance | min100, max100の100倍を止める。 |
E3DControlByNaviLine | dirstep100の100倍をやめ。 newqx10000, newqy10000, newqz10000の10000倍をやめ。 |
E3DSetDirQ E3DGetDirQ |
qx10000, qy10000, qz10000, qw10000の10000倍をやめる。 |
E3DSetScale | mult引数廃止 |
E3DGetScreenPos E3DGetScreenPos2 |
scid追加 |
E3DSetQAxisAndDeg | degmult引数廃止。 |
E3DGetQAxisAndDeg | 取得される数は、10000倍ではなくて、実倍率の実数。 |
E3DRotateQX E3DRotateQY E3DRotateQZ |
mult引数廃止。 |
E3DTwistQ | degmult引数廃止 |
E3DGetTwistQ | twist10000の10000倍をやめる。 |
E3DRotateQLocalX E3DRotateQLocalY E3DRotateQLocalZ |
degmult引数廃止。 |
E3DCreateLine | posptr 座標が実数になったので、配列作成時は、dimではなくて、ddimで作成しないとエラー |
E3DDrawTextByFontID E3DDrawTextByFontIDWithCnt E3DDrawTextByFontIDWithCnt2 |
表示文字数を、4096バイトまでに制限 scid引数追加。 |
E3DGetCharacterNum | 4096バイトの文字列まで対応。 |
E3DSlerpQ E3DSquadQ |
tdiv引数廃止 |
E3DSplineVec | 位置を実数に。ddimで確保した変数でないとエラー。 tdiv引数廃止。 |
E3DPickVert | scid引数追加 |
E3DSetIM2Params E3DGetIM2Params |
関数廃止 InfElemをお使いください。 |
E3DSigImport E3DSigLoadFromBuf |
mult100の100倍をやめ。 |
E3DChkConfLineAndFace | nx, ny, nzの10000倍をやめる。 |
E3DRdtscStop | timeを実数に。 |
E3DCameraShiftLeft E3DCameraShiftRight E3DCameraShiftUp E3DCameraShiftDown |
shift実数 |