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
130
成果発表資料.pdf
akatsukinewgrad
0
2k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
550
正規表現とReDoS.pdf
akatsukinewgrad
0
540
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
580
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
510
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
680
7分でわかるアカツキゲームス
akatsukinewgrad
0
550
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
870
Other Decks in Programming
See All in Programming
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
360
Java on Azure で LangGraph!
kohei3110
0
120
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6k
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
940
XSLTで作るBrainfuck処理系
makki_d
0
200
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
180
Gleamという選択肢
comamoca
6
720
Datadog RUM 本番導入までの道
shinter61
1
280
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
210
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
370
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
780
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
130
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
What's in a price? How to price your products and services
michaelherold
245
12k
Navigating Team Friction
lara
186
15k
Practical Orchestrator
shlominoach
188
11k
Building Applications with DynamoDB
mza
95
6.4k
KATA
mclloyd
29
14k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Automating Front-end Workflow
addyosmani
1370
200k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
920
Balancing Empowerment & Direction
lara
1
300
Building Adaptive Systems
keathley
43
2.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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