作品情報

ID#843

HU3DM (HSP Universal 3D Module)

一般プログラム
作者: motchy


(ダウンロードの注意)

更新日:2014-12-30
バージョン:2.3.0 (完成度95%)

ユーザーの評価 (12)

プログラム技術5
完成度5
アイデア2

HSPの標準命令だけで簡素な3D描画を行うモジュールです。

( 特徴 )
* zソート OK
* 光の効果 OK
* モデル(※独自形式)の使用
* テクスチャ OK

 標準命令のみで成り立っているためWindows版はもちろん、Android用HSP3dish、そして最近登場した hsp3dish.js 上でも使用できます。HSPが満足に動く環境であればどこでも動かせます。

 処理は遅いですがポリゴン数が少なければ (約500まで)今時のPCで20FPSくらいは出せます。数十ポリ程度であれば60FPSは余裕です。ゲーム用途には向きませんが、ツール系アプリでの小規模な3D演出や数学的な立体の描画程度なら使い道があります。もちろん、処理時間を問わないのであれば膨大なポリ数の空間図形を撮影することも可能です。

 私は今年度コンテストにて「mod_SC3D」という3Dモジュールも公開していますが、HU3DMではモジュールの複雑混沌化を軽減するためにmod_SC3Dでサポートしている機能や問題がある機能をいくつか捨てました。具体的には、パーツとして四角形ポリゴンしか扱えなくなりました。そのため、線分を表現するには四角形を工夫して線分代わりに使います。
 mod_SC3Dよりも優れているのは、モジュールの構造が簡単なことと、高速化したことです。モデル制御機能も増えています。

タグ:contest2014
動作環境:HSP 3.x (※最新版を推奨)
プラグイン/モジュール:
ライセンス:自由に配布可能
作成開始:2014年8月17日
募集項目:
説明書: hspcontest843.txt

作品へのコメント(コンテスト以前のログ)

最新のコメントはこちら

No.11 [FunnyMaker]さんが作品にコメントしました - 2015/02/19 23:12:25

    お久しぶりです。

    しばらく更新していませんでしたが、再開しました。
    今後は↓のページで公開していきますので、利用される方がいましたら、DLはここからお願いします。

    http://grepon.web.fc2.com/private/FunnyMaker/hobby/programming/HSP/modules/MyOwnWork/drawing/3d/HU3DM/index.html

    ページ下部に更新状況を表示しています。

    HSP3.5(?)でソート機能が標準装備されるようなのでそれに先行対応しています。これによりHSP3.5(?)以降では若干高速化が見込めます。

No.10 [FunnyMaker]さんが作品にコメントしました - 2014/11/08 12:45:46

    k-koboriさん、評価とコメントありがとうございます。

    興味を持ってもらえてとても嬉しいです。
    現在、スマホでの3D表示は標準命令に頼らざるを得ないのでその分野での需要を視野に入れてHU3DMを作っています。いつの日かこれを使って作られたスマホゲームが現れるといいな~という淡い期待を抱きつつ、dish対応を進めてきました。

    今後、モデルデータのファイル入出力,およびモデルやパーツの姿勢制御の命令を追加していく予定です。特に姿勢制御を強化して、作るのが難しい図形の生成や運動を楽に記述できるようにしたいと思っています。
    処理速度に関してはそろそろ限界を感じつつも、まだ改善の余地を探っているところです。



    皆様からたくさんのご評価を頂いており、感謝で一杯です。とても励みになります。
    HU3DMの今後の発展にご期待ください。

No.9 [k-kobori]さんが作品にコメントしました - 2014/11/07 21:59:32

    すみません、間違えてEnter押してしまいました。
    続きを以下に記します。

    こんなの作ってみようか、あんなの作ってみようかと、
    いろいろと想像をかきたてられました。

    処理速度ですが、個人的には縛りのある中で
    何ができるか考えるのもまたとても楽しいです。
    そのような今後の楽しみをくれたこの作品の
    さらなる発展に期待しています。

No.8 [k-kobori]さんが作品を評価しました( 技術 完成度 アイデア ) - 2014/11/07 21:47:55

    個人的にスマホで動作可能な作品を作ることを
    前提としておりまして、このHU3DMは
    スマホでの3D表現を可能にした
    非常に有意義な作品であると感じました。

    こんなの作ってみようか、あんなの作ってみようかと、

No.7 [FunnyMaker]さんが作品にコメントしました - 2014/11/05 21:51:42

    pippiさん、コメントと評価ありがとうございます。

    製作にかけたロマンを感じてもらえて大変嬉しいです。
    計算で何かやりたいと思い試しに3Dに挑戦したところ、これが結構面白く...。いつしかモジュールになっていました。

    ご指摘の通り最大の弱点は動作速度です。ロマンで作ったのは良いけど実用性が...。
    でも作る前から覚悟してました。宿命として受け入れてます。
    実は処理時間の約87%が計算です。少しでも速くなるように工夫しましたが私ではこの辺が限界のようです。
    そんなわけで遅いモジュールですが、唯一良いところと言えば、標準命令だけでできていることでしょうか。
    あと、ジオメトリ変換のプログラムの \"実例\" になるかと思います。投影の過程を泥臭く示したコードはちょっと珍しいのではないかと。こういう分野のHSPでの\"前例\"になれるだけでも満足です。

    半透明についてですが、...そうです。半透明にしようとしまいと、このモジュールでは処理速度が変わりません。でもプラグインには太刀打ちできません...。それでも提案を頂けるのは嬉しいです。とても励みになります。
    とりあえず、モジュールの使い道は手に取って下さる人それぞれに決めていただくという感じです。
    自分の計算でポリゴンを配置して、できあがったら眺める。そんな楽しみ方でもいいんじゃないかなぁと思ってます。

No.6 [pippi]さんが作品を評価しました( 技術 完成度 ) - 2014/11/05 04:27:08

    まずモジュールとして、かなりの完成度だと思います。おそらく作者様は、過去の作品からも数学的な処理を考えるのが好きなのだろうと存じます。そしてこのモジュールを見た時に、作者様の「作りたかった感」がすごい伝わって来ました。とてもロマンが詰まりまくっていると思います!
    Zソートと光の効果については、実は私も昔個人的にやったことがあるのですが、なぜわざわざGPUでできることをCPUでやったかというと、一つにHSPTV部門で出したかった、そしてもう一つにはやはりロマンというところが大きかったかです!
    もちろんプラグイン無しで標準命令のみできるというのもとても大きいメリットが有ります。
    ここまで多機能に作りあげた作者様の努力は敬服に値します!

    ただ問題点として、どうしても処理の遅さが目についてしまいます。GPUのエミュレートをしているので致し方ないところはありますが、実用性を考えるともう少し処理が早くなってくれればなぁと思います。実用性という点ではもう一つ、HandMadeCube.hspを見て気づいたですが、このサンプルのようにZバッファ無効化せず半透明合成するような、GPUだと難しくてCPUなら簡単にできる処理をもっと押していけば、さらに使い道がたくさん出てくるんじゃないかと思いました!

No.5 [FunnyMaker]さんが作品にコメントしました - 2014/11/02 14:22:56

    GENKIさん、評価とコメントありがとうございます。

    モデルの概念を導入しているのでどうしても操作が難しくなってしまいました。そういうわけで、サンプルにはなるべく丁寧なコメントをつけるように心がけ、気がついたときに説明書もちまちま改訂しています。興味を持ってもらえるように分かりやすい説明を心がけていくつもりです。

    基礎的なサンプルが少ないとのご指摘、まったくその通りで申し訳ないです。欲張ってインパクトのあるデモばかり考えていたので入門書的なコードの整備まで手が回っていません。自画自賛的なサンプルばかりでは誰も手を出してくれないと思うので、今後ぼちぼち入門編サンプルも準備していこうと思っています。



    今後、モジュール本体のアップデートと説明書の拡充(余裕があったらhsファイルの整備)、およびサンプルプログラムの追加を行っていく予定です。

    直近の出来事として、バージョンが2.0.1に上がりました。幾つかバグ修正とともに、ポリゴンの投影処理に大きな変更があります。今までは視野中心から離れるにつれて像の歪みが激しくなっていましたが、この度人間の網膜にアイデアをもらって投影アルゴリズムを変更、歪みを大幅に軽減しました。(※副作用で速度が0.84%落ちました)


    審査期間終了後に更新します。ご期待ください。

