広告
広告

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;
}

続きを読む

FGO のチェインの確率計算

カテゴリ:確率統計

目次

基本的な組み合わせの計算

ブレイブチェイン

1ターン目にブレイブチェインができる確率

1ターン目に特定キャラ1体のブレイブチェインができる確率

宝具がある場合に1ターン目に特定キャラ1体のブレイブチェインができる確率

バスターチェイン

3ターン連続でバスターチェインができる確率

3ターンの内1ターンしかバスターチェインができない確率

3ターン中2回バスターチェインができる確率

基本的な組み合わせの計算

15枚のカードの内、あたりが9枚、はずれが6枚ある。この中からカードを5枚引いたとき、あたりをちょうど1枚だけ引く確率は以下のようにして計算できる。

C(9,1) * C(6,4) / C(15,5)

C(9,1) は9枚の内から1枚を選ぶ組み合わせの数であり、この場合はあたりの組み合わせの数だ。C(6,4) は6枚の中から4枚を選ぶ、はずれの組み合わせの数、C(15,5) は 15 枚の中からカードを5枚引いた時の組み合わせの数だ。

C() は Combination で WolframAlpha で計算できる。結果はおよそ 4.5% だ。

あたりがちょうど3枚の場合は以下のようになる。

C(9,3) * C(6,2) / C(15,5) = 0.41958 ≒ 41.96%

続きを読む

Blender でパスに沿ってオブジェクト(テキスト)を配置する

カテゴリ:blender

目次

概要

ただ単にパス上に配置する方法

パスに沿ってデフォームする方法

ラティス・メッシュ変形を使う方法

DupliFaces を使う方法

テキストの場合

概要

ただ単にパス上に配置する方法パスに沿ってデフォームする方法が手軽だ。さらに変形が必要な時はラティス・メッシュ変形を使う方法がある。ただし上記の方法はすべてメッシュが変形する。変形を完全に排除したい時は DupliFaces を使う方法を使う。

続きを読む

資料・テクスチャ

カテゴリ:blender

テクスチャ

textures.com

Environment Textures

Poliigon

TEXTURE HAVEN

cgbookcase.com

道路のテクスチャ

資料

referencereference
人や動物の動きの動画リファレンス

ENDLESS REFERENCE
人の動きのリファレンス

PBR

『THE COMPREHENSIVE PBR GUIDE Volume 1: The Theory of PBR by Allegorithmic』私家訳版

『THE COMPREHENSIVE PBR GUIDE – Vol. 2: Practical guidelines for creating PBR textures 』 私家訳版

そのほか

Knittr - Procedural Knitwear Shader

ニットウェアのプロシージャルテクスチャ

続きを読む

Eevee の使い方

カテゴリ:blender

Eevee は Cycles と同じ物理ベースのレンダラーだ。ただしパストレーシングの Cycles と違って、Eevee はゲームエンジンで使われるラスタライズ法でレンダリングされる。パストレーシング(Cycles)では自動的に処理されるような表現の一部は、ラスタライズ法(Eevee)ではユーザーが明示的にセットアップする必要がある。

公式ドキュメント(英語)

目次

オーバースキャン

Cycles と Eevee とのライトの明るさを一致させる

AO(環境遮蔽)

鏡面反射

透過・屈折

皮下拡散(Subsurface Scattering)

間接光・放射(Irradiance Volume)

霧(Volumetric)

セルシェーディング

被写界深度

制限

続きを読む


広告
広告