2018年7月18日水曜日

CGワールド 2018年8月号


(クリック拡大)

CGワールドにHoudiniの記事を書きました。
Twitterでも書きましたが、アートディレクタブルかつディティールの自動生成に重きを置いています。
モニュメントバレーはワークショップで解説した内容とほぼ同じです。
バリエーションの自動生成は一番最初のシンプルなジオメトリの形状を変えるだけなので触れてはいませんでした。Solver sopやHeight Field Erodeなどシムがある場合のやり方は、ワークショップの時は少しトリッキーなやり方を解説しましたが、一番簡単に行うにはobjレベルでノード全体をコピーしてしまうのが一番簡単です。takeでもいいですが個人的に好きではありません。

ボロノイを活用した岩作成では、フラクチャーしたジオメトリの中にあるピースだけを取り出す方法と、VDBとBooleanを利用したエッジに浸食されたディティールを追加する手法の紹介です。マテリアルはMaterial Palletにあるのをそのまま使っています。
締め切りとページの都合上一番大きい広い面で立たせる方法を書き切れなかったので今度ブログで補足出来たらと思います。




2018年1月15日月曜日

ワークショップ第2弾開催

ワークショップ第2回目を開催する事になりました。
詳細はこちら
http://sugi-iggy.blogspot.ca/p/blog-page.html

導入編+(プラス)として新しくアドバンスな内容のもの3つ追加してあります。
前回のサンプルもHoudini16以降の大幅なアップデートに合わせた内容に変更してあります。
前回個人で参加して下さった方は80%オフになります。
アドバンスな内容には、お問い合わせが多い以下の2つを含みます。

MonumentValleyのデータはご依頼者から配布許可がでていませんので、解説のみとなりますのでご注意下さい。





テクスチャは自分が描いたので下手ですみません。UVはvimeoで使用されている方法よりもハンドリングし易い形状になっています。

完璧ではないですがある程度複雑な形状でも使用可能です。

お申込みはこちらのフォームからお願いいたします。


ワークショップのページに載せきれていないものを、こちらに貼っていこう思います。

2018/1/18 作例を追加いたしました。


R&D 忘備録





2017年12月28日木曜日

2017年12月13日水曜日

MIGS2017


MIGS2017へ行ってきました。MIGSを知らない方はこちらへ↓
http://www.migs17.com/en/home/

GDCのモントリオール版といった感じでしょうか。(規模はGDCほどではないと思いますが)
映像系の方はあまり知らない人が多いかと思いますが、モントリオールには映像系より遥かに多くゲーム会社があります。
http://www.mtlgs.ca/montreal.html

イベントカレンダーを見ていたらHoudiniのセッションを見つけ、仕事も暇ということもあって行ってきました。

モバイルゲームのセッションでいいアイディアだなと思ったものが幾つかあり、一つをリバースエンジニアリングしてみました。
アーティストがモデルデータをオプティマイズするのに、どの辺りのポリゴン数が多いか視覚化するものです。Vertex heat mapと呼んでいました。いい名前ですね。



ゲームだとデータ量がシビアなのでこういう使い方も出てくるんですね。
アイディアはシンプルでエリアを分割してポイント数を数えているだけですが
こういったアイディアを直ぐにツール化できるのがHoudiniの魅力です。

hipファイルを置いておきます。

以下は会場の写真です。もっと写真撮っておけば良かった。。。



コーヒーバーが2−3箇所ありました。

substance のTシャツ

2017年12月4日月曜日

好きな方向にグラデーションを。

ついこの間、同僚にやり方を聞かれたのでアドベントカレンダーの記事にちょうど良いと思い記事にしてみました。

ある方向にグラデーションを作るというのは、静止オブジェクトやX,Y,Zどれか決まった軸ならば簡単ですが、同僚に質問されたシチュエーションは以下の様な感じでした。

マッチムーブされた自転しながら動き回るオブジェクトの進行方向に対して
0-1.0の値のグラデーションを作りたいという事でした。(火の量をコントロールするため。)
大体この様な場合は、エミットに前もってグラデーションを与え、マッチムーブされたオブジェクトの中心点にcopy to pointsで終わりなんですが、彼の場合は複雑な形状かつ直接そのキャッシュされたジオメトリに既にアレコレ編集を加えたあとで後戻りしたくないという事でした。

