ド根性映像制作をやめたい！
どうやって？
-快適映像制作のためのド根性ツール開発オー・エル・エム・デジタル
マルク サルヴァティ

撮影はご遠慮ください

2

自己紹介
• マルクです• OLMデジタルの研究開発部門– ソフトウェアエンジニア• あなたは？

3

反省• 去年の概要– 「ド根性映像制作やめないか？」– 技術の力を借りましょう！
– R&Dとは– OLMにおける技術の紹介（浅く、広く）• 去年の反省点– デザイナーの声：もうちょっと具体的に– プログラマーの声：技術の内容薄かった• 今回は「ド根性ツール開発」
4

ド根性映像制作とは、おさらい• 具体的に– 時間がない– 予算がない– 残業• つらい– 疲れる– 余裕がない• 情熱と努力– 頑張る– 好きだからいいものできる
5

ド根性ツール開発• 「Innovation is easy, but transfer is hard 」– Tony De Rose (Pixar) 、Digipro2013– 「新しいもの作るのは簡単、現場に落とすのは困難」– 成功するのは50％ぐらい• ド根性の世界だから難しい– 時間もお金もない– いいものつくるには時間も（⇒お金も）必要

6

概要
••

成功と失敗について
ツールの実例・ケーススタディ
ストーリー
検証と開発の流れ
まとめ
成功例• OLM Smoother• チームスクリプト• Noise Deformer– 失敗例• 破壊– 将来、プロトタイプ• ボロノイシェーダー、水の表現• アニメ風3D背景
––––

•結論

7

成功と失敗について

8

ド根性環境における開発の失敗悪循環
時間がない

いいツール
作れない

時間とってくれない

アピール
できない

R&Ｄはなにやってるの？

9

成功したツールとは？
• 安定している• 使いたい時すぐ使える– セットアップされる• ドキュメントがある前提！開発者だけで実装可能！

– ユーザーマニュアル– チュートリアル、ウェブページ

• 日常コミュニケーション– テスト、フィードバック、改良案• 目標とスペックに応える• 使いやすいツール– 発表• 紹介• 使い方/教育

デザイナーと一緒に！
ド根性によってネックになること多い！

10

始める前に成功率が決まる！
ランク

A

B

C

目標

はっきり

あいまい

無

スペック

はっきり

依頼人 プロデューサー以上
必要性
プリプロ/調査期間ないと困る

無
チームの誰かいない

あると安い/早い

あると何？

有無

プリプロ人（開発前）

やりたい人

頼まれた人/使用者いない

テスト人（開発中）

やりたい人

頼まれた人/使用者いない

フィードバック人（開発後）

やりたい人

頼まれた人/使用者

いない

無

手順/構成

ルール決め

パイプラインに影響11ツールの実例・ケーススタディ

12OLM Smoother
成功例

作りやすい

トップダウン
致命的なツール

目標
スペック
依頼人
必要性
プリプロ期間プリプロ人

撮影監督、協力的

テスト人
フィードバック人
パイプライン13

ストーリー• アニメには必須な処理– 二値化してからギザギザなくす処理– 商品があるけど・・・高い• MLAA技術– Reshetov（2009）• アニメのためのMLAA– Digipro2013– Siggraph併催イベント
14

開発• 4か月間集中して開発• こまめなテスト– 撮影監督ふたりチェックとテスト– バージョン毎に一週間以内フィードバック– アニメのための特殊な処理を実装• テスト項目– 基本機能– カラーキー（ホワイトバック消す）– グラデーションありの映像
15

報告
• その①
– カラーキー、グラデーションの問題– 小さいキャラクターのラインが細くなりすぎ• その②– グラデーションの不具合

16

報告その③：1ピクセル線の問題
OLM Smoother 問題点なし

あり

かからない参照

前のバージョン

なし

あり参照

前のバージョン

片方の色がはみ出る17

エピローグ：CGWorld vol.175• Photoshopで使う人から新たな使い方– マスク作成のエッジ– 輪郭線の滑らか18まとめ• 作りやすかった– 目標とスペックはっきり– 撮影監督の貴重なフィードバック• 必要不可欠なツールは失敗しない• OpenToolsで無償配布– Photoshop– After Effects– Nuke19

チームスクリプト
成功例

作りやすい目標
スペック
依頼人
必要性
プリプロ期間不要
単純機能

プリプロ人
テスト人
フィードバック人
パイプライン20

