EtherealEngine / etherealengine

iR Engine - Bringing us together on the open social spatial web. 🤖 🚀 👓 🕹ī¸ 🧑đŸŋ‍🚀
https://etherealengine.org
Other
703 stars 248 forks source link

[EPIC] Object geometry primitives in the editor #6776

Open HexaField opened 1 year ago

HexaField commented 1 year ago

It would be great to be able to throw primitive shapes into the scene in as easily as other objects, and even able to draw objects. Things like cubes, spheres, planes, etc

These should be saved out as GLTFs upon scene save

MVP

Primitives

Other Features

Advanced Features

SYBIOTE commented 9 months ago

for the primitives i can just let it be a model component, and add the respective shape/geometry on it in three js when the component is added to the scene

now i have a question do we create separate components for all the shapes , or just a single component, with a dropdown for the shapes?

SYBIOTE commented 9 months ago

we might want to rework the ground plane component into this primitive component

SYBIOTE commented 9 months ago

questions,

how do we handle csg for more than two entites interacting? union and intersect can be done on multiple, what is the expected behavior for difference on multiple entities? for the csg we could follow different UX

  1. for multiple entity interaction , we could follow what godot does

    • the csg component is the parent entity
    • entities with model under it form a group which apply the csg on each other, ordering matter, first child gets priority
    • entities with csg component under it, treat the group as a whole model and so on
  2. csg is constrained to two entities at a time

HexaField commented 9 months ago

we might want to rework the ground plane component into this primitive component

No, ground planes are not solid geometries and have special logic associated.

HexaField commented 9 months ago

for the primitives i can just let it be a model component, and add the respective shape/geometry on it in three js when the component is added to the scene

now i have a question do we create separate components for all the shapes , or just a single component, with a dropdown for the shapes?

It should just be the model component, and we have a special menu to add primitives. No need to add components for each.

SYBIOTE commented 9 months ago

got that, lets start with that

SYBIOTE commented 7 months ago

done with the geometry, its going to be a while before we can focus on the other and advanced features

SYBIOTE commented 3 months ago

I'm ready to integrate csg when needed