minahitoの鯉日記スマートフォン用の表示で見るminahitoの鯉日記この広告は、90日以上更新していないブログに表示しています。2009-07-23アセットパイプラインXCゲームコンストラクション環境ではアセットパイプラインが非常に重要視される。アセットパイプラインとは「システム外で作成されたものを、システムのアセットにするための流れ」のようなもので、エンジニアがコマンドを叩かないとダメなもの特定のディレクトリに特定の命名規則で配置してインポータを走らせるものツール上でインポート処理を行うものなど色んなやり方がある。このアセットをアプリケーションの中で使う方法も様々で、命名規則から使用するアセットを自動決定するもの、ハードコードで指定するものから、間に一枚かます方法までえっとある。アセット管理用サーバーやアセットパイプラインミドルウェアやロードランタイムが商品として売っとって、商売になっとるくらいじゃけん。ゲーム開発環境でアセットパイプラインが重視される理由に、アセットの数が膨大なので、管理者を介在させてコントロールする方式が採用できんデータの追加、更新、変更に対して、エンジニアがいちいち動きよったら仕事にならんそもそも、エンジニアがおらんでも、デザイナ(環境のエンドユーザー)レベルでゲームを変更してテストプレーできる環境を目指しとるなどが挙げられると思うが、どこの業界も似たようなもんじゃろう。最後の理由で、アセットパイプラインとアセットの利用メカニクスを導入しようと考えとって、テーマとテンプレートに関しては概ね完成した。いったパイプラインはエンジニア主体の開発からみるとお袈裟な仕組みに見えるかもしれん。いうシステムじゃけー、アセット体系の強化は必須じゃと思っとる。アセット周りは、テンプレートを例題にとるんが分かりやすい。内部のモジュールは、ソースアセット(データ資源)じゃのうて、アセット自体*1を取得して使用することになる。自分が描画に利用するアセットをキーを使って請求する。他の連携するシステムがそのキーに応じたアセット(テンプレートオブジェクト)を返す。このソースアセットがデータベースなのか、ファイルなのかは、インポータを変更することでユーザレベルでの変更が可能になる。あるキーに対してどのアセットを使用するかという応対もユーザーレベルでコントロールできなくてはいけない。このあたりをある規則に基づいて決定することで、開発を迅速に行うフレームワークがあるとすれば、設計コンセプト的に真っ向からぶつかる。そのようなパイプラインは現在ゲーム開発においては事実上絶滅した。メリットも多かったけど、最終的にはアセットパイプラインをちゃんと作るという方向へ来たということじゃと思う。*2前述のゲーム環境では、ゾンビのインスタンスをコピーして、メッシュのアセットをロボットに変更するということが、マウスだけで簡単にできる。いった操作を積み重ねて別物になったインスタンスをエクスポートして、プレハブとして他のユーザー渡すことも簡単。カスタマイズとクリエイトの区別がないと言っていいかもしれません。インポート後のアセットの直接改編と、オーバーライドという例外処理で、ユーザーレベルのクリエーション*3ができるようにしとった。ファイル資源とデータベース資源の抽象化は、パイプラインと一体化したレンダリング用サブシステム委ねられとった。そのへんがユーザーと、複雑なメカニクスを了承しなければならない開発者の妥協点だったんかなぁと思う。コアやベースに近いシステムがアセット制御のコンセプトとランタイムコードを提供することで、開発者の負荷を最小限に抑えながら、ゲームコンストラクションツール水準に達する程度のアセット周りの機能を提供できんかのうと思っとります。*1:アセットは、インポート後のデータの巣の状態を示したり、それがオブジェクト化された状態を示したり定義が曖昧じゃが、狭義な意味で前者、広義な意味で後者と言える。*2:ただ、最短2週間で開発しなくてはいけんWebとは業務用フレームワークで求められとる性質が決定的に違うんで、単純にコンストラクションツールとしてのフィーチャーを追及できるXOOPSのたわ言だと思ってくれていいです。multi-assetsいま、ちょっとした実験コードを書きょーるんじゃけど......朝まで...2009-10-07サタデーラボのつぶやきをまとめたやろーやろー思いよったんじゃけど、遅うなってしもうた。»プロフィールid:minahito_carp今年こそ広島が優勝したブログ。(1)はてなブログをはじめよう!minahito_carpさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。