Skip to content

Commit

Permalink
Updated docs re the VR template and removing OpenXR
Browse files Browse the repository at this point in the history
  • Loading branch information
JimSimons-UH committed Jul 13, 2022
1 parent 9b53aaf commit 61371da
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 47 deletions.
77 changes: 31 additions & 46 deletions Documentation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1125,21 +1125,7 @@ Metahuman support

You can use automapping functionality along with a custom pawn to use
tracked hands combined with a metahuman. This can be run in VR as an
embodied avatar or in desktop mode. There's also an example project with
a couple of metahumans and an example scene ready made.

Using the example project
-------------------------

The example project is available on the Unreal Marketplace. Run the
default map in VR mode to access the preset metahumans. A male and
female metahuman is mapped. Import your own metahumans into the project
and change the **MetahumanBPClass** member of
**IEPawnHands_Metahuman_Hadley** to your imported metahuman blueprint.
|image3|

Copy/rename **IEPawnHands_Metahuman_Hadley** and migrate the pawn to a
new project for re-use.
embodied avatar or in desktop mode.

Importing and mapping a metahuman from scratch
----------------------------------------------
Expand All @@ -1152,32 +1138,32 @@ Importing and mapping a metahuman from scratch
**UltraleapTracking/Metahumans/IEPawnHands_Metahuman**
- Move the newly created pawn class into your project's content folder
- Set the **MetahumanBPClass** member of your newly created class to
your imported Metahuman blueprint (for example HadleyBP) |image4|
your imported Metahuman blueprint (for example HadleyBP) |image3|
- Locate and create a new animation blueprint from your metahuman’s
skeleton. |image5| |image6|
skeleton. |image4| |image5|
- Move the newly created animation blueprint outside of the metahumans
common folder
- Reparent the blueprint to **BodyStateAnimInstance**. |image7|
- Reparent the blueprint to **BodyStateAnimInstance**. |image6|
- Select **BOTH HANDS** as the **auto map target** and **Ignore Wrist
Translation** and click **Auto map**. |image8|
Translation** and click **Auto map**. |image7|
- Copy the nodes from the template
**UltraleapTracking/Metahumans/MetahumanTemplate** provided (anim
graph and eventgraph) into your anim blueprint. |image9| |image10|
graph and eventgraph) into your anim blueprint. |image8| |image9|
- You can use select all to copy paste events
- Compile your new animation blueprint. At this point there will be
missing variable errors
- Right click on the missing Metahuman Extensions variable and choose
**Create variable for Metahuman Extensions** |image11|
**Create variable for Metahuman Extensions** |image10|
- Connect up the last pin in the animation graph to the **Output Pose**
node. |image12|
node. |image11|
- The animation blueprint should now compile and be ready for use.

Setting up the metahuman pawn
-----------------------------

- Set the BodyAnimBPClass in your new pawn to your newly created anim
class |image13|
- Set you new pawn as the default pawn in your game mode |image14|
class |image12|
- Set you new pawn as the default pawn in your game mode |image13|
- The metahuman will now run rigged in VR in your scene
- Note the pawn starts with the metahuman hidden, you have to select
one of the **calibrate height** options from the hand menu to show
Expand All @@ -1191,12 +1177,6 @@ animation blendspace 2D. See the example project for more information.
The example project uses retargeted animations from the default UE4
mannequin.

Lip sync
--------

See the **FaceLipSync_AnimBP** blueprint in the example project on the
marketplace for a setup where the mouth moves with the mic input.

FAQs
----

Expand Down Expand Up @@ -1268,7 +1248,7 @@ modified.

- Open the **IELowPloy_Rigged_Hand_Left_Physics** asset from
**InteractionEngine/Pawn/IELowPoly_Rigged_Hand_Left_Physics.uasset**
|image15|
|image14|

- Ctrl/Multi-Select all the joints for the Ring and Pinky fingers

