Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
キューブマッピング で鏡のような映り込みを表現
Search
akatsukinewgrad
March 05, 2021
Programming
0
2k
キューブマッピング で鏡のような映り込みを表現
akatsukinewgrad
March 05, 2021
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
120
成果発表資料.pdf
akatsukinewgrad
0
1.9k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
510
正規表現とReDoS.pdf
akatsukinewgrad
0
500
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
530
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
470
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
620
7分でわかるアカツキゲームス
akatsukinewgrad
0
510
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
800
Other Decks in Programming
See All in Programming
PEPCは何を変えようとしていたのか
ken7253
3
280
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
910
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
670
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
1
210
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
280
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
250
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
1.1k
バッチを作らなきゃとなったときに考えること
irof
2
530
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
930
SwiftUI Viewの責務分離
elmetal
PRO
2
280
Unity Android XR入門
sakutama_11
0
180
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Docker and Python
trallard
44
3.3k
Faster Mobile Websites
deanohume
306
31k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
A designer walks into a library…
pauljervisheath
205
24k
BBQ
matthewcrist
87
9.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Optimizing for Happiness
mojombo
376
70k
Transcript
キューブマッピング で鏡のような映り込みを表現 株式会社アカツキ 菱谷隼人
自己紹介 菱谷隼人 (ヒシヤハヤト) 業務 2018年度新卒入社 新規3Dゲームのクライアントエンジニア 主にグラフィックスとインゲームを担当 趣味 筋トレ バイク
ギター シェーダー
3DCG グラフィックスについて 最近のコンピュータグラフィックスの世界ってすごいですよね 実写と区別がつかない,というか実写をある意味超えるような表現もできちゃいます 僕は,今もなお目まぐるしい進化を続けているCGの世界が大好きです!
リアルタイムCGの世界でよく使われる キューブマッピングを紹介します
キューブマッピングとは 環境マッピングの技法の1つ ※環境マッピング:3Dモデルの表面に周りの景色を映り込ませること 本来,正確に映り込みを表現するにはレイトレーシングするしかない ※レイトレーシング:とある点が映す色を光線追跡して導き出すこと レイトレーシングをリアルタイムで行い続けるのは高負荷で現実的ではないので キューブマッピングを利用する場面が多い
キューブマッピングとは あらかじめ用意されたテクスチャを,あたかも映り込んでいるかのようにマッピングする https://wiki.popcornfx.com/index.php?title=File:V2040_cubemap.gif
キューブマッピングの原理 ①3Dモデルの法線ベクトルを軸に,視線ベクトルの反射ベクトルを算出 ②該当のテクセルをキューブマップからサンプリングする https://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E3%83%9E%E3%83%83%E3%83%94%E3%83%B3%E3% 82%B0#/media/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Cube_mapped_reflection_example.jpg
キューブマッピングの実装例(Unity) UnityのShaderLabでは便利な関数が定義されているので,これを利用します reflect: 第二引数を軸に第一引数の反射ベクトルを返す UNITY_SAMPLE_TEXCUBE: キューブマップのテクスチャと反射ベクトルから色を算出する
キューブマッピングの実装例(Unity) 実際にUnity上でレンダリングさせると…
キューブマッピングの実装例(Unity) 他のシェーディングと混ぜて利用しても面白いです
まとめ キューブマッピングは鏡のような映り込みを表現するシェーディング技法 ゲームのようなリアルタイムレンダリングの世界ではよく使われる シンプルな考え方ですが,得られる効果は大きい
まとめ 色々なシェーダーを描いてみたい,と思う方はこちら ▪Unityでシェーダー描いてみたい https://qiita.com/ShaderError/items/f349110679a9ec47cca9 ▪Unityでポストプロセス描いてみたい https://qiita.com/ShaderError/items/7213818bfde469a84f5a