0
\$\begingroup\$

I'm helping to build a game using the Unreal engine. My friends are working on other parts of the game such as UI, AI, npcs, camera and movement interpolation, etc.

My job is to work out the building system for the game. I want to be clear that this game will be a sandbox game like Garry's Mod or Minecraft, but that is overshadowed by its role as a 3D modelling software that is meant to replace the combined forces of Civillo, Civil 3D & Revit. I want the building system to be extremely advanced, but also extremely intuitive, because the player doesn't pan or rotate around objects, rather they move around and look at them. The building system will be based off control lines, and the schematics that can be swept across those control lines can be customized within the game. I also want the world file to save as a dwg file + a player data file. What do I need to know to allow players to edit assets from within a game in the unreal engine?

I don't want them to upload assets that are otherwise modeled in blender or use any API's which depend on existing 3D modelling software because that would rather defeat the point.

\$\endgroup\$
2
  • \$\begingroup\$ I'm unclear why you want DWG as a file format, specifically? For a start, DWG is a proprietary format. Even ignoring that, the requirements for CAD models and mesh rendering have some overlap but with distinct sets of requirements. (Are you going to make all your meshes water tight so they're useful in CAD? Do you need to use GPU features like tessellation (or even normal mapping?) Do those have to be calculated and represented in the CAD model?) \$\endgroup\$
    – Basic
    Oct 23, 2023 at 10:38
  • 1
    \$\begingroup\$ This question is a bit too broad to answer well at the moment. In most engines, this would be achieved by building a "procedural mesh" — that is, an instance of the engine's 3D mesh data type, where code you write (or blueprint script) is responsible for creating the list of vertices and the information about which ones are connected by faces. Some engines or add-ons may offer higher-level tools for this, but in their absence you may be responsible for writing all the math to figure out vertex placement yourself. Do you need help with an aspect of that math, or with Unreal scripting? \$\endgroup\$
    – DMGregory
    Oct 23, 2023 at 12:03

1 Answer 1

1
\$\begingroup\$

What do I need to know to allow players to edit assets from within a game in the unreal engine?

There is a whole lot you would need to learn for a feature like that.

  1. How to use the Unreal Engine in general, because that's a foundation for each of the following steps.
  2. How to build UIs, because you are probably going to need some tool palette.
  3. How to create and change a procedural mesh at runtime.
  4. How to detect mouse interactions in the game's viewport and associate them with a specific vertex, edge or surface of the procedural mesh the player is pointing at.
  5. How to create a shader that highlights individual vertices, edges or surfaces of a 3d mesh, because you probably need some way to visualize what the player has selected.
  6. How to change textures at runtime, because you are probably going to need a way to paint textures.
  7. How to save mesh data and textures to a file. Either by implementing a standardized 3d model format of your choice or by inventing one of your own.
  8. How to load mesh data and textures from those files.

This is really just scratching the surface, though. The tools you want to "replace the combined forces of" are sophisticated pieces of software that had probably a whole lot of professionals working on them for years. Replicating their whole feature-sets is probably not something you can do on your own over the course of a couple weekends.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .