広告
広告

Blender でインテリアマッピング

カテゴリ:blender

インテリアマッピングは板ポリゴンに、奥行きのある仮想の部屋を描画するアルゴリズムだ。

床と天井のみのインテリアマッピング

fig1
P : オブジェクト空間でのシェーディング位置
I : オブジェクト空間での単位視線ベクトル
d : グリッド間距離
hit : 計算によって求める仮想の衝突位置

まず床と天井との衝突位置を計算したあとに、他の面の計算を説明する。以下の計算式から、係数 t がわかれば衝突位置 hit がきまる。P はオブジェクト空間でのシェーディング位置で、I はオブジェクト空間での単位視線ベクトルだ。

hit = P + t * I

インテリアマッピングは固定幅のグリッドで部屋が分割されるので、シェーディング位置の端数を切り捨てることにより衝突位置の高さを計算できる。視点が上向きなら天井、下向きなら床の位置を計算する。計算するコードは以下のようになる。

hit.z = (I.z > 0) ? ceil(P.z/d) * d : (ceil(P.z/d)-1) * d

高さがわかると係数 t がきまり、衝突位置 hit を計算できる。

hit.z = P.z + t * I.z

t = (hit.z - P.z) / I.z

OSL のソースコードは以下のようになる。.blend ファイルの interior-mapping-z.osl でテストできる。

shader InteriorMapping(
    point Position = P,
    vector Incoming = I,
    float d = 1.0,
    output vector texcoord = vector(0,0,0),
)
{
    point p = transform("world", "object", Position);
    vector incoming = -transform("world", "object", Incoming);

    float hit_height = (incoming[2] > 0.0) ? ceil(p[2]/d)*d : (ceil(p[2]/d)-1)*d;
    float t = (hit_height - p[2]) / incoming[2];
    point hit = p + t * incoming;

    texcoord = hit / 8;
}

続きを読む

Principled BSDF の使い方

カテゴリ:blender

目次

Principled BSDF の特徴

使い方

THE PBR GUIDE

リンク

設定例

金属

ヘアライン加工

Principled BSDF の特徴

フレネルの自動調整

実際のマテリアルでは表面が粗いときフレネルは小さくなる。従来のノードの場合、粗さを上げたときに手動でフレネルノードを調整しなければならなかった。Principled BSDF の場合は粗さを変更すると、ノードの内部で自動的に最適なフレネルを設定する。

PBR のデファクトスタンダード(2018年現在)

Substance Painter、Render Man、Unreal、Houdini でも使われており、それらのツールと連携するならば Principled BSDF を使う方がいい。

PBR に基づいてマテリアルを作成すると、アーティストのスキルに依存せずにリアリティのあるマテリアルを作成できる。Principled BSDF の最大の利点はツール間でマテリアルのルックの違いを最小化するところにある。

続きを読む

Blender でハードサーフェスモデリング

カテゴリ:blender

一般的なポリゴンモデリングに役立つツールはモデリングの際に知っておくと便利な機能を参照。

目次

ベベルモディフィアとブールモディフィア

ベベルと辺の関係

シャープなエッジを作る

再分割曲面モディフィアでシャープなエッジを作る

便利なツール

よく使うパターン

n ゴンの使い方

アドオン

動画

テクスチャ

続きを読む

Blender でスカルプトする際のワークフロー

カテゴリ:blender

目次

ワークフロー

素体を作る

Dyntopo

多重解像度モディフィア

パーツごとにオブジェクトに分割する

リトポ

tips

Topology Rake

回転の中心を変更する

スカルプトした場所を中心に回転させる

操作を高速化

トラックボール回転を使う

スタイラスを使う場合

フルスクリーンモード

マスク

スムース表示

アドオン

関連動画

ワークフロー

  1. メッシュのスケールを適用する(Ctrl + A)
  2. ポリゴンモデリングもしくはスキンモディフィアで素体を作る
  3. Dyntopo で整形
  4. 重くなったらリメッシュモディフィア・ポリゴン削減モディフィアで整形。2. に戻る。大体の形が整ったら 5. へ。
  5. 大体の形が整ったらメッシュを複製する。複製したメッシュをリメッシュで四角化した後、元のメッシュをターゲットとして複製したメッシュをシュリンクラップ
  6. リメッシュのモード:はスムーズ。オクツリーの深度で解像度を調整する。

    シュリンクラップのモード:はプロジェクト。方向は負と正と両方チェックを入れる。

    remesh
    リメッシュの設定例
    shrinkwrap
    シュリンクラップの設定例
  7. 複製したメッシュに多重解像度をつけて細部の彫り込み
  8. リトポ
  9. リトポしたメッシュを UV 展開
  10. 法線や AO をベイク

素体を作る

続きを読む


広告
広告