汎用プロジェクトマネージャ考察1

    ■プロジェクトマネージャ

     Mayaでプロジェクトを運用するときに、ある程度の規模になると必ず必要になるのがファイルマネージャですよね。
     当然各会社によってディレクトリ構造が違うので会社によってそれぞれのマネージャが存在します。また、場合によってはマネージャが存在しない会社もたくさんあります。
     以前ボクがお邪魔してたスタジオでは、完全新規プロジェクトだったこともあり何もありませんでした。ってかそれを作るのがボクの仕事だったんですがw

     しかし、こういったマネージャ関連は作成するにはそれなりの時間を要します。しかも、大なり小なり違いはあれど大体求められる機能は一緒なんですよね。ぶっちゃけ、とりあえず深いディレクトリツリーを効率よく回れれば、あとはデータをシェア領域にリリースする機能さえあればなんとかなるもんですし。(たぶん)
     最近のCG業界ではPythonが共通言語としての役割を果たすようになってきているので、ここで一個Pythonで汎用プロジェクトマネージャを作れば、この先なんかあったときに、とりあえずお茶を濁せるのでは?などと思ってます。(考えが浅いかなぁ・・・)

     業界標準規格ができれば、ひとつのマネージャで全部管理できるんでどこへ行っても戸惑わなくてすむのですが(ここらへんの話は一部の方が提唱されてるみたいですね)、やはり映画のような長尺からショートストーリーやゲームのデモムービー、アニメなど分野によってそれぞれ最適な構造があるのと、日本と言う国の体質上難しそうだなと思うのですが、そこらへんどうなんでしょう。


    ■汎用ディレクトリ構造の定義

     で、汎用となるとプロジェクトによって変わるだろうディレクトリ構造を、ある程度簡単に定義できるようになればそれだけで汎用性ができるのではないかと。
     だいたい、昨今のCG業界でのディレクトリツリーは
    ■エレメント・アセット(キャラやプロップ、背景なんかを格納する)
      -カテゴリ(キャラとかプロップとか)
        -グループ(味方・敵・銃・車みたいな感じ)
          -固有名(キャラの名前、車の名前)
            -バリエーション ←これはここに入れるか、某■みたいにショット依存にするか悩みどころ
              -LOD
    ■シーケンス
      -シーン・カット・ショット ←ここの階層はプロジェクトによって異なる可能性大
        -各カテゴリ(アニメ、カメラ、シミュレーション、エフェクト、ライティングなど)
    大雑把に言うとこんな感じではないかと。個人製作領域となるworkをどこに設定するかが会社によって変わってきそうですが。

     何社か見てきたところエレメントとシーケンスの2種類はほぼ間違いなく存在してるようです。そこから下の管理をどう柔軟に定義するかを管理者が決める・・・こういった流れにすればある程度融通がきくのかな。
     とくに、シーケンス直下はたとえば映画や比較的長尺のムービーなら
      ・シーン/カット/
    アニメやテレビなどの連続ものなら
      ・エピソード/シーン/カット/
    短編なら
      ・カット/
    みたいな感じで結構バラつきそうですよね。別に一番階層の深い「エピソード/シーン/カット/」に合わせてもいいですが、ムービー専門のスタジオで意味もなく毎回エピソード1個分余計に階層を作るのもどうかと思うと、ここから下を定義する必要がありそうです。


    ■階層の定義方法

     問題はどうやって定義するのかです。
      1) テキストに構造を何らかのデータとして記述し、そのデータを参照する。
      2) 同じディレクトリ階層のリファレンスを作成し、その構造を参照する。
     1の場合、ひとつのテキストにすべての情報をぶっこんじゃえば、非常にスマートに行く反面、テキストデータですので、せいぜい階層構造くらいしかデータとして持てないのが欠点です。もちろん特定の挙動と関連付けなどもできますが、するとテキストの中身が非常に複雑になってしまいまいす・・・

     2はディレクトリ構造をどっか別の場所にマスターとして作って、それをツールが見ると言う方法。
     この方法は以前某■にいたときに、エレメント管理ツールの中でやっていた方法なのですが、当時は練り込みが甘く汎用性と言う意味では微妙だったのですが、作ったディレクトリと同じ構造が量産できると言うわかりやすさと、ディレクトリ以外のデータを入れることにより、拡張がしやすいと言う意味ではこちらの方が個人的にはプッシュしたい方法です。
     具体的に言うならばPythonの__init__,pyみたいに、そのファイルがいればPythonはそのディレクトリ全体をモジュールとして見てくれる・・・みたいに、特定の名前のファイルによってディレクトリの意味をツールが解釈するようにすれば、拡張性・汎用性ともに優れたものができそうな気がします。


     なんか長くなりそうなので、実際の具体的な方法は次の記事で。(果たして続くのか? 需要はあるのか?)
    スポンサーサイト

    コメントの投稿

    非公開コメント

    プロフィール

    Eske

    Author:Eske
    萌えイラストレーターを目指す3DCGイラストレーター。
    現在ポケモンカードゲーム、ガンダムトライエイジ、ガンダムコンクエスト、妖怪ウォッチとりつきカードゲームなどで3DCGを使用したイラストレーターとして参加中。

    主にここでは日々気づいたメモなんかを残してます。
    イラストのお仕事も受け付けております。ココのメールアドレスからご連絡できますので、お気軽にご相談下さい。

    最新記事
    最新コメント
    カテゴリ
    最新トラックバック
    月別アーカイブ
    検索フォーム
    リンク
    QRコード
    QR