0
\$\begingroup\$

I am making a 3D game in OpenGL from scratch. In this game I have a ship with stuff inside it. How can I attach the stuff to the ship in the CAD program and maintain that hierarchy in my own game?

For example say I have a fire extinguisher in my ship that mounts on the wall. There are two approaches both with problems.

Solution 1: Save fire extinguisher and ship as separate obj files.

Problem: How can I place the fire extinguisher in the proper place inside my ship in my game? With hundreds of objects manually placing them is completely infeasible. I want to arrange stuff in my CAD and load it into the game and be done.

Solution 2: Save fire extinguisher as its own group inside the ship obj file.

Problem: Now I can't reuse the fire extinguisher in other ships. The obj files for game assets will balloon out of control in size with new instances of reused sub-objects.

Is there some way I can specify the position of an external object? A 3d point in my ship obj file representing the origin of another obj model?

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Use another file format that allows you to reference other objects instead of cloning them. I don't know any common ones used in game dev, unfortunately. I know OpenSceneGraphs (osg) and OpenFlight (flt) do it like that. \$\endgroup\$ Commented Sep 13, 2017 at 14:11
  • \$\begingroup\$ AlexandreVaillancourt I could easily design my own. Maybe if I specified an exact group naming convention and then wrote a program to scan obj files. But how can I convert object centric vertex coordinates to instance location vertex coordinates? \$\endgroup\$ Commented Sep 13, 2017 at 14:48
  • 1
    \$\begingroup\$ "Use another file format that allows you to reference other objects..." That is the perfect answer. The details depend on what you want to/ can use. \$\endgroup\$ Commented Sep 15, 2017 at 10:47

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.