ストーリー• 技術が少し分かるデザイナー– 便利なスクリプト作成– 自動インストールシステムで簡単に配布– 個人でサポート、機能拡張• サポートできなくなる– 本人が使わない– 本人が会社をやめた• R&Dに引継ぎを！
21

開発• 目標をはっきり– ヒアリング• スペックをはっきり– 既存の解析– 汎用性高いものを– プロジェクト・個人専用は避ける– テストはほぼ動作確認のみで完了• パイプラインが多少統一– チーム移動も楽22

作ったツールの例• After Effects––––

コンポを自動生成
テンプレートコンポ管理ツール
画ブレツール
一括処理系• デュレーション、サイズ変更• センタリング• Maya––––プレイブラスト作成ツール
リネーム
カメラの設定
一括処理系• スナップ• アニメーションのコピー
23

まとめ• 広がってからの依頼– スペックがはっきりする– すぐ使える、既存の改良版• ド根性じゃなくて、理想を言えば･･･– 作る前に声かけてほしい• 可能なら最初からR&Dで管理• 一緒に考える– 汎用性高く、長期的な案– 楽しく、効率よく• ド根性だから– R&Dが忙しいから声かけない、かけてもやってくれない– R&Dから声かけよう！少なくとも把握しましょう！
24

目標

Noise Deformer
成功例

スペック

満足できる既存

依頼人
必要性
プリプロ期間一緒に作らなかったのに成功
バグ報告

導入が楽

プリプロ人
テスト人
フィードバック人
パイプライン25

ストーリー• OLMではMaya中心• アニメではエフェクトが多い– Mayaでエフェクト難しい– 3DSMaxの経験者が不満• NoiseDeformerがあった• MayaでNoiseDeformerほしい– すぐできなくても開発要望は記録

26

開発• 優秀なインターンが現れた– 修士課程一年生– 二ヵ月間• 要望・開発予定からNoiseDeformerをテーマに– スペックはっきり– アルゴリズムが簡単– 絵につながる⇒ すぐ始まれる⇒ 2か月間で作れる
⇒ 楽しい

27

まとめ
• 一緒にやる人がいなかったのに成功– スペックはっきり– シンプルなツールで誰でもすぐ使える– いろんなところに使える• OpenToolsで無償配布– Maya2014追加

28

破壊
失敗例

何を作ればいい？

目標
スペック
依頼人

今なんとかなっている

必要性
プリプロ期間プリプロ人

スペック決まらない

導入が難しいテスト人
フィードバック人
パイプライン29

ストーリー• 破壊のシーンはCGの出番だ！
– オブジェクトいっぱい– 煙など• 海外では解決– パイプラインへの組み込みが必要– 複雑、専門家がやる• ド根性手法– 手動でオブジェクト割る– RigidBodyシミュレーションで演出– ベイクして更に編集、演出• ド根性が大変だからツールを！

30

検証• プリプロで既存ツールの検証– Rigid Body
– BlastCode• 結果– 作業が難しい• 経験と教育不足？
• ツールが難しい？
– BlastCodeがいいけど• もっと簡単に• ライセンスのコストが高い
31開発• 簡単に– 割りたい
– 飛ばしたい– 飛ばしてからランダムに回したい• パーティクルでやりましょう– ある程度慣れている– 早い32

開発• 割るツール– パーティクルからボロノイ図で– ブーリアン自動化• Mayaのブーリアンが不安定• 2014で解決？

• 割ってから– 形状にノイズを加える– パーティクルでインスタンスツール• 飛ばすには– 初期速度で勢い設定– トリガーツールで破壊タイミング33

プロジェクトで使用？
• ひとつのシーンで使用– 割るツール使った– シミュレーションからド根性（RigidBody+ベイク）• 終わってからヒアリング– 使えなかったから、確実な方法で、ド根性で• 時間がないから相談に来なかった– パーティクル慣れていない• いつもド根性でやっている人なので– 他の機能ほしい• 衝突、演出、テクスチャで割りたい・・・
34

まとめ• 機能が多すぎ– どれを使えば？慣れ、教育が必要• 検証が甘かった– スペックも目標もはっきりしなかった– パイプラインが決まらない• ツールが決まらない• でもツールないと作業が大変• プロジェクトの中では開発が進みにくい– 時間がないから、テストできない、確実な手法– パイプラインを変えらない35

満足が出来る既存
単純な要望
ボロノイシェーダー

プロトタイプ

目標
スペック
依頼人
必要性
プリプロ期間
プリプロ人
テスト人
フィードバック人
パイプライン36