この様な結果を得たいという事でした。常に全体の指向方向の前が白、後ろが黒い状態です。

前置きが長くなりましたが、簡単に言うと内積を使えば終了です。
内積の細かい説明は省きますが、2つのベクトルa→(正規化)、 b→を内積した場合b→のa→の向きの長さを返します。

共に正規化されているベクトルの場合は分かりやすく、同じ方向を向いていたら1、反対方向を向いていたら−1を返します。
コレを利用してカメラの向きとオブジェクトの法線を内積をとる事で
カメラから見えないポリゴン削除や、トゥーンシェーディングや輪郭線抽出、リライティングツールなども簡単にできます。

少し話がそれましたが、分かりやすい例で説明します。
赤い矢印の方向にグラデーションが出来るように設定してみました。


ネットワークはこんな感じです。
左がメインです。arrowノードは赤い矢印が向いている'direction'という正規化されたアトリビュートを持っています。

このTipsは向けたいの向き'direction'のベクトルとどのようなベクトルと内積とるかとという点がポイントです。

まずはオブジェクトの中心座標をとります。その中心座標を各ポイントのポジション(@P)から引くことで、各ポイントのローカルポジション
(つまり各ポイントがそのオブジェクトのどの辺りにあるかという事が分かります。)
その値'N'と矢印の方向'dir'を内積 'dot(N,dir) 'を取ることで、各ポイントの矢印方向の成分が取り出せます(@dot)。


N(@P-center)は正規化されたベクトルではなく(今回ぬいぐるみジオメトリを使用しているので形も大きさも不明です)
これではグラデーション0-1.0の値を作るには不都合なのでattribute promoteで全体の最大値(dotmax)・最小値(dotmin)を作ります。



あとは作成したdotアトリビュートを最大値・最小値でfitすれば完成です。
値をカラー(@Cd)に割り当てました。

この手法で向けたい方向と内積をとれば、どんな複雑な形状であろうと
UVが無かろうと自転しながら移動するオブジェクトであろうと好きな方向にグラデーションが作れます。
一番上の例では、全体の中心点のvを作り(@P-center)と内積をとりました。

以上です。










2017年10月12日木曜日

ドローン DJI Spark



念願のドローンを購入!キャンプに行って飛ばしてきたを繋げてみました。


   

2017年6月19日月曜日

幸せな選択、不幸な選択 のつづき。

しつこいけど、この本を読んで色々思い出した事があるので書いておこうと思う。
自己分析すると、自分をコントロール出来る方の部類だと思う。もちろん
分かってても出来ないことは沢山あるけど、ただ致命的な部分だけは苦手でもなんでも、どうにかして克服しようと常々思ってはいる。自分の中で一番避けてきたのは、決定的に必要・有用能力で、習得方法も確立されているのにもかかわらず、面倒さがまさって実践出来ないパターン。これはこの本に載っていた訳ではないけど、自分が思う不幸な選択に入る。面倒さが勝って放置した事が致命傷や機会損失に繋がった際の後悔は半端ない。

そのウチの1つは英語。本当に苦手だったけどCG屋にとっては英語を身につける事は、一石二鳥にも三鳥にもなる大きな能力の1つだ。後になって認識出来た事だけど。元はハリウッドの映画に関わりたいと思って始めた英語が、生き方自体の選択肢の広がりや、日本には無い生活を味わえたり(時にはつらいけどw)、世界中から集まる知識へのアクセスなど色々なメリットに繋がった。他にも英語ができれば最悪どこかの国が悪くなっても大丈夫という精神的な安心感がよ。日本語しか喋れなかった時とは世界が全く違って見える。
とにかく自由になれる。個人的に何かに依存するのが凄く嫌いで、国にも会社にも依存したくないので自由になれるというは凄く大きなメリットだった。

他にも重要な選択の中にメインソフトをHoudiniにスイッチした時とかあるけど(略)


ただのラッキーなのか、言語化が苦手なのか分からないけれど、大抵今まで大きな決断をした時に、その時思いついてるメリットは1つ2つとか楽しそうとかなのだけれども、その後その決断が正しかったと思える様な要素が後から多く出て来る。そんな経験もあって、この本を読んだ時に無意識に実践できていたのだなとより思えたのかなと思う。

さて、これからもストレス無く楽しく生きていきたい。