No.4 [GENKI]さんが作品を評価しました( 技術 完成度 ) - 2014/11/02 03:36:45

    サンプル見てるとなんとなく昔のhgimg思い出しました。DLL付けたくない時とか、通常命令での描画と組み合わせたい時とか便利そうですね。
    しかしd3moduleと同じ感覚で使えるのかと思ったら意外に難しそうで…もっと手軽さがほしいです。^ ^;

    サンプルもd3moduleの sample_01_start.hsp ぐらいシンプルなものが1個でもあると分かりやすくて助かります。最初はあれぐらいシンプルだととても入りやすいです。
    また実際に使うとなるとヘルプ(hsファイル)がやはり必要です。

    私も昔こういうのがほしい時期がありまして、d3moduleにzソート付けたゲーム造ってコンテストに出したり、回転マトリクス算出するモジュール作ったりしたことがありましたが、これほどのものは到底作ることが出来ませんでした。
    ここまでの物を作るのは大変な作業だったろうと思います。ぜひ沢山の人に使ってもらえるようになって欲しいと思います。

No.3 [FunnyMaker]さんが作品にコメントしました - 2014/10/23 22:20:25

    お二方、評価とコメント有難うございます。


    まるくんのパパさん、

    >また3Dのプログラムを再開しようという気持ちになりました。

     私も本作で色々苦労しました。簡単に使えるよう努めています。本作がモチベーションの刺激に繋がって幸いです。

    >windows7 32bit corei7(core4)メモリ4Gの環境で40fps

     情報有難うございます。40Fps出れば申し分ないです。


    catsさん、

    >私の作りたい部分がほとんどできるようです

     要望に応えられそうで何よりです。製作頑張って下さい! 心で応援しています。

    >パーツなどの配列がかなり複雑

     やはりそうですよね...。命令を全部用意して配列の構造を隠蔽しようかとも思いましたが、一々関数を介しては低速化しますし、構造を知った上で操作してほしいという思いもあり、思い切って配列をユーザーに任せています。
     そこで少しでも楽になるよう「モデル構造体」を定義しています。モデルまではコリコリと作った後、命令でワールドにインポート → やりたい放題。となります。




    今後不定期に更新します。ログはreadme でどうぞ。

    早速ですが、来週頭頃、描画に小革命が起こります。ワイヤーフレーム描画が実現し、ポリゴン描画を細かく制御できます。ご期待ください。

No.2 [cats]さんが作品を評価しました( 技術 完成度 アイデア ) - 2014/10/23 19:13:57

    HU3DMを使ってみたところ、予想以上に高度なことができるようなので驚きました。
    まだ少ししか触っていませんが、説明書を読む限り私の作りたい部分がほとんどできるようです。
    ただパーツなどの配列がかなり複雑ですね。
    使っている内に慣れることができればいいのですが・・・
    とにかく、かなり高度なモジュールですので今後使用させていただきます。

No.1 [まるくんのパパ]さんが作品を評価しました( 技術 完成度 ) - 2014/10/23 14:05:11

    まず注目したのがdllでないこと。
    ソフトを作る際に余計なファイルを同梱させたくない場合に
    いいと思いました。

    HSP付属のIMG3に一度チャレンジしたのですが、命令が多く
    理解するのに日にちが掛りました。
    つまり挫折して諦めました^^;

    このHU3DMですが、極力少ない命令で理解しやすいように
    設計されており、また3Dのプログラムを再開しようという
    気持ちになりました。(^o^)

    まだ、少ししか触っていませんがとても使えると思います。
    サンプルのPrimitiveSolidの起動結果
    windows7 32bit corei7(core4) メモリ4GBの環境で
    40fpsでした。
    参考になるかな^^;

    HSPのインストール時に、標準で入るプラグインとして
    あってもいい作品だと思います。