質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

Q&A

解決済

1回答

1049閲覧

質感、マテリアルについて質問です

seri

総合スコア422

アルゴリズム

アルゴリズムとは、定められた目的を達成するために、プログラムの理論的な動作を定義するものです。

0グッド

0クリップ

投稿2016/12/07 17:47

編集2016/12/07 17:51

http://roberthodgin.com/portfolio/work/adobe-remix/

こちらのサイトではリアルタイムによるアニメーションが掲載されていますが、このアニメーション(https://vimeo.com/109094315)内のキューブやスフィアの質感をどうやって実装するのか気になります。
光沢と艶があり、まるでニスでも塗ったプラスチックのようです。

サイトには物理演算や影の描画のことばかりで、質感の実装については説明されていません。

どなたか心当たりがある方は教えてくださいませ!

追記:
Boxは完成のムービーでは面取りがされています、しかし、実装段階では見る限り頂点数8のBoxです、これはシェーダでなんとか出来るのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

質感の再現方法にもいくつかの手法があると思います。光沢についていうと原理的に光源からの光の反射が物質の表面の滑らかさによってどのように決まるかを計算することで表現します。
よく用いられる計算モデルにPhongモデルというのがありますのでどういった理論なのかは検索してみるといくつか解説ページが見つかると思います。

Phongモデルはポピュラーなものなので多くのグラフィックスサポートシステムで標準的に備わっていると思います。そういうシステムを前提にCGを作成するHowTo的なページには詳細な理論は書いてないことも多いでしょう。プログラマーが何も考えなくてもシステムがそれらしく計算してくれるわけですから。

面取りがされています、...これはシェーダでなんとか出来るのでしょうか?

その質問は「なになにのシステムでは可能か?」といった方がよいと思いますが・・・純粋に理論的な話として「人がそれを一々与えなくても自動計算できるか?」という問いだとすればYESといってよいと思います。


コメントに対する追記です。
アニメーションの際にあらかじめモデルを用意しておいた方が・・・というのはまったくおっしゃるとおりと思います。質問にあるサイトを見ましたが非常に多数のポリゴン体を用いたCGなのでコンピューターのパワーに依存してやりかたを工夫する必要があるかも知れませんね。あらかじめモデルを面取りしておいたほうが確実にパフォーマンスはよくなる気がします。

さてシェーダーにかける際に自動計算するならということですが面取りも幾何計算の組み合わせですから三次元を扱った幾何計算をすることになります。自分で計算式をひねり出すこともできますが、何分面倒なので色々な計算式が載っている幾何計算の解説ページを探しそこにのっている計算式を組み合わせた応用になると思います。考え方としては多面体を構成する各面(たいてい三角形と四角形を使うと思います)の各辺を面にそって短い距離だけ小さくした面の頂点座標を計算し、縮めたことで生じた隙間の部分へ新たな平面を補うという感じになると思います。

投稿2016/12/08 01:15

編集2016/12/08 02:08
KSwordOfHaste

総合スコア18394

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

seri

2016/12/08 01:28

「なになにのシステムでは可能か?」といった方がよいと思いますが。。 それに付け加え、質問させていただきます、リアルタイムで求められるのはやはり計算速度ですが、動画のようにたくさんのオブジェクトを扱う場合、頂点数を増やし、面取りをするような実装は計算速度に問題もでてきますし、実装のための時間を計算したら、もとから面取りをされたオブジェクトを用意した方が容易ですし、計算量も削減できます。そこで、 「人がそれを一々与えなくても自動計算できるか?」という問いだとすればYESといってよいと思います。 とのことですが、この方法はどんなものか教えていただけないでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問