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
1.9k
キューブマッピング で鏡のような映り込みを表現
akatsukinewgrad
March 05, 2021
Tweet
Share
More Decks by akatsukinewgrad
See All by akatsukinewgrad
2023/1/25_QAテスター meet up!
akatsukinewgrad
0
100
成果発表資料.pdf
akatsukinewgrad
0
1.9k
広大なフィールドを気持ちよく駆け抜けるための技術.pdf
akatsukinewgrad
0
460
正規表現とReDoS.pdf
akatsukinewgrad
0
470
Unityで大量のオブジェクト_を吹き飛ばしたい.pdf
akatsukinewgrad
0
490
新卒2年目が思う1年目の学び.pdf
akatsukinewgrad
0
440
障害訓練の取り組みについて.pdf
akatsukinewgrad
0
560
7分でわかるアカツキゲームス
akatsukinewgrad
0
480
Bitcoinだけでスマートコントラクト.pdf
akatsukinewgrad
1
740
Other Decks in Programming
See All in Programming
Jakarta EE meets AI
ivargrimstad
0
110
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
300
ヤプリ新卒SREの オンボーディング
masaki12
0
130
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
950
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
340
CSC509 Lecture 12
javiergs
PRO
0
160
Jakarta EE meets AI
ivargrimstad
0
580
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
140
初めてDefinitelyTypedにPRを出した話
syumai
0
420
Ethereum_.pdf
nekomatu
0
460
Featured
See All Featured
Docker and Python
trallard
40
3.1k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
GraphQLとの向き合い方2022年版
quramy
43
13k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Documentation Writing (for coders)
carmenintech
65
4.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Building Applications with DynamoDB
mza
90
6.1k
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