アニメ水表現
プロトタイプ

何を作ればいい？

目標
スペック
依頼人

面白い表現
スペックを決めないと進めない

必要性
プリプロ期間
プリプロ人
テスト人
フィードバック人
パイプライン37

ストーリー• 以前よりふたつの要望– 3DSMaxのセルラーシェーダー– アニメ系の水はCGでは難しい• インターンの応募– 大学からひとりの開発者• ボロノイシェーダーのプロトタイプ– 専門学校からひとりのデザイナー兼開発者• プロトタイプ使って水の表現検証• 改良案と実装
38

インターン①：プロトタイプ開発• ボロノイシェーダーのスペック簡単• セルの色調整• セルの線にノイズ追加

39

インターン②：アニメ水表現• 検証– ボロノイでどんな表現ができるか？
– 水の表現• ボロノイで何が出来る？
• ボロノイ以外で何が必要？

• プロトタイプの実装• 参考画像から– 線の太さ変わる– 線の形にノイズっぽいものがある
40

開発• 最初の一か月間開発に走る– セルの線の太さ実装– パーティクルから入力可能• 目標・スペックを決める必要– 改めて：検証が先、開発は後！

41

検証に戻る• 一週間開発禁止– Maya開かない– 検証する
• 参考画像集め、解釈• 映像・表現から考える• アイデアをドキュメントでまとめる• 検証をベースにして開発項目を決める

42

検証：水の表現• 水の中からみた水面– 線の太さ滑らかさが大事– セルの密度制御が必要• 波打ち際– 線が消えている– セルの動き、密度制御

43

検証：水の表現• 航跡、波紋– 波紋のエミット– 波紋がローカルに• 滝– レイヤの重なり？

44

検証：その他の表現• アニメのバリア• 破壊、爆発• 石・岩モデリング• 農業風景• 動物45

開発• 水っぽいテスト• エミットテスト• 開発の時間ないから– ドキュメントでまとめ– ボロノイの可能性– 実装必要な機能• セルのウエイト• セルの合体機能
• など
46

まとめ
• プロトタイプ段階で終わり• スペック決まってきた！
– 線の見た目– セルの構成、制御の必要– ほかの表現への挑戦• 開発も検証もまだ必要• 検証するには人育てないと出来ないかも47

アニメ風3D背景
プロトタイプ

美術チームの作品
まだ決まらないスペック

おかげで協力的

依頼人

目標

必要性
プリプロ期間目標をはっきり検証してスペック

プリプロ人
テスト人
フィードバック人

おそらくパイプライン

48

ストーリー• アニメでは3Dと2Dが混雑• 背景に手書きタッチ– テクスチャ使用• 作らないといけない• 貼らないといけない– 必要に応じて“レタッチ”• 美術チーム49

ストーリー• 背景のレタッチとは– 手書きで3Dレンダリングの質アップ– 全部描き直す場合ある• レタッチが出来ない場合– 複雑なカメラワーク• パンとズーム以外– ぼかす、DOF使用– カメラワーク早くする、モーションブラー
50

ストーリー• レタッチを減らしたい– コストが高い– クリエティブ作業出来なくなる• スペックはない– 検証必要– デザイナーがいない– R&Dで検証• 目標をはっきりしてからスペック考える• 美術チームに声かける– 協力的！

51

検証：サンプル解析• リピートが目立つ• 寄ってくると解像度が足りなくなる• レタッチ前提で作る

52

検証：動画• 動画ならレタッチ不可能– DOFでごまかす– 早いカメラワーク• 一枚ずつレタッチ– めったにない53

検証：美術チームの作業• 三角ブラシから筆のタッチ• 三角ブラシでさまざまなブラシ作成• 距離によって、描き方が変わる– 近、中、遠54検証からアイデア• 美術チームの静止画の再現– ブラシをテクスチャとして使用したシェーダー• レイヤの再現• レイヤの合成– プロシージャーシェーダー– パーティクル
• スプライト• 板ポリのインスタンス
55検証からアイデア• 動画の場合– 距離によってレンダリング– 距離によってテクスチャ入れ替え/ブレンド• パイプラインの問題検討– テクスチャが見つからない場合ある？
– ライブラリーツール必要？

• R&Dで考えられていない他の問題点？アイデア？
• 更に検証が必要！
– 人がいない・・・– とりあえず開発開始

56

アイデアから開発①• Brush Shader

