FPSテスト:POLYGON-FPS検証

実際Unityとか、「こんなん面白そうやなー」ってアイディアを、アセット見繕ってさっくり作れるってとこが、最大の魅力であり、未来のコンピューティングやがな、と思ってるんで、極力ソースを書いたり見たりとかは無い方向でお願いしたいところ。

なんやが、世の中そうは問屋が卸して貰えず、ほぼほぼ全てのアセットで、アセット同士の相性は勿論、Unityのバージョン、ビルド先の環境的制限、そしてアセットページを見て期待した仕様構成に対して「機能、性能が適合してないやんけ!」等々(往々にして事後に判明する(;´Д`))で、大概が「そうはならんぞ」という理不尽(個人の感想です)に苛まれ続けてんな。この5年ほどのUnity道は。ほんま。

そういう前提で今回は、手持ちのFPSアセットの牌を次々試していこうと思ってたが、モデリングが好みの形で、しかも銃にP90が見つかって(!)、よーしがっつり検証してやるかー、と、まんまと今回もそのパターンを踏襲。先週末の3日ほどPOLYGON-FPSを重点調査した。あーめんどくさい。

プレファブを調べたら、POLYGON_FPS_prefabに、キャラクターも武器も、差し替え無しの全部入り。それならソースもルートのpolygon_fps_controller.csにまとめられてるかと思ったら、キャラクターの動作関係だけで、肝心の射撃処理は、内包する武器それぞれにアサインされた武器名.csに書かれてた(これが全コピーで差分だけ書き換えてるというめんどくささw)。

そして着弾処理は同じくプレファブ内のshoot_handlesにアサインされたshoot_handle.csのregister_shoot()で、標的オブジェクトがadded_shoots配列に対象オブジェクトを追加、shoot()でタグによってヒット処理されてた。っつても、処理が大きく違う怒れウサギ(部位毎にbodyタグセット)とガソリン缶(petrolタグ)くらいで、他はエフェクトが違う程度か?その先はまだよく解ってない。

まあ機能的連携に加えて、空間的整合(射線はキャラクターじゃ無く銃口の向いた先とか、付けてるサイトによる位置やモーションの違いとか)とか、装備毎のモーションとかエフェクトとか視覚的処理とか、あれこれの全てを連携的に整合させんとならんわけで、それらを統合的管理の場合のメリット、デメリットと、分散的管理のメリット、デメリットとで、まあ全然違うからなあ。そういうののUnity的アプローチの最適解がまだまだ全然解ってないから、こうしてソース読む度に勉強になる。読みたくないけど。

で、結局シーンには、

  • Bunny_targets(Targets_for_bunny)
  • bunny_spawn(Bunny_spawn)
  • props_active(Find_destory_able_props)
  • recyle_spawning_objs_performance(Recyle_inst)

が必要で、これらがエフェクト処理したり怒れウサギや損壊物の処理とか、シーンの管理を担当。

そしていずれもが、タグや名前参照でパラメータへオブジェクトの自動アサインと、各処理からの状況管理をしてて、道理でワケが解らんし、その上で、アサイン時のヌルチェックとか全く書いてない(!)んで、これら必要アセットがシーンに揃っていても、シーン内に想定オブジェクトのタグや名前がどれか一つでも欠けてたら、正常に動かんというブービートラップ。(;´Д`)イヤガラセレベルヤンケ

Unityの、エラーが起きてもシーンは止まらず、エラー箇所以降のコードがキャンセルされるだけっていう仕様が、更に解りにくくさせるめんどくささw。まあログ見たら解るけどって話やが、パッケージやアセットを使ってたら、エラー出てたりするのはデフォやからなw。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA