2015年06月

2015年06月30日

Extension for 3ds Max 2015を調べてみた その34 3dsmax 2015

今回も「Shader FX」の追加された「Patterns」ノードについて調べてみたい。

今回は「WavyLines」ノードだ。

fig01

これを平面に貼り付けるとこんな感じになる。

fig02

プロパティはこのようになっている。

fig03

「Resolution」パラメータはUV座標値の倍率。UVマップの原点を基準にパターンがこの値でスケーリングされる。

「Lines」は基本になる線の本数。下のGIFアニメはこの値を5、「SubLines」を1にしたもの。

fig05

「SubLines」は上の基本になる線に対してフェーズなどを変えたバリエーションの線の本数。下のGIFアニメは「Lines」を1、「SubLines」を3にしたもの。基本になる線1本に対して追加2本、合計3本のバリエーションの曲線になっているのがわかる。

fig06

「Brightness」は線の明るさ。下のGIFアニメはこの値を0.2と1.0で切り替えてみたもの。1.0にすると明るくなった。

fig04

「Color」は線の色がグラデーションしたり変化したりする時に使われるもののようだ。詳しくは中身を調べてみればわかるかな。

このノードを「詳細」モードで開いてみると、このようにデフォルト値の設定と「CustomCode」ノードで構成されている。

fig07

詳しくは次回調べてみたい。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)3ds Max | CG

2015年06月29日

Playground Resourcesフォルダーが無い

Macを入手したのでついでにXcodeも入手してみた。

それでちょっとPlaygroundでもいじってみようと思ったら、ほんの数分でタイトルで書いた通りの疑問にぶち当たったわけだ。

「Resources」フォルダーはiOSアプリで使う画像データなどを置いておく場所みたいで、そこに置いておくと下のコードで簡単に画像ファイ ルが読み込める。

import UIKit

let image = UIImage(named: "sample.jpg")

うまく読み込めるとPlaygroundの「Value History」ボタン(下の画像の矢印のボタン)を押せば読み込まれた画像を確認できたりするわけだ。

fig01

で、自分が読んだ解説には「Resources」へのアクセスは「File Inspetor」ビューから出来るって書いてあったんだけど、実際に「File Inspetor」ビューを表示してみても「Resources」へアクセスするような項目はどこにも無い。どうも仕様が変わってしまったようだ。

そこでいろいろやってみた結果、こうすればいいんじゃないかって方法がわかったので書いておくね。たぶん同じことで引っかかる人はいると思うのでw

もったいぶって書いたけど、やり方は至って単純。メニューから「View」→「Navigation」→「Show Project Navigator」を選ぶと、

fig02

「Project Navigator」ビューに待望の「Resources」フォルダーがw

fig03

あとはこのフォルダーに読み込ませたい画像ファイルをドラッグ&ドロップしてやれば、

fig04

画像ファイルが読み込めるようになるよ。ファイルをドラッグ&ドロップしてパッケージの中身を変えたせいか下のような警告のダイアログが出た。 ちょっとドキッとする警告だよね。

fig05

「Save Anyway」を押して保存しておいた。

これで無事に画像ファイルが使えるようになった。



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)Mac | Xcode

2015年06月26日

modo801の新機能を調べてみた その108 modo801

前回に引き続き「Fur Material」アイテムの変更箇所について調べてみたい。

「ビルボード」に「羽毛」という項目が増えた。

fig06

「羽毛」って名前だけに羽毛のようなものを生えさせるのにいいようなビルボードのようだ。「プリセット」にも「羽毛」があったけど、このビルボードを使う時は初期設定として使うといいようだ。

fig07

「羽毛」ビルボードはファーが複数セグメントから成るポリゴンのストリップになる。「羽毛」を選ぶと「最大セグメント数」パラメータが有効になる。

fig08

単純なポリゴンに置き換わるほかのビルボードと違ってポリゴンストリップになっているために「ベンド」パラメータで下のように曲げる事が可能になる。

fig09

曲げの方向は「ベクターマップ」などで調整が出来る。

「プリセット」から「羽毛」を選んでパラメータを初期設定してから「ベクターマップ」を新規に追加してやれば、

fig10

ヘアツールで方向や長さが調整できる。注意しなきゃならないのは、「ベクターマップ」を使う時は「密度頂点マップ」などは無効にしておかないとちゃんと機能しないようだ。

fig12

さらに「ベンド」パラメータなんかを調整していいあんばいに曲げてやれば、

fig13

羽毛っぽいビルボードになる。

fig11

「ビルボード」へは「プロジェクションタイプ」を「インプリシットUV」にすれば画像マップが貼り付けられるので、羽毛のマテリアルを作って貼り込めば、羽毛が生えてるっぽくなるわけだ。

fig14

それではまた来週。

modo801ブログ目次



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)modo | CG

2015年06月25日

Extension for 3ds Max 2015を調べてみた その33 3dsmax 2015

今回も「VoronoiSmoothQuilez」ノードの「CustomCode」ノードの「VoronoiSmoothQuilez()」ファンクションについて調べてみたい。

前回パターンをぼかす部分について調べてみたんだけど、ぼかしについては合成の順番によって結果が異なっちゃうくらいかなりアバウトな感じの処理である事がわかった(ホントかw)。最後に残った謎が下の式で太字にした部分の役割だ。

float h = smoothstep( 0.0, 1.0, 0.5 + 0.5*(m.x-d)/w );
m.x = mix( m.x, d, h ) - h*(1.0-h)*w/(1.0+3.0*w);
m.yzw = mix( m.yzw, col, h ) - h*(1.0-h)*w/(1.0+3.0*w);

そこで実際のコードを書き換えて太字の部分を削ってみた。

fig01

そしてこれが削らなかったもの。

fig02

見てわかる通り境界部分でより色が暗くなってパターンのコントラストをハッキリさせてる感じだ。

「h」の値域は0〜1の区間で、「- h*(1.0-h)*w/(1.0+3.0*w)」の部分で「w」を最大の1とすると、下のような曲線になる。「h」が0.5となるのは「m.x」と「d」が等しい時で、どちらかが大きくなれば「h」は0.5から左右に振れる。そして「w」が1より小さくなると、このグラフの谷間は浅くなり、0で平らになる傾向になっている。

fig05

これが25のポイントに対して直前に得られた最短ポイントまでの距離「m.x」と現在の処理対象のポイントまでの距離「d」から求められて、ミックスする時にちょっとずつ影響を残して行くから、結論として、等距離のポイントが多いほど「- h*(1.0-h)*w/(1.0+3.0*w)」の影響が強く出て、色が暗くなる傾向になり、距離は短くなる傾向になる感じだ。それが上の画像で比較したスムージングした時のコントラストで現れて、セルの中心から等距離の境界部分が暗くなる傾向として現れたわけだね。

そして距離の方は「Shift」の方で使われる。下の画像は「- h*(1.0-h)*w/(1.0+3.0*w)」の項を削除した時の「Shift」パラメータを1にしてみたもの。

fig03

そしてこちらが通常のもの。効果が出て少し明るくなっている。

fig04

「Shift」パラメータの方は「VoronoiSmoothQuilezFunc()」ファンクションの方でこのように使われていて、

// 0 is inverted, 1 is rounded, 0.5 is normal
float roundContribution = max( (shift-0.5)*2, 0);
float invertContribution = max( 1-(shift*2), 0);
float rounded = (1.0 - 0.8*c.x);
float inverted = c.x;

col *= mix(1, rounded, roundContribution);
col *= mix(1, inverted, invertContribution);

1にすると「rounded」の影響のみが色「col」に影響を及ぼして、それが距離「c.x」で決まる。

float rounded = (1.0 - 0.8*c.x);

この式からも距離「c.x」が小さいほど色「col」が暗くなる影響が少なくなることが読み取れる。

逆に「Shift」が0の時は「inverted」の影響のみになり、境界部分での暗さが増す事になる。

float inverted = c.x;

下の画像は効果を除外した場合。

fig06

そしてこっちが効果を付け加えた場合。

fig07

以上、「VoronoiSmoothQuilez」ノードを調べてみたけどちょっとした数式の中にいろんな仕組みが隠れていて味わい深いね。

それではまた次回。

maxまとめページ



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)3ds Max | CG

2015年06月24日

modo801の新機能を調べてみた その107 modo801

前回に引き続き「Fur Material」アイテムの変更箇所について調べてみたい。

頂点マップを使うメニューで既存の頂点マップを選択するだけじゃなくて、「(新規マップ)」を選んでここから新規に頂点マップを作成できるようになった。

fig01

メニューを選ぶと下のダイアログボックスが出て、名前を入力すると、

fig02

新規に「ウェイトマップ」が作成され、

fig04

「密度頂点マップ」として設定される。

fig03

「ウェイト」ツールなどでウェイトマップを調整すると、このようにファーの密度を調整出来る。

fig05

頂点マップを使えるものは他に、「長さ頂点マップ」

fig15

「ブレンドマップ」「範囲マップ」「クランプマップ」「カールマップ」

fig16

「ベンドマップ」がある。

fig17

これらは頂点マップを使って各パラメータの効き具合をコントロール出来てとても便利なんだけど、どうも「ベクターマップ」と一緒に使うと結果が安定しないようだ。

fig18

例えば「密度頂点マップ」を下のように設定してみると、

fig19

このようにマップの値が高い部分だけファーが生える。

fig20

ここで新規に「ベクターマップ」を追加すると、このようにファーが消えてしまった。

fig21

ここで「密度頂点マップ」をOFFにすると、「ベクターマップ」が機能して、ファーの長さや方向がヘアツールで編集可能になる。

fig22

いろいろ試しているうちに突然機能することもあったりで、どうも不安定な感じだ。

マスクを画像のテクスチャマップで行う場合は「ベクターマップ」と競合する事はなさそうだ。

例えば下のように画像マップを貼って、「エフェクト」を「ファー密度」にして、

fig24

このようにペイントすると、

fig25

ペイントした部分のみファーが生えて、しかもベクターマップに従うものになる。

fig26

ついでに901でも試してみた。こっちは「密度頂点マップ」で絞込みは出来るみたいだけど、ファーが縮れてしまった。

fig27

それではまた次回。

modo801ブログ目次



take_z_ultima at 11:30|この記事のURLComments(0)TrackBack(0)modo | CG
Archives