スクロール表現の為のPosition Bake
by
HarukaKajita
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
スクロール表現のための Position Bake
Slide 2
Slide 2 text
自己紹介 梶田悠 (かじた はるか) twitter : @kajitaj63b3 情報系の大学生 演出周りのUnityエンジニア シェーダー好き! githubにLTのリポジトリあるよ!
Slide 3
Slide 3 text
スクロール表現
Slide 4
Slide 4 text
オブジェクト座標でスクロール
Slide 5
Slide 5 text
体に沿ってない...
Slide 6
Slide 6 text
オブジェクト座標のY座標でスクロールしているから、体に沿って スクロールはしない... ボーンアニメーションすると更に目立つ...
Slide 7
Slide 7 text
一生腕を上げていればいい!!!
Slide 8
Slide 8 text
というわけにはいかない... 腕を上げた状態のオブジェクト座標を取得すればいい! →座標をベイクすればいい!
Slide 9
Slide 9 text
腕を上げた時の座標
Slide 10
Slide 10 text
ジオメトリシェーダーでUV展開
Slide 11
Slide 11 text
テクスチャ化 1. カメラで撮影 2. RenderTexture 3. Texture2D 4. Png
Slide 12
Slide 12 text
ベイクしたテクスチャかでスクロール
Slide 13
Slide 13 text
実は場合によっては問題がある 座標をそのまま色にしている 座標が0~1の範囲からはみ出すとクランプされてしまう 0~nの範囲に対応していくと、大きくなるほどベイクされる座標の精度が 落ちる(色は256階調だから)
Slide 14
Slide 14 text
解決策 float値1つをfixed値4つに分解するテクニックがある →テクスチャ4枚.... 座標をベクトルの向きと長さに分けてベイクすることで解決 →テクスチャ2枚!!!
Slide 15
Slide 15 text
Vectorテクスチャ 座標を正規化 各成分が0~1に収まるように調整
Slide 16
Slide 16 text
Lengthテクスチャ 色 = RGB(8bit × 3チャンネル) 1ピクセル = 24bitのバッファ!!! →値を2^24 階調で表現できる 0~1までを16777216階調で保存できる!
Slide 17
Slide 17 text
Vectorテクスチャ Lengthテクスチャ
Slide 18
Slide 18 text
できたー
Slide 19
Slide 19 text
注意! Import Settings で圧縮・ミップマップはきる 圧縮とかフィルタとかが絡む時は基本きる 色が補間されたりで情報として価値のない値になっちゃう...
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
え?レイを飛ばしたい???? 技術書典で出ました! 出来立てホヤホヤ レイを飛ばして、 GPUもホヤホヤにしよう!!! https://booth.pm/ja/items/1307309