リピート
Brush ShaderMaya– 美術チームのブラシリピート– ブラシ重ねるようにする• 合成シェーダー
– レイヤを重ねる

57

アイデアから開発②• 解像度測るツール– 距離によって、テクスチャの解像度が足りるか– 色出力• 白：足りる• 青：Ｕ方向で足りる• 緑：Ｖ方向で足りる• 赤: UもＶも足りない– 色以外の出力が必要？
– どう使う？
58

まだまだ検証が必要• 開発したもののテスト– ツールの可能性– 再現につながるか？

• 検証から生まれたアイデアの検証– プロシージャシェーダー、パーティクル・・・• それぞれの表現– 土、砂、石、芝生– 石畳み、岩• 実際のカットのレタッチ結果再現
59

やっと検証• 忙しいデザイナーひとり• 一か月、一週間数時間• 検証範囲
– 動画• テクスチャの入れ替えテスト• Brush Shader(Mental Ray)– MentalRay版を追加開発– 砂の表現だけ60

検証の結果• ルックあっていない– 美術チームの作業みてない！

• 手動なテクスチャ入れ替え手法：成功– 自動化可能？解像度ツール活用可能？

• フィルタリング問題発見

テクスチャ入れ替え

Elliptical Filtering
一枚、数十秒

Ray Differential
一枚、数十分61本格的な検証開始• デザイナーふたり雇う• 短期、二か月間フルタイムで• 美術チームの作業を撮影して、再現する• 検証範囲– 静止画も動画も– それぞれの表現（岩以外）– プロシージャとBrush Shader– 実際のカットで試す• 並行して開発を進める62

検証一か月結果• 契約によって、納品リストがある– それぞれの納品に走っている– 結果が中途半端

63

検証一か月経過、方向性変更• 納品リストを絞る– 静止画だけ– 砂と土だけ• 近、中、遠 距離– その他は時間の許す限り• 検証の流れを指示– テクスチャの再現– パース付けて再現– ディテールの再現
64

検証の結果Brush shader

プロシージャ

美術チーム
65

検証の結果，おまけプロシージャ

Brush shader

美術チーム

美術チーム

66

検証の結論• 方向性は正しい– 結果が理想に近くなっている– いくつかのスペック• BrushShaderの改良案• フィルタリングの問題• テクスチャの入れ替えツール• まだまだ検証たりない– ルックの再現はまだ完ぺきではない– 石畳み、芝生、もうちょっと– 検証していないアイデアいっぱい• 岩、動画、パーティクル・・・
67

結果：まだ成功していない！
• 美術チーム協力的– 作業の動画：8時間撮影– 細かくチェック– ルックの目標をはっきりしてくれる• 検証が難しい– 手法の検証ないとスペックが決まらない– フルでやらないと結果がでない– 検証するには慣れが必要– 検証とはひとつの仕事だ• デザイナーひとりを雇うことにした68

結論
目標 既存があると楽、目標からスペック決めるのが大半
スペック 重要！スペック決めつつ開発すると時間がかかる依頼人 たまにトップダウンのおかげで協力必要性 「ないと困る」場合成功する
プリプロ/調査期間 あると成功率あがる
プリプロ人（開発前） いると目標決められる
テスト人（開発中） いるとスペックを決められるフィードバック人（開発後） いるとツールの改良、汎用性につながる
パイプラインに影響 影響大きいほど致命的になる

69

結論
目標 既存があると楽、目標からスペック決めるのが大半
スペック 重要！スペック決めつつ開発すると時間がかかる依頼人 たまにトップダウンのおかげで協力必要性 「ないと困る」場合成功する
プリプロ/調査期間 あると成功率あがる
プリプロ人（開発前） いると目標決められる
テスト人（開発中） いるとスペックを決められるフィードバック人（開発後） いるとツールの改良、汎用性につながる
パイプラインに影響 影響大きいほど致命的になる

70

結論：一緒にやる人を増やす• 信頼関係必須– 開発前提をきちんと• バグなく• ドキュメントしっかり– 社内・社外発表• プロデューサー・デザイナーの説得• 実際に増やす– インターン– 新たに雇う71

質問？
OLMで開発したツールの紹介
www.olm.co.jp/rd/technology/tools/
OLM OpenTools
www.olm.co.jp/opentools/
Maya 2014、OLM Noise Deformer72

雑談• John Kahrsの言葉（”paperman”の監督）– 音楽の人に頼んだ時の反省点“Don’t tell a professional how to do his job,tell him what you want”

73