Oculus Quest Development with Houdini Unity and USD

[vc_row type=”in_container” full_screen_row_position=”middle” column_margin=”default” scene_position=”center” text_color=”dark” text_align=”left” overlay_strength=”0.3″ shape_divider_position=”bottom” bg_image_animation=”none”][vc_column column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_link_target=”_self” column_shadow=”none” column_border_radius=”none” width=”1/1″ tablet_width_inherit=”default” tablet_text_alignment=”default” phone_text_alignment=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][image_with_animation image_url=”5687″ alignment=”center” animation=”Fade In” img_link_large=”yes” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default”][divider line_type=”No Line” custom_height=”10″][vc_column_text]

Oculus Quest Development with Houdini, Unity and USD

Part One

This is the first in a series of articles where I look at Oculus Quest Development with Houdini, Unity, and USD. USD is Pixar’s comprehensive scene format, Universal Scene Description. I first saw the power of USD a few years ago during a Pixar demonstration that showed its power. For example, it was able to render scenes with 20+ million polygons in real-time. Now that Houdini 18 has Solaris, which is built on USD, it is now possible to easily read and write USD files.

Oculus Quest Development with Unity

First, let’s look at the Oculus Integration package in Unity. We want to make sure that we have the correct settings. In my examples, I am working in Unity 2019.3.f6. First, I always switch the platform to Android when creating a new project for the Quest. Next, I set the texture compression to ASTC. This can take time depending on how many textures there are in the project.

[/vc_column_text][divider line_type=”No Line” custom_height=”10″][image_with_animation image_url=”5692″ alignment=”center” animation=”Fade In” img_link_large=”yes” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default”][divider line_type=”No Line” custom_height=”10″][vc_column_text]

Oculus Quest Player Settings in Unity

 

Next, we want to make sure the player settings are correct. With the player settings open we want to make sure of the following:

  • Remove the Vulkan API from the Graphic APIs
  • Color Space is set to Linear
  • That you have the Oculus SDK installed in the XR settings.

Stereo Rendering Mode – I have Single Pass selected. I have this based on that Multi-Pass has been broken so far. Oculus released a new version February 6th but I have not yet tested Multi-View[/vc_column_text][divider line_type=”No Line” custom_height=”10″][vc_row_inner column_margin=”default” text_align=”left”][vc_column_inner column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_shadow=”none” column_border_radius=”none” column_link_target=”_self” width=”1/2″ tablet_width_inherit=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][image_with_animation image_url=”5696″ alignment=”center” animation=”Fade In” img_link_large=”yes” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default”][/vc_column_inner][vc_column_inner column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_shadow=”none” column_border_radius=”none” column_link_target=”_self” width=”1/2″ tablet_width_inherit=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][image_with_animation image_url=”5698″ alignment=”center” animation=”Fade In” img_link_large=”yes” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default”][/vc_column_inner][/vc_row_inner][vc_row_inner column_margin=”default” text_align=”left”][vc_column_inner column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_shadow=”none” column_border_radius=”none” column_link_target=”_self” width=”1/1″ tablet_width_inherit=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][vc_column_text]

Installing USD in Unity

Installing Universal scene description is easy. First, go to window / package manager. This will open Unity’s Package Manager. Under Advanced, we need to make sure that show preview packages are checked. Lastly, now that we have preview packages selected, all we have to do is install USD. Find USD in the list and click install.

