More Related Content
More from fumoto kazuhiro (12)
Tabc vol3 テクニカルアーティストを始めるにあたって
- 1. Technical Artist Bootcamp 2014 vol.3
「初級編」
テクニカルアーティストを始めるにあたって
Technical Artist Bootcamp 2014 vol.3
「初級編」
テクニカルアーティストを始めるにあたって
の講演をはじめます。
(撮影やSNS投稿について)
- 2. Introduction
• Technical Artist Bootcamp とは
• テクニカルアーティストの能⼒力力を強化するための講座のような
もの
• Bootcampとは「基礎訓練」を意味するが、基礎だけではな
く、応⽤用的な内容なども幅広く取り扱っていく
• 今年年より開催し、賛同者を募りながら、毎年年、継続的に開催し
ていきたい
2
一番最初に、テクニカルアーティストブートキャンプのイントロダクションを紹介させていただきます。
講演の内容はテクニカルアーティストの能力を強化するための講座風プレゼンテーションです。
ブートキャンプという言葉は基礎訓練とう意味ですが、このシリーズは基礎から応用まで幅広く取り扱っていきます。今回は基礎で。初級編と位置付けています。
もともとGDCでも開催されているものですが、CEDECとして今年から開催し、賛同者を募りながら、毎年各地で継続的に開催していきたいと考えていますので、この
セッションがおわって、「自分もできそう・・・」「ネタ持ってるよ」と思われた方は是非ともご一報ください。
講演希望でなくてもTAのコミュニティとしても活動しておりますので、情報交換にも役立てると思います。
- 3. 講演者情報
• 所属チーム
• 株式会社セガ ソリューション本部 開発技術部 技術開発課 ツールチーム
• 仕事(⾃自分の役割)
• SoftimageやMayaをベースとしてツール、表現⼿手法、ワークフローのサポート、提案(元デ
ザイナーのテクニカルアーティスト)
• 登壇経験など
• CEDEC2012:バイナリードメインにおけるモーションワークフローの作り⽅方 (CeDiL)
• 他TAラウンドテーブル、今年年のTABootcampコーディネート
• 寄稿「デジタルゲームの技術」「ゲームクリエイターが知るべき97の事」
• Facebook等でTAコミュニティ
3
それではまず、登壇している私の自己紹介からさせていただきます。
所属部署のチームは社内のデザイナに対してツールやパイプライン、ワークフローの開発を行う部署。
その中で、3D、2Dツールをスクリプトベースでツールや表現手法ワークフローの策定などを担当しています。
過去の登壇経験は最近ですと、CEDEC2012でバイナリードメインにおけるモーションワークフローの作り方、やTAラウンドテーブル。CEDEC以外ですと最近毎年igdaの
GDC報告会にでたりしています。
寄稿やFacebook等を通じてTAの役割を発信したりコミュニティを展開しています。
- 4. TAラウンドテーブルより
• CEDEC2010~∼2012 3回連続で開催
• 内容
• 欧⽶米から⼊入ってきたTAという⾔言葉葉。それはどういうものなのか?参
加者はそれぞれの解釈を⽤用いて話し合われた。
• それぞれのゲーム開発にあわせ役割として存在し、アーティストの
データ作成におけるいろいろな問題を解決し、多様化されるゲーム
開発において重要なポストを担う職種であると再認識識された。
• 詳細はCEDiLにアップされている過去3回分の議事録を参照
※Technical Artist Bootcampで検索索 4
登壇経験のところにあったTAラウンドテーブルの内容をまず簡単に紹介します。
・CEDEC2010~2012 3回連続で開催
・内容
欧米から入ってきたTAという言葉。それはどういうものなのか?参加者はそれぞれの解釈を用いて話し合われた。
それぞれのゲーム開発にあわせ役割として存在し、アーティストのデータ作成におけるいろいろな問題を解決し、多様化されるゲーム開発において重要なポストを担う職
種であると再認識された。
詳細はCeDiLにアップされている過去3回分の議事録を参照してください。
このセッションは今後もCEDiLを参照とかどこそこに資料がありますといったインフォが出てきます。CEDiLに関してはポータルサイトですし検索もできるのでこのまま
文章で提示しますが、他のはちゃんとQRコードでリンクを公開してますので、写真に撮ってアクセスしてみてください。
先日もとある会社のTAの役割をしている人と話す機会があったのですが、やっぱりまだまだTAの役割がちゃんと仕事として認められているのは人数の多い企業のみとい
うのを実感しました。
これらのことを踏まえて・・・
- 5. アジェンダ
• テクニカルアーティストの仕事、⼯工数、
モチベーション
• TA10得ナイフ(テク⼆二カルアーティスト
のためのツール活⽤用,10個もないよ)
5
今日のアジェンダを紹介します。
まず最初に私、麓のテクニカルアーティストとしての仕事、工数の考え方、モチベーションについてお話しした後、TA十得ナイフとして、テクニカルアーティストのため
のツール活用例を紹介させていただきます。
複数の機能を持ったツールを使いこなすと得するよという意味で十徳ナイフにかけてみました。
ちなみに今日の資料はTAとかテクニカルアーティストとか表記は統一されていませんが、これは文字数の関係で深い意味はありません。
- 7. テクニカルアーティストの仕事
• アーティストの上級職というイメージが強い
• でも、開発規模によってはアートアセットを作るための
ツールを精度度の⾼高い整備が必要になるため、ツールエン
ジニアというプログラマとしてのTAも存在している。
• アーティストTA(ATA)とプログラマーTA(PTA)が存在し
て、ペアで仕事をすることが多く、それぞれの役割が決
まっている。(TAラウンドテーブルより)
7
まずはTAラウンドテーブルで話し合われた事柄から紹介すると、TAとはアーティストの上級職というイメージが強いところもあるが、開発規模によってアートアセット
を作るためのツールを精度の高い整備が必要になったりするため、(例えばdllやツール乗っ取り型の改造等)ツールエンジニアというプログラマとしてのTAも存在して
います。
そういった中から、アーティストTAとプログラマーTAという二種類の出身職のTAが必要という事が共有されています。
- 8. テクニカルアーティストの仕事
• アーティストTAの役割
• アーティストのデータ製作フローを完全に把握し、提
案された改善案を元にパイプラインを設計したり、実
際にDCCツールのスクリプトレベルであれば、⾃自分
で開発。場合によっては表現を上げるために⾃自分で
シェーダ表現を構築して検証をする。技術への知⾒見見を
深く持ったアーティスト。
8
さて、その2種類の役割と主な仕事の内容はこういった感じに分かれます。
まずはアーティストTAの場合は、アーティストのデータ製作フローを完全に把握し、提案された改善案を元にパイプラインを設計したり、実際にDCCツールのスクリプ
トレベルであれば、自分で開発。場合によっては表現を上げるために自分でシェーダ表現を構築して検証をする。技術への知見を深く持ったアーティスト。
自分がどちらかというとこちら側なので今日の話は主にこっち向けの話。
- 9. テクニカルアーティストの仕事
• プログラマーTAの役割
• ATAから提案されたり、⾃自⾝身で策定したパイプライン
に必要なスタンドアローンツールを製作したり、より
最適化された動作をする必要のあるDCCプラグイン
やシェーダ開発をする。アーティストが使うツールへ
の知⾒見見を深く持ったプログラマー。
9
次にプログラマーTAの場合は、ATAから提案されたり、自身で策定したパイプラインに必要なスタンドアローンツールを製作したり、より最適化された動作をする必要の
あるDCCプラグインやシェーダ開発をする。アーティストが使うツールへの知見を深く持ったプログラマー。
ということになります。
一見してこれってただのプログラマーなんじゃ?という人もいますが、アーティストの使うツールに詳しく、ということはアーティストの思考を理解しているということ
にも繋がるため、こういったプログラマーをTAとカテゴライズしてもいいでしょう。
と、共有されています。
一般的にはツールエンジニアと呼ばれることもありますが・・・。
- 11. テクニカルアーティストの仕事
• ワークフローに関する仕事は必ず、費⽤用対効果、コストなど
を意識識しなければいけない
• だが、都度度新しい対応が求められ、実績が少ないため、作業
にかかる前にどれくらいかかるのかを図るのが難しかった。
• →どういう作業がどれだけかかったかというのをちゃんとロ
グとして残しておく必要があった。
11
こういう仕事の仕方をしていると、必ず費用対効果や製作コストを意識しなければいけなくなります。
それでもデータを大量に生産するタイプのものではないので、都度新しい対応が求められ、それらに対する実績が少ないので作業時間の見積もりがとても難しくなりま
す。
そこで、どういう作業がどれだけかかったかをログとして残して、それらからある程度の作業時間を類推するしかありませんでした。
- 13. テクニカルアーティストの仕事
• 麓のログ
• ⾃自動化
• 共有環境構築
• 共通パイプラインの開発
13
こうしていままでレッドマインに貯められた自分の業務履歴から、どんな仕事があったのか大きく分けてみました。
・自動化
・共有環境構築
・共通パイプラインの開発
ここからも、最近は表現追求よりもより効率良くデータ製作をする必要があるのがわかりますね。大量生産、大量管理の時代です。
それではそれぞれの大カテゴリを一つづつ紐解いていきましょう。
- 14. テクニカルアーティストの仕事
• ⾃自動化
• データチェック
• ワークデータ(作業中データ)からFIXデータへの変換
• Rig構築などワークデータのビルド
• DCCツール間のデータコンバート
14
自動化分野に分類される仕事です。
・データチェック 作成されるデータが正しいかどうか、ゲームに必要な情報を満たしているかをチェックするためのツール
・ワークデータからFIXデータへの変換 上記のチェックをした上で、不必要な情報を省いてそぎ落とし、ゲームに必要なデータへエクスポートする
・Rig構築などワークデータのビルド これは逆にこれから作業(Rigって書いてあるからモーション)する人のために例えばキャラクターデータをインポートしそれにRig
を組み上げるのを自動化するためのツール
・DCCツール間のデータコンバート これはそのままの意味で、今までSoftimageで作られてきたデータをMayaやMax等へ持って行ったり、古くはSI3Dから最近のツー
ルで読めるデータにするなど
- 15. テクニカルアーティストの仕事
• 共有環境構築
• DCCツールのプロジェクト内で必要な処理理をまとめてス
タッフで共有するシステム
• 詳細はCEDEC2012 「バイナリードメインにおけるモー
ションワークフローの作り⽅方」の講演資料料を参照 ※C
EDiL
15
この仕事が割と重要で、プロジェクト初期に必死こいて構築してその後のデータの精度やクオリティを一定に保ち、管理コストの削減に繋がるもの。
前の自動化というのがそれぞれ単体でくることもあるけど、自動化ツールをまとめて共有環境として構築するのがこの仕事。
3Dツールで環境セットアップをすると、プロジェクトに必要なツールがごちゃっと全て入ってくるといった機能で、何をどうやって作成したかは先に紹介した、「バイ
ナリードメインにおけるモーションワークフローの作り方」の講演資料をご覧いただくと事細かに余すことなく載っています。
- 16. テクニカルアーティストの仕事
• 共通パイプラインの開発(チーム全体の仕事)
• 社内オリジナル中間ファイルフォーマット運⽤用とサポー
ト
16
Maya
Max
Softimage
Game
convert
中間ファイル
共通パイプラインの開発分野で、社内オリジナル中間ファイルフォーマットというものが弊社にはあります。
こればっかりは一人でできる仕事ではないのでチーム全員で取り掛かっているのですが、FBXなど外部のツールを使うことなくDCCツール間でデータを行き来したり、
ゲームバイナリへ変換するためのファイルフォーマットとして社内へ提供しています。
そしてその中間ファイルへ変換するための処理の構築までをひとまとめにして、共通パイプラインの開発という分野にまとめています。
社内独自の中間フォーマットをもつ利点は、自前開発をしているのでデータ構造も理解していてカスタマイズやデータの流れを構築する速度が速くなるという事です。
外部のフォーマットを使うとなかなかこうはいきません。
- 17. テクニカルアーティストの仕事
• 最近やってないけど過去にあったもの
• シェーダ表現の開発
• ⼀一例例:CEDEC2009 「リルぷりっ ゆびぷるひめチェ
ン!」〜~トゥーンレンダリングにもう⼀一⼯工夫の講演資料料
を参照
17
最近やっていないけど過去のマテリアル表現がシェーダに依存するようになった頃はシェーダ表現の相談もよくあって、表現方法からデータフローまでをまとめて策定
していたこともありました。
そのころにシェーダプログラムを勉強したのがベースになって、今のスクリプト開発の技能につながっています。
一例としては登壇は弊社の他のスタッフと一緒にやりましたが、CEDEC2009のリルぷりのトゥーンレンダリングにもう一工夫の講演資料を参照していただくと詳細がわ
かります。
- 19. テクニカルアーティストの⼯工数
• 基準:0.3⼈人⽉月以下でできる仕事は費⽤用対効果がで
かい。
• 作業ログを貯めてきて⾒見見えた基準。
• 6⽇日で完成。という意味ではなく、複数同時進
⾏行行でプロジェクト対応をしているので完了了時間
は約1ヶ⽉月後。⼀一⽉月での総作業時間が0.3とい
う計算。 19
TAの工数の基準として、0.3人月でできる仕事は費用対効果がでかい。
ということが今まで作業ログを貯めてきて見えた基準です。シンプルに一人分の人月として考えます。
もちろん、6日で完成する。というわけではなく、複数のプロジェクトを同時進行で対応するので、1ヶ月での総作業時間が0.3人月という計算にしています。
- 20. テクニカルアーティストの⼯工数
• とあるプロジェクト例例
• デザイナー4⼈人
• 作業時間を0.01⼈人⽉月削れるものとする
• 開発期間1年年以上
20
例えば一つのプロジェクトパターンを例にします。あくまで実証を基にした架空の(大人の事情で)プロジェクトとします。
初期の段階でデザイナーが4人アサインされたものとします。
これらデザイナーの作業時間を平均して0.01人月削れるものを自動化やワークフロー整備で0.3人月で作ったとします。
開発期間は1年以上ですね。最近はリリース後も追加データやらアップデートの対応でもっとかかることもあります。
この情報をもとに計算してみましょう。
- 21. テクニカルアーティストの⼯工数
• とあるプロジェクト例例
• 0.01⼈人⽉月分✖4⼈人=0.04
• (TA)0.3⼈人⽉月/0.04=7.5ヶ⽉月使う
• 当初の⼈人数で済むことは基本的にないので⼆二倍に増
えてデザイナ8⼈人だった場合は計算結果が3.75と
なり4ヶ⽉月も使えば元が取れる計算になります。
21
わかりやすいほうがいいので単純計算でいきます。
0.01人月分を4人分なので、0.04/1ヶ月削減できるとします。
TAが0.3人月で対応した場合、それを0.04で割ると7.5ヶ月で元が取れることになります。
長期間プロジェクトならこれもあり得る話ですが、だいたいプロジェクトは途中で増員がかかります。単純にこれが4人から最初の二倍の8人担ったとした場合計算結
果が3.75となり、4ヶ月も使えばお釣りがくるようになります。
もちろんシリーズ物になった場合はさらにお釣りが来るわけです。
- 22. テクニカルアーティストの⼯工数
• 0.3⼈人⽉月以上の仕事
• データデバッグ、チェックツール、修正
ツール
• 開発環境、ツール製作(0を1にする)
22
0.3人月の基準にはまらない仕事も多くあります。
例えばデータデバック、チェックや修正を行うツールなどです。
これらはプロジェクト後半多量に生産されたデータのデバッグ、チェックに掛かる人月は0.01では収まりきらないほど手間のかかるものなのでじっくり時間をかけ、構築
していきます。
開発環境を用意したり、ツールを製作するというのは今まで「できなかった事」をできるようにするもので、これは0から1を作り出す仕事なので工数削減の基準があ
りません。
逆に作ったものを運用してみて、削減できるパートが見えてくると思います。
- 23. TAのモチベーション
• ⼯工数削減
• 苦を楽に
• 常に上流流⼯工程
23
と、数値にたとえるとこれだけの成果を出しているというモチベーションにはなります。
ですが結局第一に考えるのは現場の苦労をできるだけ取り除きたいという点にあります。
そういう点でもArtist TAというのは苦痛に思う点が想定できるので、デザイナー経験が重要ということにつながります。
常に上流工程というのは、ツールを作ったりする場合現場で応対するのは一人かもしれないけど、使うのは多数のデザイナーだということをいつも意識していないとい
けないという緊張感がモチベーションに繋がるときもあるということです。
ここで間違うと大多数がおかしなことになる。というとっても怖い仕事ですね。
- 25. TAのツールの使い⽅方「10得ナイフ」
• デザイナーが使うツールを設計思想、デー
タ構造などを理理解する必要がある。
• スクリプトによる開発
• 「これからTAを⽬目指そうと思っている
アーティストのために」
25
ツールを使いこなす。というのは簡単にできるようになりますが、TAはデザイナーが使っているツールを設計思想からデータ構造を可能な限り理解する必要がある。
なんでかというと、そのツールをより使いやすくして、開発効率を上げる、表現力をあげる。というのがTAの最低限の命題です。
だからツールを深く知るためにスクリプト開発は欠かせないし、開発自体を便利にするためのツール類や、手法の研鑽は必要不可欠です。
というわけで、ここからは「これからTAを目指そうと思っているアーティストのために」という程でお話しさせていだきます。
もともとツールに詳しいTAには眠くなる話になるかも知れない。
- 26. TAのツールの使い⽅方「10得ナイフ」
• 2Dツール
• Adobe製品、Photoshop、Illustrator、
Afftereffect等について
• 3Dツール
• Autodesk 3dsMax、Maya、ほか・・・
• 表現⼿手法
• シェーダ表現開発 26
10得ナイフと言っていますが、これはもののたとえで特に10項目あるわけではありません。
用途に合わせてそれぞれのスキルを自在に使い分ける。
こういうイメージで2D,3D,表現手法というカテゴリに分けてどこから始めたら最短距離で活用できるかを導入として紹介させていただきます。
- 27. TAのツールの使い⽅方「10得ナイフ」
• Adobeのツールで出来るようになるべきこと
• アクション、バッチ
• スクリプト:JSX,VBS,(AppleScript)
27
まずは2Dツールからですが、スマートフォン開発が主流になりつつある昨今、テクスチャやUIのためだけのツールではなく、メインツールになりつつあるAdobe製品か
ら紹介させていただきます。
まずは作業効率を上げるためには必要不可欠なアクション、バッチなどの機能です。
これらはツール上で簡単に設定できるため、ただのデザイナーでも使える人は多いはず。
ただ、アクションやバッチでは一連の作業を1方向に流せるようにするだけで、条件が必要な場合、例えばレイヤーを一枚ずつDDSなどに変換とかはできません。
それを実現するのに必要なのは、スクリプトを使ってのツール開発です。
- 28. TAのツールの使い⽅方「10得ナイフ」
• Adobeのツールのスクリプト環境
• JSX,VBS,(AppleScript)
• ExtendScriptToolKit(JSXのみ)
• ScriptingListenerプラグイン(Photoshop
のみ)
28
Adobe製品といっても主にPhotoshop,Illustrator,AfterEffectあたりですがこれからこれら3点のことについて解説します。
- 29. TAのツールの使い⽅方「10得ナイフ」
• Adobeのツールのスクリプト環境
• JSX,VBS,(AppleScript)
• ファイルの置き場所
<C:Program
FilesAdobeAdobe
Photoshop CS6 (64 Bit/32
Bit)PresetsScripts> →ファ
イル/スクリプトから選べる
ようになる。
29
Adobe製品のスクリプト言語はWindowsで一般的なJS(X),VBSとMacではAppleScriptを採用しています。
これらで書かれたツールで動作するスクリプトは例えばPhotoshopの場合は資料にあるこのパスにファイルを保存しておくと、トップメニューのファイル/スクリプトの
サブメニューにスクリプト名でリストアップされます。
ファイル名に日本語が使えるので英語が苦手な人も大丈夫。
- 30. TAのツールの使い⽅方「10得ナイフ」
• Adobeのツールのスクリプト環境
• ExtendScriptToolKit(JSXのみ)
• Adobeのスクリプトエディット、デバッグが楽
• AdobeCCで無料料で落落とせる
• https://creative.adobe.com/products/estk
30
さて、今度はちょっと言語を絞ってJSXにフォーカスしてみましょう。
私はAdobe製品でスクリプトを書く場合はJSXを使ったらいいんじゃないかと思っています。
なぜなら、まぁJavaScriptということで言語自体の資料はネット上にたくさん落ちていますし、なによりAdobeさん提供の専用のエディタが存在しているからです。
それがExtendScriptToolKitです。
提供元ということで、スクリプトのエディット(使い慣れたエディタがる人はそちらでもいいでしょう。)アプリケーションと通信してのデバッグも楽にできます。
なによりAdobeさんのサイトより無料で落とせるのが大きいです。
- 31. TAのツールの使い⽅方「10得ナイフ」
• Adobeのツールのスクリプト環境
• ExtendScriptToolKit→動画
31
リンクする
アプリを指定
アプリのスクリプト
フォルダを指定
リンクするアプリのスクリプトフォルダ、例えば前に紹介したファイルのスクリプトのサブメニューに出現させるためのフォルダを右側のウィンドウで指定できるので楽
です。
それでは短くてあまり参考にならないかもしれないですが、ExtendScriptToolKitの導入とアプリとの通信の様子を動画で紹介します。
- 33. TAのツールの使い⽅方「10得ナイフ」
• Adobeのツールのスクリプト環境
• インターフェイス・GUI作成
33
さっきの動画でもポップアップして出てきましたが、スクリプトを使ってGUIを自由に構築できます。
左に貼ってありますが、さっきの動画で紹介したスクリプトでは、ファイルブラウザで選んだファイルによって拡張子のチェックボックスの数と見出しがダイレクトに変
わります。
っていうのも書けます。
使う側のアーティストにとってはインターフェイスが重要ですのでこれが一つのスクリプト内で出来るのは大きいです。
- 34. TAのツールの使い⽅方「10得ナイフ」
• Adobeのツールのスクリプト環境
• ScriptingListenerプラグイン(Photoshopのみ)
• Adobeのサイトからダウンロード可能(http://helpx.adobe.com/
jp/photoshop/kb/plug-‐‑‒ins-‐‑‒photoshop-‐‑‒cs61.html#id_̲68969)
• C:¥Program Files¥Adobe¥Adobe Photoshop CS6 (64 Bit)¥
Plug-‐‑‒ins¥(例例:Win64)へインストール
• JSやVBSのログがファイルとしてデスクトップに作成される
• オペレーションの実⾏行行⽅方法がスクリプトリファレンスを探しても出
てこない時に便便利利
34
あと、PhotoshopにはScripting Listenerというスクリプトを書くための補助プラグインが存在します。
これはアプリ動作の履歴をスクリプトのログで出力するためのもので、ほとんどコピペで再利用ができるというものです。
たまにアクションでレコーディングしてくれないオペレーションがあったりしますが、その場合にも利用できます。
このプラグインもAdobeのサイトからも落とせます。Mac用、Win用あり。
そして例えばWindowsの場合PhotoshopのPlug-ins以下にこのファイルをコピーします。
それだけで次回立ち上げ時からデスクトップにVBS(ScriptingListenerVB.log)とJS(ScriptingListenerJS.log)のそれぞれの言語でのログがファイルとして書き出されます。
注意が必要なのはこれを入れっぱなしで作業を続けると、延々とログファイルに書き続けるので動作が重くなりますし、ものすごく巨大なテキストファイルになってい
た。なんてことに陥るので気をつけましょう。
- 35. TAのツールの使い⽅方「10得ナイフ」
• 3Dツールで出来るようになるべきこと
• Pythonを覚えよう→何故?
• 3Dツールにはそれぞれローカル⾔言語があり、それぞれを覚えて使いこ
なすのは⼤大変
• 数年年前から共通のスクリプト⾔言語としてPythonが使えるようになって
きている。
• Autodesk製品だけでなく、HoudiniやModoなどでも実装されている。
• 豊富なモジュール
35
2Dツールの次は3Dツールをより便利に、効率良く使うためにはスクリプトが必要不可欠ですが、これから始めるにあたってどんな言語から入れば良いかという点で
Pythonを推奨します。
かなり今更感があるのですが、何故Pythonを選ぶのか?という点に理由付けをします。
メリットは、
・3Dツールにはそれぞれローカル言語があり、特に複数の3Dツールの対応をしなければいけない場合、ローカル言語を覚えていたらコストがいくらあっても足りませ
ん。
・数年前からどの3DツールもPythonを対応し始め、最近ではオートデスク以外でもHoudiniやMODOでも利用することができます。
さらに、豊富な追加機能としてモジュールを活用していろんなデータや他のツールとの連携が図れます。
過去に使ったことがあるのでは例えば、エクセルの読み込みができる「xlrd」やデータベース構築の「sqlite3」などや、パーフォースと通信できる「p4」モジュールも配
布されています。
- 36. TAのツールの使い⽅方「10得ナイフ」
• 3Dツールで出来るようになるべきこと
• Python利利⽤用例例
36
カスタムノード
ツール
さて、例えばPythonを使ってMayaで使える便利なスクリプトを書きためるとします。
Maya標準の機能でシェルフに登録するという方法もありますけど、これをするとMayaの中に組み込まれてしまい、編集性がなくなったりするのでさらにそれらを管
理、実行するPluginもPythonで作りました。それが右側のウィンドウキャプチャです。
これは今年のGDCのTAブートキャンプでみて、自分で作ってみたものです。
フォルダにあるMaya上でそのまま実行できるようにしてあるスクリプトファイルを見に行って起動時に自動的にシェルフボタン化するものです。
こういったツールのほか、左側の画像のようにカスタムのノードや、コールバックイベントなどもすべてPythonを使ってMayaをカスタマイズします。
- 37. TAのツールの使い⽅方「10得ナイフ」
• 3Dツールで出来るようになるべきこと
• シェーダ表現開発
• ノードツリーで表現研究(学習)
• UE4,ShaderFx(Maya2015)
• シェーダ⾔言語(プログラム)で表現研究(学習)
• DCCツール内のリアルタイムシェーダマテリアル
37
最近は減ってきたと先に紹介しましたが、表現の研究はデザイナの仕事をサポートする上で必要不可欠です。ハイエンドになって物理ベースシェーダになっても、フォト
リアルなゲーム以外もまだまだ存在するのでシェーダロジックを理解するためにも、シェーダ構築学習は必要です。
最近のシェーダ表現開発のスタンダードはノードツリーベースになってきています。
コーディングの方が早い場合はそちらを選択するという方法もあります。
- 38. 使い⽅方
• 3Dツールで出来るようになるべきこと
• シェーダ表現開発
• ノードツリーで表現研究(学習)
• UE4,ShaderFx(Maya2015)
38UE4マテリアルエディタの動画
ノードツリーを使って表現学習、研究をするために幾つかツールがありますが代表的なのはUE4のマテリアルエディタやMaya2015から追加されたShaderFxがあります。
シェーダ表現に必要な計算式関数がノードになっていて、データの入出力をどのように流れを作っていけばいいかを考えながら学習し、研究できます。
UE4は私が個人的に家でお遊び程度に触っているものですが、それではUE4のマテリアルエディタを使って、シェーダ学習をどうやっいったらいいかの導入を動画で紹介
します。
- 40. TAのツールの使い⽅方「10得ナイフ」
• 3Dツールで出来るようになるべきこと
• シェーダ⾔言語で表現研究
• DCCツール内のリアルタイムシェーダマテリアル
• Uberシェーダなどサンプルシェーダファイルがパ
ラメータの定義の参考になる。
• シェーダの計算⽅方法などはノードツリー型を参考に
することができる。
40
これに関しては対応しているDCCツールに限りがありますが、.fxや.cgfxなどスクリプトのようにテキストで書いたシェーダコードをマテリアルに適用してリアルタイム
描画をさせる方法もあります。
ノードツリーより、スクリプトの方が得意な人はこちらからシェーダ研究、学習に入る方が早いかもしれません。
- 41. TAのツールの使い⽅方「10得ナイフ」
• 3Dツールで出来るようになるべきこと
• シェーダ⾔言語で表現研究
• DCCツール内のリアルタイムシェーダマテリアル
41
例えばMayaの場合はUberシェーダなど、最初からサンプルが用意されているので(少々要素数が多すぎる気もしますが・・・)それを参考にして、必要なコード部分を
コピペで持ってきて最初は書いていくのもいいかもしれませんし、慣れてきたらツリー構造だったものをコードに置き直してみると、無駄なことをしていたのに気づける
時もあります。
- 42. TAのツールの使い⽅方「10得ナイフ」
• 3Dツールで出来るようになるべきこと
• シェーダ⾔言語で表現研究
• ↓写真撮影OK(スライドシェアへのリンク)
42
SA09 Realtime education そうだ、RTシェーダをはじめよう。
この項目を事細かにやろうとすると時間が足りないので今回はこういうのもあるよといった程度にとどめておこうと思います。
過去にCEDEC以外で私が講演した資料がスライドシェアに上がっていますので、QRコードに変換してここに貼っておきます。
ただ、この頃のはコード記述方法はDx9世代のものですので最近のDx11に対応するには置き換えることが必要な記述もあります。
興味がある方は、やってみてください。
- 44. 最後に(まとめではなくメッセージ)
• テクニカルアーティストは開発の要
• いるといないとでは効率率率に差が出る
• 必要性を今⼀一度度考えてみましょう
• 誰か得意な⼈人がなればいいではなく、⾃自分がTAにな
る。くらいの意気込みでとりくんでみましょう。
44
最後にまとめではなくこれはメッセージとして受け止めてほしいのですが、テクニカルアーティストはチームや会社に居ると居ないとでは効率や体制には雲泥の差が出ま
す。
最近だと開発協力会社を探す場合もデータの精度の信頼性や、スケジュールに関わってくる以上TAが居るかどうかを基準にすると言う話も聞きます。
逆に言うと協力会社を探す側へもTAが相手側にいるかどうかを選考基準にするといいよという事も提案したくもあります。
実はデザイナーの皆さん、一度考えてみてほしいのですが、誰か得意な人がなればいいというよりも、自分がTAになろう。くらいの意気込みで一度考えてみましょう。
・今自分が効率の悪さに困っていないか?
・もっと楽に早く作れるのではないか?
・もっと正確なデータを作れるようになるにはどうしたらいいのか?
これらを誰でも共有できる形へ落とし込む方法を考えてみると、今日セッションで話した10得ナイフを使えばある程度解決できることがわかると思います。