Expand Down Expand Up @@ -1320,13 +1300,19 @@ There's several steps to build for this setup:
(https://developer.pico-interactive.com/docs/en/12058/unreal-xr-sdk-quickstart/)
- In Project Settings, switch on arm 64 bit then switch off arm 32 bit
support for Android
- In Project Settings, disable Vulkan mobile support OR turn off
multiview
- In Project Settings, disable Vulkan mobile support OR turn disable
the OpenXR plugin
- In Project Settings, set the Min And Max Android SDK to 29
- Uncheck the Oculus OpenXR plugin
- Package for ANDROID_ASTC and deploy using the install batch file
generated by Unreal

Note: if using Vulkan support, the OpenXR plugin must be turned off.
There's a dependency between the default UE VR template and OpenXR
(Oculus controller models) so these dependencies need changing or the VR
template folders need removing from the project in order to package
without OpenXR.

Oculus Quest/Cross platform
---------------------------

Expand Down Expand Up @@ -1368,18 +1354,17 @@ issues section <https://github.com/ultraleap/UnrealPlugin/issues>`__
.. |ensure input is received| image:: http://i.imgur.com/zWMrHxn.png
.. |image1| image:: https://i.imgur.com/Qfrtilt.png
.. |image2| image:: https://i.imgur.com/Op7lClc.png
.. |image3| image:: https://imgur.com/NzHLdCp
.. |image4| image:: https://imgur.com/NzHLdCp.png
.. |image5| image:: https://imgur.com/7X9bewG.png
.. |image6| image:: https://imgur.com/ET3Z7YF.png
.. |image7| image:: https://imgur.com/JR4UV03.png
.. |image8| image:: https://imgur.com/P51oMTa.png
.. |image9| image:: https://imgur.com/Q1n3GM7.png
.. |image10| image:: https://imgur.com/lraQXBv.png
.. |image11| image:: https://imgur.com/yqfYWFq.png
.. |image12| image:: https://imgur.com/sLqFeb4.png
.. |image13| image:: https://imgur.com/acqWA8f.png
.. |image14| image:: https://imgur.com/YP0obW0.png
.. |image15| image:: https://i.imgur.com/VHTrYet.png
.. |image3| image:: https://imgur.com/NzHLdCp.png
.. |image4| image:: https://imgur.com/7X9bewG.png
.. |image5| image:: https://imgur.com/ET3Z7YF.png
.. |image6| image:: https://imgur.com/JR4UV03.png
.. |image7| image:: https://imgur.com/P51oMTa.png
.. |image8| image:: https://imgur.com/Q1n3GM7.png
.. |image9| image:: https://imgur.com/lraQXBv.png
.. |image10| image:: https://imgur.com/yqfYWFq.png
.. |image11| image:: https://imgur.com/sLqFeb4.png
.. |image12| image:: https://imgur.com/acqWA8f.png
.. |image13| image:: https://imgur.com/YP0obW0.png
.. |image14| image:: https://i.imgur.com/VHTrYet.png
.. |Windows Packaging| image:: https://img.youtube.com/vi/pRzm0M_a8uY/0.jpg
:target: https://youtu.be/pRzm0M_a8uY
6 changes: 5 additions & 1 deletion Documentation/Documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -762,11 +762,15 @@ The Ultraleap Tracking Plugin builds and deploys to Pico headsets. There's sever
- Download the PicoXR plugins for Unreal.
- Follow the getting started guide for setting the project settings for the Pico (https://developer.pico-interactive.com/docs/en/12058/unreal-xr-sdk-quickstart/)
- In Project Settings, switch on arm 64 bit then switch off arm 32 bit support for Android
- In Project Settings, disable Vulkan mobile support OR turn off multiview
- In Project Settings, disable Vulkan mobile support OR turn disable the OpenXR plugin
- In Project Settings, set the Min And Max Android SDK to 29
- Uncheck the Oculus OpenXR plugin
- Package for ANDROID_ASTC and deploy using the install batch file generated by Unreal

Note: if using Vulkan support, the OpenXR plugin must be turned off.
There's a dependency between the default UE VR template
and OpenXR (Oculus controller models) so these dependencies need changing or the VR template folders need removing from the project in order to package without OpenXR.

### Oculus Quest/Cross platform

The Ultraleap Tracking Plugin builds and deploys to Oculus Quest headsets and can access the Quest's native handtracking data via OpenXR.
Expand Down

0 comments on commit 61371da

Please sign in to comment.