マテリアルって何者?RealityKitで扱うマテリアル入門
by
Nao-RandD
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
マテリアルって何者? RealityKitで扱うマテリアル入門 visionOS Engineer Meetup vol.10
Slide 2
Slide 2 text
SPEAKER Nao_RandD ᯅ / ナオランド @Nao_RandD ● ⽇頃は iOS エンジニアとして働く ● 最近縁あって、R&D 領域の取り組みで Apple Vision Pro 向けの開発に携わる ● 3Dモデリングまわりは上記をキッカケ に初めて触れる
Slide 3
Slide 3 text
話すこと 本日お話しする内容 ● 3Dモデリングにおけるマテリア ルの入門的な解説 ● RealityKit で扱えるマテリアル の種類 話さないこと ● Shader Graph などについて 踏み込んだ解説 ● Blender や Unity, Unreal Engine など RealityKit 以外を 利用したケースの解説
Slide 4
Slide 4 text
iOSエンジニアの自分は思った
Slide 5
Slide 5 text
3Dモデリングに出てくる 用語多すぎ rrrrrrrr 🙃
Slide 6
Slide 6 text
PBR Material Metalness Diffuse Color Rendering Normal Map Roughness Glossiness Specular Base Color Mesh Bump/Relief Emission Luminescence Texture Shader Lighting UV Refraction Iridescence IOR Fresnel Effect Collision 3D Modeling 😇
Slide 7
Slide 7 text
マテリアルから攻略してみる
Slide 8
Slide 8 text
マテリアルとは 3Dモデルの外観を定義してその表面が光とどのように 相互作用するかを定義する (Apple のドキュメントより抜粋)
Slide 9
Slide 9 text
マテリアルとは 3Dモデルの外観を定義してその表面が光とどのように 相互作用するかを定義する (Apple のドキュメントより抜粋) → 単に色だけではなく、質感など物質が持つ情報を付与する 色, 光沢, 粗さ, 金属度, 透明度, 発光 など
Slide 10
Slide 10 text
マテリアルとは 用語と物理的な表現との対応も知っておくと マテリアルの要素 対応するテクスチャマップ 表現していること 色(アルベド) Albedo Map / Base Color Map 物体の基本的な色を表現する。拡散反射。 光沢(スペキュラ) Specular Map 表面の光沢の強さや色を表現する。鏡面反射。 粗さ(ラフネス) Roughness Map 表面の滑らかさやザラザラ感を表現する。 金属度(メタリック) Metallic Map 金属・非金属を表現する。特有の光沢や色合い。 透明度(オパシティ) Opacity Map / Alpha Map 物体の透明度を表現する。光の透過。 発光(エミッシブ) Emissive Map 自ら光を放つ部分を表現する。 凹凸(法線) Normal Map 表面の細かな凹凸を視覚的に表現する。
Slide 11
Slide 11 text
RealityKit にあるマテリアルを 用途と合わせて丸っと把握する
Slide 12
Slide 12 text
RealityKit で提供されるマテリアル 1. SimpleMaterial 2. UnlitMaterial 3. PhysicallyBasedMaterial 4. PortalMaterial 5. ShaderGraphMaterial 6. CustomMaterial 7. VideoMaterial 8. OcculusionMaterial RealityKit / Material, textures, and shaders: https://developer.apple.com/documentation/realitykit/scene-content- materials-and-shaders
Slide 13
Slide 13 text
1. SimpleMaterial RealityKit で提供されるマテリアル 概要: ● 基本的なマテリアルで、色やテクスチャ、 ライティングに対応 用途: ● シンプルなオブジェクトの表現や、 パフォーマンスを重視したい時 ● デバッグで位置を調整したい時 SimpleMaterial:https://developer.apple.com/documentation/realitykit/simplematerial
Slide 14
Slide 14 text
2. UnlitMaterial RealityKit で提供されるマテリアル 概要: ● ライティングの影響を受けないマテリアルで 常に一定の外観を保つ ● アンリット:陰影をつけない、光を処理しない 用途: ● UI要素やアイコンなどライティングの影響を 受けたくないオブジェクトの表現したい時 UnlitMaterial:https://developer.apple.com/documentation/realitykit/unlitmaterial
Slide 15
Slide 15 text
3. PhysicallyBasedMaterial RealityKit で提供されるマテリアル 概要: ● 物理ベースレンダリング( PBR)に基づいた マテリアルで現実的な外観を再現 ● 現実世界の物体に光が反射する様子を 忠実に再現するマテリアルの一種 用途: ● 金属、プラスチック、木材などの質感を 持つオブジェクトを作成したい時 ノーマルマップを取り込んで凹凸による 陰影を表現するなど (_norとか名前に入ってるやつ。法線情報) PhysicallyBasedMaterial:https://developer.apple.com/documentation/ realitykit/physicallybasedmaterial
Slide 16
Slide 16 text
4. PortalMaterial RealityKit で提供されるマテリアル 概要: ● ポータルエフェクトを実現するための マテリアルでの空間への入り口を表現 ● ポータル:入り口。玄関 用途: ● ユーザーが別のシーンや空間に移動する ためのポータル(入り口)を表現したい時 PortalMaterial:https://developer.apple.com/documentation/realitykit/portalmaterial
Slide 17
Slide 17 text
5. ShaderGraphMaterial RealityKit で提供されるマテリアル 概要: ● Material X のフォーマットに基づき ノードベースでカスタマイズする方法 ● Reality Composer Pro の Shader Graph を 使用して作成するカスタムマテリアル 用途: ● アニメーションのような時間変化する 波の表現やノイズなどのテクスチャを表現したい時 ○ Swift コードから制御するパラメータから インタラクション性のある表現もできる ShaderGraphMaterial:https://developer.apple.com/documentation/realitykit /shadergraphmaterial
Slide 18
Slide 18 text
概要: ● Metal シェーダーを使用してマテリアルの外観や動作を カスタマイズできる 用途: ● iOS で高度なマテリアルのカスタマイズが必要とする時 (例:特殊な視覚効果や独自のライティングモデル) 6. CustomMaterial RealityKit で提供されるマテリアル CustomMaterial:https://developer.apple.com/documentation/realitykit/custommaterial
Slide 19
Slide 19 text
概要: ● Metalシェーダーを使用してマテリアルの外観や動作を カスタマイズできる 用途: ● iOS で高度なマテリアルのカスタマイズが必要とする時 (例:特殊な視覚効果や独自のライティングモデル) 。 🚨 注意: ● visionOS では使用できない。 ShaderGraphMaterial を使おう。 6. CustomMaterial RealityKit で提供されるマテリアル CustomMaterial:https://developer.apple.com/documentation/realitykit/custommaterial
Slide 20
Slide 20 text
7. VideoMaterial RealityKit で提供されるマテリアル 概要: ● ビデオをテクスチャとして使用するマテリアルで AVPlayerと連携して動画を再生 用途: ● 仮想スクリーンでの動画再生や 動的な背景の作成 VideoMaterial:https://developer.apple.com/documentation/realitykit/videomaterial
Slide 21
Slide 21 text
8. OcculusionMaterial RealityKit で提供されるマテリアル 概要: ● 視覚的には表示されず他のオブジェクトを 隠すために使用 ● オクルージョン: 遮蔽、覆い隠し 用途: ● 仮想オブジェクトが現実世界のオブジェクトの 背後に隠れるような表現をしたい時 OcclusionMaterial:https://developer.apple.com/documentation/realityki t/occlusionmaterial
Slide 22
Slide 22 text
まとめ iOS エンジニアが visionOS 開発を始めることをきっかけに マテリアルから理解 を進めてみた お話したこと ● マテリアルに関連する用語ごとにどの物理表現と対応するか整理した ● RealityKit にあるマテリアル全体を把握できるように用途と 合わせて紹介した
Slide 23
Slide 23 text
ご清聴ありがとうございました 良い visionOS 開発を! 🥽