Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

How do you make a custom arm model for 3dof controller?

InfigmentStudiosInfigmentStudios Posts: 26
Brain Burst
edited October 2017 in Oculus Go Development
I was watching this talk from Oculus Connect and the speaker said it was possible to create a custom arm model. He didn't specify how to do that though. Does anyone know how to approach this or has anyone done this before? Thanks.

EDIT: I actually rewatced the video, and he mentioned a blog post with some code found here. Now I just have go though the not-so-simple code and figure out how to do what I want.


  • RegisisRegisis Posts: 3
    Hi PhoenixAlexander, I was wondering if you ever found the code for that? Thanks! 
  • oculus_gaboroculus_gabor Posts: 40 Oculus Staff
    Hi guys,

    That's my talk! I'll cover some broad resources on where to get started. Making an arm model is a fairly high level, ambigous task. There is no right or wrong way to do it. 

    If you want to develop your own arm model, a logical place to start would be to keep two arm poses memory, one fully relaxed, one fully flexed. The actual arm pose would be an interpolation between these two based on the pitch of the controller (interpolating each joint by the pitch). After this is working, you could direct the orientation of the model based on the yaw of the controller. 

    Starting out, i think building a custom arm model might be a bit too ambitious. A more valuable exercise would be to try extending the arm model Oculus provides, and in doing so learn how that arm model works. Once you have that knowledge, building one from scratch should be a lot easier.

    The custom arm models used in the talk were built on top of the code samples provided in this blog post. The blog post is a C# port of the arm model included in the SDK. The post goes into detail about where you can find the actual C++ code we use for the arm model if needed.

    The code provided in either of the above resources is a great place to get started when building arm models. Daydream elements also has relevant code & they recently added interactive demos, which might be worth checking out.

    If you have any specific question weather that be about what some code is doing or needing guidance on how joints would be better loosened or tightened for a specific action, let me know!
  • RegisisRegisis Posts: 3
    Thanks @oculus_gabor for your input. It does seem like a daunting task to begin exploring.

    I've also come across a post which describes in a bit more detail the model in question and gives some code samples. I haven't gone through them in detail but it seems quite promising. http://www.gpxblog.com/2017/04/build-custom-arm-model-for-vr.html 
  • oculus_gaboroculus_gabor Posts: 40 Oculus Staff
    Wow, that is a fantastic article! I have not seen it before. I took a cursory glance at the code in the article, looks solid.

    Thanks for sharing!
  • kbabilinskikbabilinski Posts: 1 Oculus Start Member
    This is an old thread but in case anyone else is trying to solve the same issue. I posted a short article about porting the Google daydream arm model to the Oculus go. It also includes a link to the complete package :https://medium.com/@kbabilinski/porting-daydreams-3dof-arm-model-to-oculus-go-and-beyond-16e081bab11e
Sign In or Register to comment.