allenai / Holodeck

CVPR 2024: Language Guided Generation of 3D Embodied AI Environments.
https://yueyang1996.github.io/holodeck
Apache License 2.0
318 stars 28 forks source link

Why XZ plane is always used for placement? #48

Closed pmj110119 closed 1 month ago

pmj110119 commented 1 month ago

Thanks for your great work!

I have a question regarding the selection of object dimensions for 2D layout generation. I noticed that you consistently use the X-axis and Z-axis as the placement plane (code).

Could you explain how you determine that the XZ plane is the most suitable for placement, rather than other planes like XY or YZ?

YueYANG1996 commented 1 month ago

This is inherited from the AI2-THOR that y axis is the vertical axis and x-z is the floor. When doing layout design, the most suitable way is from the top-down view, which is the XZ plane.

pmj110119 commented 1 month ago

Thanks for your reply.

Does this mean that the pose of all object assets (including objaverse) must be aligned (with the y axis pointing upwards)?

YueYANG1996 commented 1 month ago

Not necessarily, you can still change the rotation of the object to anything you want. But in the default setting in this code base, we aligned the objects to the y axis.

For smaller objects, we add kinematics to them, so their rotation will change by gravity.