DeepMotionEditing / deep-motion-editing

An end-to-end library for editing and rendering motion of 3D characters with deep learning [SIGGRAPH 2020]
BSD 2-Clause "Simplified" License
1.58k stars 256 forks source link

How to convert Quaternion to 6 float basis (truncate 6d) #161

Closed fire closed 3 years ago

fire commented 3 years ago

Hi,

Are there any thoughts to how to convert QUAT to a 6 float Basis (truncated).

I noticed much of the code base assume 3 or 4 channels. Will it work to simply increase the channels to 6?

PeizhuoLi commented 3 years ago

Hi, from our experiments it should work. We simply changed the number of channels from 3 to 4 when immigrate our model from Euler angle to quaternion. However, you may need to manually "normalize" the output. For example, we manually normalize the quaternion output to unit quaternion since our network doesn't guarantee to generate unit quaternion. I imagine similar "normalization" should be applied to 3D representation.

fire commented 3 years ago

Thanks for answering the question. I'll close the issue for now.