Vertex manipulation

Is there currently any way in blueprints or C++ to manipulate vertices in ways a 3d modeling application might? For example, can I cut into an object’s geometry? Use Max-like boolean geometry logic? Can I manipulate UVs inside of Unreal?

Hi,

Short answer: No.
You cannot change the geometry of a static mesh (what the term “static” actually tries to convey). (Except for scaling of course).

However, you can change the apperance of the geometry by materials with position offsets.
Bear in mind however that this will only affect the rendering. The underlying geometry, including collision hulls, stays static.

If you want to use CSG based geometry, you need to use brushes. However, their vertices are also static at runtime…

As for the UVs: You can generate them inside the mesh editor:

CreateUV.jpg

However, you cannot modify them. Try to generate them inside your 3d application as the result will most likely be superior to the UE4 auto UV maps.

Cheers,
Klaus

this is what i want too, I would love to have most of the features within a package like Maya, inside the UE engine itself… that would be friggin awesome and would save countless hours of exporting and mapping then exporting and mapping… creating objects within the engine seems to apply physics and basic mapping as you create them… I wonder if a plug in might be possible eventually ?

What is the problem with using two different applications for that?
I like the fact that two companies try to make the best in their respective fields as this means better quality overall.

What would a plugin achieve?
Go to a static mesh in your content browser, rightclick and choose “edit” and vouila, the content opens up in your 3d modelling app.

I have no issue with fixing up my models in 3ds Max and reimporting. That’s a fine pipeline. What I want to do is procedural building modeling. Keep the modular workflow in the editor but be able to cut out pieces of walls for doors and windows instead of having to use a one-size-fits-all approach. This is possible in Unity, so I was hoping it might be possible in UE4. That does not lend itself well to the model->import pipeline.

Thank you for the information about UVs, though. Maybe there is something I can do to this end with BSDs that I can the convert to a static mesh and generate UVs for them. Halfway there!

The source code is available so you could make something like that if you wanted, but the engine doesn’t support it by default. In UDK for instance there’s a procedural building tool like that, but it’s not in UE4.

Yes, the answer is always “make it yourself, you have the source code.” Thank you.

Well, it is kind of the short answer. The full version of the answer goes like this:

“UE4 is not final. The product is still being improved. The feature might come in the future. Either by someone from Epic, or by someone from the community. If you dont want to wait until then, make it yourself, you have the source code.”

Cheers,
Klaus

Let’s not be passive-aggressive. That’s not the community I want to be a part of. Thank you.

Hummm

Not keen of the idea of adding sub-object editing directly into UE4. More of the mind to make UE4 much simpler to use as a world builder that includes connectivity between applications based on preferences.

Plugin additions excellent idea but I vote for full FBX specification compliance rather than a dozen different formats as a fork of what FBX already does.

Better still how about “send to” support that ping pongs stuff back and forth between host application and UE4? Makes things transparent as to tool use and apps like 3ds Max and Maya become symbiotic and opens the pipeline to other middle wear solutions.

I agree with all of this, but it doesn’t quite work for the situation I outlined earlier. Being able to “live-edit” objects is necessary for cutting out spaces for windows and doors if you want things to remain modular.

While a connection between 3d application and UE4 would be beneficial, I feel like it’s probably low-priority since its effects can be achieved with a few extra steps - as KVogler pointed out, right-clicking in the content browser comes with “Edit” and “Reimport” commands so interoperability with any 3d suite is pretty easy. I also feel as if people will see support for Max or Maya and ask for it in their favourite applications, so the current one-size-fits-all implementation works.

True but an opportunity for a third party plug in.

As for making edits to make things fit there is a simple work around of importing your facade, or anything else, into UE4, line up your modular components as floaters and then export the fab out to FBX as a selection. You can then import into something like a 3ds Max and edit in your knock outs or even custom fit already made assets.

Proof of concept 100% edited using 3ds Max.

The reason why I do it this way is simple. My Kung-Fu with 3ds Max is strong and I’m a complete putz when it comes to building stuff in UE4 but if someone wants to do sub-object editing in UE4 then OK but it’s not a small project for something that can already be done.

Just saying. :smiley:

You can do that with brushes. Thats what they are for.
The way static mesh data is stored and accessed by the engine does not lend itself for an on-the-fly CSG computation.

The best way to do this would be to go with a randomized modular system.

Yes, I’m no stranger to 3ds Max and its workflow. The concern here is performance - modular instances = less drawcalls than pre-built static meshes. Though…

…clearly that is not in the cards and I get that. We can lock this thread at this point.

If I do go forward with this system in UE4, it’ll be using brushes and generated UVs, but that’s not really much better than bringing in static meshes from 3ds Max. So it’s kind of a moot point.

Sure, if you want a randomized system. My vision for this would be more about making it easier to hand-build buildings, akin to The Sims. Not at runtime, mind you, but as a tool for level designers.

Let’s put Blender inside UE4 editor! -_-

That was funny joke!

Actually, may not be true.

Anyway, how to store and access that data? Chop them on the fly from original meshes? Store chopped meshes on hard drive? Precalculate them on level loading?

Friend, I don’t want to accuse you of being uncouth but if your tone is as snarky as it comes off, know that I don’t appreciate it. Epic has said time and again to be civil and welcoming as a community, not elitist and condescending. Check yourself. I never asked Epic to make this, I only asked if there were vertex manipulation tools already built in. Please, no one post again if you’re going to be rude and/or not read my posts.

To answer the questions you posed, the idea is to have a set of static mesh instances for walls that have no cuts. Obviously, we would need to save new static meshes to disk for walls with cuts in them, but the idea to have as much instanced geometry as possible without having to go back and forth with the 3d package and allow for placing doors/windows at any height instead of a fixed height you would have to set in your 3d package.

Well from a pure observation stand point I’ve yet to see anything that I would consider a possible performance hit using edit in place.

I’m not suggesting that having edit in place in UE4 would not be a nice feature but suggesting it can already be done through the addition of a few additional steps and at the cost of a few extra seconds.

Performance wise I was concerned as well. Easy to get carried away in Max building stuff but after doing the numbers don’t add up to a hill of beans. The proof of concept I posted, as that’s what it really is, the total count for the facades is 40k tris and the largest block being 2.4k tris.

This would be incredible if it was possible. There is a lot of room to be explored when it comes to generative and parametric geometry in games - just look at Grasshopper3D and Processing.

Being able to generate and program Processing/GH types of textures and geometry that changes like ferro fluid - would result in some pretty mind blowing visuals.