SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
Report
Takahito Tejima
Follow
Aug. 31, 2015
•
0 likes
•
18,516 views
1
of
71
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
Aug. 31, 2015
•
0 likes
•
18,516 views
Download Now
Download to read offline
Report
Software
CEDEC2015 発表資料
Takahito Tejima
Follow
Recommended
GUILTY GEAR Xrd開発スタッフが送るアニメ調キャラモデリングTIPS
ARC SYSTEM WORKS
279.6K views
•
90 slides
シェーダーを活用した3Dライブ演出のアップデート ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スクスタ)の開発事例~
KLab Inc. / Tech
1.3K views
•
164 slides
BRDFモデルの変遷
Teppei Kurita
9.6K views
•
28 slides
GUILTY GEAR Xrd開発スタッフが送るスキニングのためのモデリング TIPS
ARC SYSTEM WORKS
68.9K views
•
45 slides
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
Drecom Co., Ltd.
12.1K views
•
114 slides
3DCGMeetup08_MayaRigSystem_mGear
ue_ta
18.8K views
•
55 slides
More Related Content
What's hot
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
KLab Inc. / Tech
4.2K views
•
158 slides
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
Deep Learning JP
1.2K views
•
12 slides
中3女子でもわかる constexpr
Genya Murakami
48.7K views
•
100 slides
なぜなにリアルタイムレンダリング
Satoshi Kodaira
89.7K views
•
151 slides
GUILTY GEAR Xrd開発スタッフが送るアクションのためのボーン配置TIPS
ARC SYSTEM WORKS
50.3K views
•
60 slides
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura
28.6K views
•
126 slides
What's hot
(20)
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
KLab Inc. / Tech
•
4.2K views
【DL輪読会】"Instant Neural Graphics Primitives with a Multiresolution Hash Encoding"
Deep Learning JP
•
1.2K views
中3女子でもわかる constexpr
Genya Murakami
•
48.7K views
なぜなにリアルタイムレンダリング
Satoshi Kodaira
•
89.7K views
GUILTY GEAR Xrd開発スタッフが送るアクションのためのボーン配置TIPS
ARC SYSTEM WORKS
•
50.3K views
中級グラフィックス入門~シャドウマッピング総まとめ~
ProjectAsura
•
28.6K views
UE4におけるアニメーション制作事例
エピック・ゲームズ・ジャパン Epic Games Japan
•
29.1K views
最新Mayaを使ったUnity 5向けキャラクターセットアップセミナー&使いこなしTips
小林 信行
•
41.5K views
【Unite Tokyo 2018】トゥーンシェーダートークセッション#1『リアルタイムトゥーンシェーダー徹底トーク』
Unity Technologies Japan K.K.
•
21.4K views
【Unity道場 2月】シェーダを書けるプログラマになろう
Unity Technologies Japan K.K.
•
28.1K views
ピクサー USD 入門 新たなコンテンツパイプラインを構築する
Takahito Tejima
•
36.1K views
【メタサーベイ】Neural Fields
cvpaper. challenge
•
2K views
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
•
21.5K views
【Unite Tokyo 2019】MeshSyncを有効活用したセルルックプリレンダーのワークフロー
UnityTechnologiesJapan002
•
6.6K views
Mayaカメラデータunityインストール
小林 信行
•
34.5K views
NPRキャラクターレンダリング総結集!今こそ更なる高みを目指して | UNREAL FEST EXTREME 2020 WINTER
エピック・ゲームズ・ジャパン Epic Games Japan
•
9.9K views
3次元レジストレーション(PCLデモとコード付き)
Toru Tamaki
•
38.1K views
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity Technologies Japan K.K.
•
5.4K views
CGWORLD Creative Conference 2017 「アセットの共有を円滑にするリグの作法」
BACKBONE-studio
•
7.6K views
MAYAで作ったアニメーションをUnityに取り込んで動かしてみるの巻
poko ponmaru
•
3.4K views
Recently uploaded
【JSTQB_ALTM】シラバス第3章
ssusercd6d02
26 views
•
27 slides
ハイエンド〜ローエンドまで、「Enlighten」による効率的リアルタイムグローバルイルミネーション|CEDEC2023
Silicon Studio Corporation
27 views
•
48 slides
socialcast.pdf
ストランダー
15 views
•
30 slides
LTは検証の場.pptx
ssuserfcafd1
232 views
•
10 slides
Ansible入門.pptx
洵貴 佐川
196 views
•
13 slides
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則.pdf
耕二 阿部
17 views
•
59 slides
Recently uploaded
(6)
【JSTQB_ALTM】シラバス第3章
ssusercd6d02
•
26 views
ハイエンド〜ローエンドまで、「Enlighten」による効率的リアルタイムグローバルイルミネーション|CEDEC2023
Silicon Studio Corporation
•
27 views
socialcast.pdf
ストランダー
•
15 views
LTは検証の場.pptx
ssuserfcafd1
•
232 views
Ansible入門.pptx
洵貴 佐川
•
196 views
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則.pdf
耕二 阿部
•
17 views
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
1.
サブディビジョンサーフェスの すべてがわかる グラフィックスエンジニア向け理論編 ※ テクニカルな内容中心です。 ※ スライドはセッション後にダウンロードできます(撮影不要) 手島
孝人(Pixar Animation Studios, takahito@pixar.com) 松岡 徹 (DeNA, toru.matsuoka@gmail.com)
2.
ポリゴンメッシュの法線とは何だろう どう計算する? ・面法線の平均 ・Newell’s method ・Max’s method 2 Filippo
Tampieri, Newell's Method for Computing the Plane Equation of a Polygon, Graphics Gems III, Academic Press, 1992 Nelson Max, Weights for Computing Vertex Normals from Facet Normals, Journal of Graphics Tools, Volume 4, Issue 2, 1999
3.
頂点に法線を与える目的= 滑らかな面を表現したい 知覚する曲面=表現したいモノ 線形補間された法線 頂点法線 3
4.
表現したいものは曲面 ポリゴン起点のワークフロー ローポリ→[サブディビジョン]→ハイポリ→→→理想形状? 曲面起点のワークフロー 理想形状→[サブディビジョン]→曲面表現→[近似]→ポリゴン ハイポリ化にはキリがない メモリがいくらあっても足りない ? 任意の精度で出力可能 コンパクトな高次表現 4
5.
Demo 5
6.
このセッションの内容 ● サブディビジョンサーフェスの理論 ○ リミット解析と特異頂点 ●
ハードウェアテセレーション ○ Tノード処理、終端キャッピング ○ 動的特徴適応型サブディビジョン ○ セミシャープクリースの効率的描画法 ● C2 連続性の応用 ○ 解析的ディスプレースメントマッピング ○ リアルタイムコリジョン変形 ● レイトレーシング ○ ベジェクリッピングによる直接レイトレ ● 結論:曲面は素敵 6
7.
Catmull−Clak サブディビジョンサーフェス とは? ● 双3次一様Bスプラインサーフェスの拡張表現 ●
あらゆるメッシュトポロジに対応* ● 割れ目がない (C0 =連続) ● 折れ目がない (C1 =接線が連続) ● 仕上げが美しい(C2 =曲率が連続) *基本的には2次元多様体 7
8.
双3次一様Bスプラインサーフェス 8
9.
双3次一様Bスプラインは便利 ● 自動的にC2 連続、制御点の数がベジェより少ない ● 凸包性・変動減少性があり、 結果が予測しやすく交差判定が単純 ●
ローカルサポート(局所的に編集ができる) ● 直線が厳密に表現できる(曲線区間との接続もC2 連続) ● 計算がシンプルで座標のみ ノット・ウェイトなど追加データ不要 ● 3次ベジェとの変換も容易 9
10.
双3次一様Bスプラインで困ること ● トポロジに大きな制約がある グリッド、円柱、トーラス型しか作れない ● 二次曲面(円柱や球)が厳密に作れない ただしゲーム・映画ではあまり問題にならない 10 制御点の 形状 4角形
6角形 8角形 12角形 真円との誤差 2.8% 0.4% 0.1% 0.02% むしろ割りすぎないように注意!サブディビジョンでは 周辺の特異頂点の価数が上がる=シワになりやすい ほとんどの場合は6角形で十分、4角形でもいい
11.
グリッドメッシュ以外も曲面で扱いたい = サブディビジョンサーフェスの出番 ※4角形スキームの場合(Catmull-Clark) 正則頂点=エッジが4つ グリッドメッシュにはこれしかない 特異頂点=エッジが4つ以外 自由なトポロジには必要 11 正則頂点 vs
特異頂点(extraordinary vertex)
12.
C2 連続の必要性 ● C1 は反射に問題 ● 二次微分にはリアルタイム向けの広い用途がある ○
解析ディスプレイスメント ○ 曲率ベースSSS、AO ○ スペキュラーエイリアスの低減 12 C1 パッチ C2 パッチ
13.
Catmull-Clark サブディビジョン 簡単な規則 正則部(n=4)ではBスプラインのノット挿入と等価 →正則部はそれ以上分割する必要はない 13 v0 e1 0 e2 0 en 0 e3 0 v1 e1 1 e2 1 f1 1 e3 1 f2 1 fn 1
14.
正則部のサブディビジョンは不要 14 レベル 1 レベル 2 同じ曲面
15.
リミット解析(正則部) 正則部はごく普通なBスプライン →収束計算なしにBスプライン基底のテンソル積で リミットサーフェス、接線、法線が厳密に求められる 15 P(u, v) V0 V1 V2 V3
16.
特異点部(extraordinary vertex) の リミットは? まず再帰的に求める方法を考える 16
17.
ローカルサブディビジョン行列 一回のサブディジョン操作 =サブディビジョン行列の乗算 Sは特異点の価数依存の正方行列 特異点以外の新たな点は常に正則になる 行列の要素(重み)を「ステンシル」「マスク」とも呼ぶ アフィン不変(各頂点の重みの総和は1) 17 Pn Pn+1 S
18.
ローカルサブディビジョン行列 S 3価の場合 18 P={ v,
ei , fi } P’={ v’, ei ’, fi ’ } S3v e0 e1 e2 f0 f1 f2 v’ e0 ’ e1 ’ e2 ’ f0 ’ f1 ’ f2 ’ Catmull-Clark 規則を 表現する係数行列
19.
サブディビジョン行列のn乗と極限 サブディビジョン行列のn乗により レベルn頂点群をレベル0頂点群で表現できる n→∞でリミットサーフェス。極限が欲しいので対角化 サブディビジョンのアフィン不変性より、収束条件は少なくとも 「λ1 =1 かつそれ以外の固有値は1未満」 を満たすはず 19
20.
リミット解析(特異頂点) ブロック巡回行列なので離散フーリエ変換(DFT) で対角化可能 ● Catmull-Clark ローカルサブディビジョン行列の固有値 (大きい方から3つが重要) ●
λ1 の固有ベクトル 20 n = 頂点価数
21.
リミット解析(特異頂点) n価の特異点のリミット座標と法線 21 ・OpenSubdiv を使ってください(Sdc Scheme) ・トポロジにしか依存しないので事前計算が有効
22.
特異頂点での曲率は? ● 純正 Catmull-Clark
では無限になりうる ● ローカルサブディビジョン行列の固有値でわかる ● 規則を追加すれば対応可能だが、実用上は3価・5価は問題ない ○ 高価数頂点を避ける ○ 特異頂点部分はなるべく平らに(5角形・6角形を使用) 22 λ1 λ2 λ3 λ4 λ5 λ6 λ4 / (λ2 *λ3 ) 3価 1 0.41 0.41 0.17 0.15 0.15 0.99 < 1 : わずかに平坦 4価 1 0.50 0.50 0.25 0.25 0.25 ... 1.00 : C2 連続 5価 1 0.55 0.55 0.34 0.34 0.32 ... 1.12 > 1 : 発散 6価 1 0.58 0.58 0.41 0.41 0.38 ... 1.22 > 1 : 発散
23.
デモ 23
24.
基本理論おわり:ここまでのまとめ ● サブディビジョン規則を有限回適用だと ○ 何度やってもリミット面にならない ○
法線計算は大量のポリゴン相手の古典的な近似手法になる ○ C2 連続にもならない ● リミット解析を使うと ○ 正則部は Bスプラインで一網打尽 分割は不要 ○ 特異頂点は DFT で直接計算 繰り返し演算は不要 ■ その周辺は Stam method も利用可能 ○ 法線(一次微分)も曲率(二次微分)も求まる 24
25.
ハードウェアアクセラレーション ● もっと簡単にリミットサーフェスを描画できないか ● ハードウェアテセレータを使いたい グレゴリーパッチ近似
, ACC 特徴適応分割(OpenSubdiv) 手法 グレゴリーパッチで コントロールメッシュの面ごとに近似 Bスプラインパッチの階層集合に分解 利点 パッチ数が少ない Tノードが出来ない ほぼ C2 連続 終端キャップ(特異頂点周辺)以外は厳密解 クリースや階層エディットに対応 欠点 20点グレゴリーパッチは C1 連続 特異頂点を含むパッチは近似解 3角形と4角形(+5角形)に限られる クリース対応がきびしい ACCに比べパッチ数が多い Tノードのテセレーションに注意が必要 25
26.
グレゴリーパッチ ● 千代倉先生が1983年に開発・CADで実用化 ● 20制御点、隣接パッチとの
C1 連続を自由に構成可能 ● u,v の有理形式のため四隅のゼロ除算、微分演算に注意 ● Bスプラインに比べるとパッチごとの制御点は増える ● 使い方によっては非常に便利 ● ACC(Approximate Catmull-Clark)のメイン手法 26
27.
グレゴリーACC(近似Catmull-Clark) リミット評価の接線を元にグレゴリーパッチを構築する 27 Charles Loop et
al., Approximating Subdivision Surfaces with Gregory Patches for Hardware Tessellation SIGGRAPH Asia Conference Proceedings 2009
28.
Bスプラインだけで描画できないか →特徴適応分割 特異点周辺のみ必要なだけ分割する T ノードは別途対応する メリット: ● C2 が確保できる ●
制御点の数も比較的抑えられる ● クリース、階層エディットに対応できる 28 Matthias Niessner et al., Feature Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces ACM Transactions on Graphics, Vol. 31 No. 1 Article 6 January 2012
29.
特徴適応分割での T ノードの対処 OpenSubdiv
3.0 では tess coord のリマッピングで 接合を実現 → 1 DrawCall 描画が可能に 29
30.
終端キャップはどうする? リミット評価で求めた座標と法線を使ってフタをする。 いくつか手法があるが、一長一短 30 ? 方法 利点 欠点 4角形
高速、省メモリ 別 DrawCall パッチ内は線形 充分な分割が必要 グレゴリーパッチ パッチ内で近似テセレーション可能 特異点からの辺上で C1 別 DrawCall 負荷高い 制御点が増える Bスプラインパッチ パッチ内で近似テセレーション可能 単一DrawCall で全メッシュ描画できる 特異点からの辺上で C0 制御点が増える
31.
DFAS(動的特徴適応分割) ● 終端キャップをテセレーションしたくない 近似になってしまうし、連続性が落ちる ● 常時レベル10までのパッチを描画したくない LODで両立させる 31 Schäfer,
H., et al. Dynamic feature-adaptive subdivision. Proceedings of the 19th Symposium on Interactive 3D Graphics and Games. ACM, 2015.
32.
DFAS(動的特徴分割適応サブディビジョン) 特異点ごとにツリー構造を作り、必要なパッチだけを描画する 32 排他描画 排他描画 OpenSubdiv では対応予定(未実装)
33.
セミシャープクリース 「ゲーリー爺さんのチェス」にて純正 Catmull-Clark に追加 クリース=境界規則の拡張 33 サブディビジョン過程でシャープ規則を
s(シャープネス)回適用、 その後スムーズ規則を適用する
34.
セミシャープクリース 34 シャープネス=2 レベル 0 レベル 1 シャープネス=1 シャープネス=0 レベル
2 通常はシャープネスレベルに到達するまで、 たとえ正則であってもサブディビジョンが必要 ただし、 Bスプラインパッチ中に同一シャープネスの クリースエッジが一つだけ直線的にある場合 クリースエッジ レベル 3 明示的にサブディビジョンせずに リミット評価する方法がある
35.
バウンダリ条件(無限シャープネス) 35 P0 P1 P2 P3 もしP2 のシャープネスが無限大だったら P3 のかわりに P1 ’
を使って Bスプライン を構成すると、P2 で終わる補間になる P1 ’ P2 に対して 反転 (P3 は無視)
36.
セミシャープクリースの多項式構造 36 P0 P1 P2 P3 t=0 t=1 シャープネス=2 の場合、t =
¾ が境界 P0 P1 P2 P3t=0 t=1 2つのセグメントをつなぎ合わせる (非整数シャープネスの場合は3つ) シャープ区間はバウンダリ条件と同じ(赤) 遷移区間はシャープネス回乗算したサブディビジョン 行列を掛ける。 パラメータ範囲を合わせるために外挿部分が出来る (青)が、必要なパラメータ区間では正しい t= ¾ P1 ’
37.
セミシャープクリースの効率的評価法 37 無限シャープ行列 セミシャープ分割 +リパラメータ行列 パラメータの区間に応じて 2つの行列を使い分ける
38.
セミシャープクリースの効率的評価 ● パッチごとにシャープネスの値を追加 ● モデルによっては非常によく効き、パッチ数が激減 ●
2つまたは3つの単純ベジェパッチに分割することも可能 ● OpenSubdiv で対応済 ● Vertex シャープネス(コーナー)・階層エディットは 対応できないので、やはり必要なまで適応分割を行う 38 Matthias Niessner, et al. Efficient Evaluation of Semi-Smooth Creases in Catmull-Clark Subdivision Surfaces Eurographics Proceedings, Cagliari, 2012
39.
C2 連続性、二次微分の活用 ● 解析的ディスプレイスメント ● 第一基本量、第二基本量、曲率 ●
リアルタイムコリジョン変形 ● シェーディングへの応用など… 39 Matthias Niessner, Charles Loop, Analytic Displacement Mapping using Hardware Tessellation ACM Transactions on Graphics, Vol. 32 No. 3 Article 26 June 2013 Schäfer, Henry, et al. "Real-Time Deformation of Subdivision Surfaces from Object Collisions." Eurographics/ACM SIGGRAPH Symposium on High Performance Graphics. The Eurographics Association, 2014.
40.
曲面上のディスプレイスメントと微分 40 正規化サーフェス法線の微分はちょっと難しい サーフェス面 正規化法線 ディスプレイスメント ディスプレイス面 ディスプレイス法線 サーフェス接線 ディスプレイスメントの微分
41.
第一基本量・第二基本量 41 第二基本量 第一基本量 いずれもパッチから容易に求まる
42.
シェイプ作用素、曲率 A:シェイプ作用素 (Shape Operator) Aの固有値:主曲率 K:ガウス曲率 H:平均曲率 42 すべて容易に求まる ※ガウス曲率はE, F,
G だけでも求まる
43.
法線の微分 非正規化法線の微分 (ワインガルテンの定理) 43 正規化法線の微分 残りはこれ
44.
ディスプレイスメントの微分 ● パッチの(u, v)で少なくとも
C1 な シグナルが必要 ● Ptex 構造で双二次Bスプラインの スカラーフィールドを作る ● ついでにミップマップもする 44 サンプル点の 3x3 近傍を取って 2次Bスプライン補間し、値と微分を得る ピンクの縁は隣接フェイスのテクセル のコピー サンプルは OpenSubdiv に一応ある (実装例:最適ではない)
45.
ディスプレイスメントの微分 45 ようやくディスプレイスメントの接線が計算できた vも同様にし、外積で法線を得る シェーダで実装可能 ※そこまでしなくても・・・という方には スクリーンスペースのディスプレイスメント微分でも一応法線計算は可能 Morten S. Mikkelsen,
Bump Mapping Unparametrized Surfaces on the GPU https://dl.dropboxusercontent.com/u/55891920/papers/mm_sfgrad_bump.pdf ディスプレイス法線
46.
46
47.
リアルタイムコリジョン変形 この構造はランタイムに更新することもできる 大きな利点: 変形(ディスプレイスメント更新)した後の 法線の再計算が不要 47
48.
48
49.
レイトレース法 49 ● 反射・屈折などの表現 ● GI(グローバルイルミネーション) Sports
Car Model Created By “Yasutoshi "Mirage" Mori” https://github.com/MirageYM/3DModels
50.
レイトレースによるサブディビジョンサー フェスのレンダリング ● 主流は事前テセレーション ● ラスタライズとの違い ○
2次レイのためにテセレーション結果を残さなければなら ない ○ メモリ消費が問題 ● Embree では効率的なキャッシュを導入 ○ インタラクティブレイトレが実現 50 Carsten Benthin et al., Efficient Ray Tracing of Subdivision Surfaces using Tessellation Caching Proceedings of the 7th High-Performance Graphics Conference 2015
51.
サブディビジョンサーフェスの インタラクティブレイトレ 51
52.
事前テセレーションは必須なのか? ● 2次レイに必要な分割精度は予測しにくい ○ 鏡に映った曲面 ●
ポリゴンを保持するため大幅なメモリ消費 ● キャッシュ機構の導入による複雑化 ○ 複数精度のキャッシュ保持 ○ メモリ<ー>ファイルによるスループットの低下 52
53.
直接レンダリング ● サブディビジョンサーフェス(Catmull-Clark)はBスプライン パッチに変換可能 ● Bスプラインパッチの交差判定 ○
ニュートン法 ○ ベジェクリッピング法 ● 任意精度で交差点を評価 ○ レイディファレンシャルで精度取得 ● 特徴適応分割したBスプラインパッチ取得 53
54.
ベジェクリッピング法 ● オリジナルは西田先生開発(1990年) ● 凸包性を使うため、4~5回のループでロバストに交点が求 まる ●
メモリ消費を少なく抑え、リミットサーフェスを評価 ● クラックを避けるためには、IEEE754 浮動小数点演算の挙 動に注意が必要 (特徴適応分割での Watertight 評価と同等) 54 Takahito Tejima and Toru Matsuoka, Direct Ray Tracing of Full-Featured Subdivision Surfaces with Bezier Clipping. Journal of Computer Graphics Techniques (JCGT), vol. 4, no. 1, 69-83, 2015
55.
● 特徴適応分割に対応したBスプラインパッチ取得 ● セミクリースなどを少ないパッチで描画 ●
少ないメモリ消費 55 特徴適応分割した Bスプラインパッチ
56.
デモ 56
57.
サブディビジョンサーフェスまとめ ● Catmull-Clark サーフェスは3次Bスプラインの拡張 ●
Bスプライン関連のテクニックがほとんど使える 多くの技術は日本のCAD業界で80~90年代に開発済 ● リミットサーフェスを描画したい。 ○ 有限回分割した4角形を描画するのでは不十分 ● 法線や二次微分は解析的に正しく求まる ● 微分幾何に親しもう ○ 物体の形状を決めているのは、曲率 57
58.
サブディビジョンサーフェスの真価 ● 曲面を描画するための表現方法 ● ディスプレイスメントでディティールを作れる ●
C2 連続な二次微分を解析的に求められ、 様々な応用が可能 ● 解像度フリー ○ ハイエンド・ローエンドで共通データ ○ レンダリングと3Dプリントで共通データ ● 事前テセレーションに比べメモリ効率がよく、 レイトレにも向いている ● さようならポリゴン、今までありがとう 58
59.
学習教材 Pixar in a
box : カーン・アカデミー ピクサー映画を素材に、サブディビジョンをわかりやすく解 説してます。英語ですが英語の勉強にも! https://www.khanacademy.org/partner- content/pixar/modeling-character/modeling- subdivision/a/start-here-character 59
60.
ありがとうございました スライドはこちらから http://takahito-tejima.github.io WebGL 版、SVG版
OpenSubdiv ビューワ もあります (ちょっと重いけど) お試しください emscripten 利用、PC/Mac/mobile ご質問等は takahito@pixar.com まで ご感想、つぶやき、ひとりごとは @gishicho, @ototoi まで 60
61.
付録 Appendix 61
62.
スプラインサーフェス スプライン=区分多項式補間 サブディビジョンで使われる多項式基底 ● バーンスタインベジェ ● B-スプライン ●
BOX-スプライン(Bスプラインの一般化) Catmull-Clark では双3次一様Bスプラインを多用 62
63.
様々なサブディビジョン手法(一部) 63 プライマル(面分割) デュアル(頂点分割) 正則部の基底 特異頂点以外の 連続性 補間系(制御点を通る) 近似系(制御点を通らない) Loop プライマル
Boxスプライン C2 近似系 Catmull-Clark プライマル Bスプライン C2 近似系 Doo-Sabin デュアル Bスプライン C1 近似系 4-8 プライマル + デュアル Boxスプライン C4 近似系 Kobbelt プライマル 一般多項式 C1 補間系 Butterfly プライマル 一般多項式 C1 補間系 その他いろいろ 今でも学会では毎年のように新手法や改良型が提案されているが、実用されてるのは ほぼ Loop(三角形) と Catmull-Clark(四角形、一般) のみ (Softimage が Doo-Sabin 使っていたが・・・)
64.
ノット挿入=サブディビジョン Catmull-Clark (3次) Primal Doo-Sabin (2次) Dual 64
65.
・Rayの方向をz軸とする座標系にパッチを座標変換する 65 ベジェクリッピング法の手順1 X Z
66.
・Z軸を軸にしXY回転する 66 ベジェクリッピング法の手順2 Y X Y X Y軸とできるだけ平 行になるように
67.
・X軸でベジェックリップ ・凸包性を利用して一気に範囲を絞り込む!! 67 ベジェクリッピング法の手順3 Y X Y X
68.
68 ベジェクリッピング法の手順4 Y X Y X Y X Y X ・U方向・V方向を交互に手順2手順3を繰り返す ・十分に小さくなるまで・・・(概ね5〜6回程)
69.
ベジェクリッピング法の手順5 ・十分にパッチが小さいときZ値がそのまま視点からの距離とな る ・交点の位置、法線などは微小パッチの平均したZ値、UV値な どから求めることができる X Y Z
70.
70 レイディファレンシャル(Ray-Differential) による分割精度取得 ● 画面のピクセルごとに分割精度を求める ● 曲面の分割精度をピクセルの幅以下にすればよい
71.
C2 グレゴリーパッチ 71