Lastly, if you don’t want to use the Package Manager you can always pull from Unity’s USD Git Hub[/vc_column_text][/vc_column_inner][/vc_row_inner][divider line_type=”No Line” custom_height=”10″][image_with_animation image_url=”5699″ alignment=”center” animation=”Fade In” img_link_large=”yes” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default”][divider line_type=”No Line” custom_height=”10″][vc_column_text]Once USD has been installed, a new USD menu will appear. This is where we can import and export USD files.  Unity gives us the option to import a USD as a game object, a prefab,or a timeline clip. Furthemore, Unity gives us the option to export USDZ,the zipped format for USD.[/vc_column_text][/vc_column][/vc_row][vc_row type=”in_container” full_screen_row_position=”middle” column_margin=”default” scene_position=”center” text_color=”dark” text_align=”left” overlay_strength=”0.3″ shape_divider_position=”bottom” bg_image_animation=”none”][vc_column column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_link_target=”_self” column_shadow=”none” column_border_radius=”none” width=”1/1″ tablet_width_inherit=”default” tablet_text_alignment=”default” phone_text_alignment=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][vc_column_text]

USD in Houdini with Solaris

[/vc_column_text][/vc_column][/vc_row][vc_row type=”in_container” full_screen_row_position=”middle” column_margin=”default” scene_position=”center” text_color=”dark” text_align=”left” overlay_strength=”0.3″ shape_divider_position=”bottom” bg_image_animation=”none”][vc_column column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_link_target=”_self” column_shadow=”none” column_border_radius=”none” width=”1/1″ tablet_width_inherit=”default” tablet_text_alignment=”default” phone_text_alignment=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][vc_column_text]

Other Houdini Tutorials:

[/vc_column_text][/vc_column][/vc_row][vc_row type=”in_container” full_screen_row_position=”middle” column_margin=”default” scene_position=”center” text_color=”dark” text_align=”left” overlay_strength=”0.3″ shape_divider_position=”bottom” bg_image_animation=”none”][vc_column column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_link_target=”_self” column_shadow=”none” column_border_radius=”none” width=”1/3″ tablet_width_inherit=”default” tablet_text_alignment=”default” phone_text_alignment=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][vc_column_text]

Intro to the Houdini Interface[/vc_column_text][divider line_type=”No Line” custom_height=”10″][image_with_animation image_url=”5533″ alignment=”” animation=”Fade In” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default” img_link=”https://jordanhalsey.com/into-to-houdini-interface”][/vc_column][vc_column column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_link_target=”_self” column_shadow=”none” column_border_radius=”none” width=”1/3″ tablet_width_inherit=”default” tablet_text_alignment=”default” phone_text_alignment=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][vc_column_text]

Houdini Terrains

[/vc_column_text][divider line_type=”No Line” custom_height=”10″][image_with_animation image_url=”5532″ alignment=”” animation=”Fade In” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default” img_link=”https://jordanhalsey.com/houdini-terrains-with-height-fields”][/vc_column][vc_column column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_link_target=”_self” column_shadow=”none” column_border_radius=”none” width=”1/3″ tablet_width_inherit=”default” tablet_text_alignment=”default” phone_text_alignment=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][vc_column_text]

Simple Point Transformations

[/vc_column_text][divider line_type=”No Line” custom_height=”10″][image_with_animation image_url=”5530″ alignment=”” animation=”Fade In” hover_animation=”none” border_radius=”none” box_shadow=”none” image_loading=”default” max_width=”100%” max_width_mobile=”default” img_link=”https://jordanhalsey.com/point-transformations-in-houdini”][/vc_column][/vc_row][vc_row type=”in_container” full_screen_row_position=”middle” column_margin=”default” scene_position=”center” text_color=”dark” text_align=”left” overlay_strength=”0.3″ shape_divider_position=”bottom” bg_image_animation=”none”][vc_column column_padding=”no-extra-padding” column_padding_position=”all” background_color_opacity=”1″ background_hover_color_opacity=”1″ column_link_target=”_self” column_shadow=”none” column_border_radius=”none” width=”1/1″ tablet_width_inherit=”default” tablet_text_alignment=”default” phone_text_alignment=”default” overlay_strength=”0.3″ column_border_width=”none” column_border_style=”solid” bg_image_animation=”none”][vc_column_text]

Houdini | Touchdesigner | Unity | Unreal 

[/vc_column_text][/vc_column][/vc_row]

en_USEnglish