Upgrade to Pro — share decks privately, control downloads, hide ads and more …

マテリアルって何者?RealityKitで扱うマテリアル入門

 マテリアルって何者?RealityKitで扱うマテリアル入門

visionOS Engineer Meetup vol.10 オンラインLT会
https://visionos-engineer.connpass.com/event/355094/

iOSエンジニアで3Dモデリングに触れたことがなかった自身が、RealityKit に通してマテリアルに入門した内容をお話ししました。

マテリアルについてざっくり解説して、RealityKitのマテリアル全体を用途とともにご紹介しています。

#visionOS_LT

Avatar for Nao-RandD

Nao-RandD

May 20, 2025
Tweet

More Decks by Nao-RandD

Other Decks in Programming

Transcript

  1. SPEAKER Nao_RandD ᯅ / ナオランド @Nao_RandD • ⽇頃は iOS エンジニアとして働く

    • 最近縁あって、R&D 領域の取り組みで Apple Vision Pro 向けの開発に携わる • 3Dモデリングまわりは上記をキッカケ に初めて触れる
  2. 󰢐 話すこと 本日お話しする内容 • 3Dモデリングにおけるマテリア ルの入門的な解説 • RealityKit で扱えるマテリアル の種類

    󰢄 話さないこと • Shader Graph などについて 踏み込んだ解説 • Blender や Unity, Unreal Engine など RealityKit 以外を 利用したケースの解説
  3. 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 😇
  4. マテリアルとは 用語と物理的な表現との対応も知っておくと 󰢐 マテリアルの要素 対応するテクスチャマップ 表現していること 色(アルベド) Albedo Map /

    Base Color Map 物体の基本的な色を表現する。拡散反射。 光沢(スペキュラ) Specular Map 表面の光沢の強さや色を表現する。鏡面反射。 粗さ(ラフネス) Roughness Map 表面の滑らかさやザラザラ感を表現する。 金属度(メタリック) Metallic Map 金属・非金属を表現する。特有の光沢や色合い。 透明度(オパシティ) Opacity Map / Alpha Map 物体の透明度を表現する。光の透過。 発光(エミッシブ) Emissive Map 自ら光を放つ部分を表現する。 凹凸(法線) Normal Map 表面の細かな凹凸を視覚的に表現する。
  5. 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
  6. 1. SimpleMaterial RealityKit で提供されるマテリアル 概要: • 基本的なマテリアルで、色やテクスチャ、 ライティングに対応 用途: •

    シンプルなオブジェクトの表現や、 パフォーマンスを重視したい時 • デバッグで位置を調整したい時 SimpleMaterial:https://developer.apple.com/documentation/realitykit/simplematerial
  7. 2. UnlitMaterial RealityKit で提供されるマテリアル 概要: • ライティングの影響を受けないマテリアルで 常に一定の外観を保つ • アンリット:陰影をつけない、光を処理しない

    用途: • UI要素やアイコンなどライティングの影響を 受けたくないオブジェクトの表現したい時 UnlitMaterial:https://developer.apple.com/documentation/realitykit/unlitmaterial
  8. 3. PhysicallyBasedMaterial RealityKit で提供されるマテリアル 概要: • 物理ベースレンダリング( PBR)に基づいた マテリアルで現実的な外観を再現 •

    現実世界の物体に光が反射する様子を 忠実に再現するマテリアルの一種 用途: • 金属、プラスチック、木材などの質感を 持つオブジェクトを作成したい時 ノーマルマップを取り込んで凹凸による 陰影を表現するなど (_norとか名前に入ってるやつ。法線情報) PhysicallyBasedMaterial:https://developer.apple.com/documentation/ realitykit/physicallybasedmaterial
  9. 4. PortalMaterial RealityKit で提供されるマテリアル 概要: • ポータルエフェクトを実現するための マテリアルでの空間への入り口を表現 • ポータル:入り口。玄関

    用途: • ユーザーが別のシーンや空間に移動する ためのポータル(入り口)を表現したい時 PortalMaterial:https://developer.apple.com/documentation/realitykit/portalmaterial
  10. 5. ShaderGraphMaterial RealityKit で提供されるマテリアル 概要: • Material X のフォーマットに基づき ノードベースでカスタマイズする方法

    • Reality Composer Pro の Shader Graph を 使用して作成するカスタムマテリアル 用途: • アニメーションのような時間変化する 波の表現やノイズなどのテクスチャを表現したい時 ◦ Swift コードから制御するパラメータから インタラクション性のある表現もできる ShaderGraphMaterial:https://developer.apple.com/documentation/realitykit /shadergraphmaterial
  11. 概要: • Metalシェーダーを使用してマテリアルの外観や動作を カスタマイズできる 用途: • iOS で高度なマテリアルのカスタマイズが必要とする時 (例:特殊な視覚効果や独自のライティングモデル) 。

    🚨 注意: • visionOS では使用できない。 ShaderGraphMaterial を使おう。 6. CustomMaterial RealityKit で提供されるマテリアル CustomMaterial:https://developer.apple.com/documentation/realitykit/custommaterial
  12. 7. VideoMaterial RealityKit で提供されるマテリアル 概要: • ビデオをテクスチャとして使用するマテリアルで AVPlayerと連携して動画を再生 用途: •

    仮想スクリーンでの動画再生や 動的な背景の作成 VideoMaterial:https://developer.apple.com/documentation/realitykit/videomaterial
  13. 8. OcculusionMaterial RealityKit で提供されるマテリアル 概要: • 視覚的には表示されず他のオブジェクトを 隠すために使用 • オクルージョン:

    遮蔽、覆い隠し 用途: • 仮想オブジェクトが現実世界のオブジェクトの 背後に隠れるような表現をしたい時 OcclusionMaterial:https://developer.apple.com/documentation/realityki t/occlusionmaterial