Try it.
Its faster than asking and its something you need to learn about the engine anyway - probably along with defining your own custom collision channels.
Overall, collision channels reflect your object defined collision - so no hull at all in an object means no response unless Complex as Simple is enabled.
There are some exceptions to that by using specific kismet functions or line traces.
But it generally applies everywhere.
Yes, but woould you rather load a wall made of bricks by putting the bricks up one at a time, or just saying “let this be a wall” and being done with it?
Same concept here, but for the engine.
If you build things smart, and you have 1 wall made from 1000 bricks which are merged it loads fine.
If you build things sillu and/or forget to merge, you won’t be able to get above 2fps much past the 10th wall you create.
Instancing doesn’t really matter either - it does in the sense you can have tons of bricks before you get down go 2fps.
But it doesnt because the dofference between 1000 drawcalls and 1 is so drastic that the one call will always win out.
See above. Usually no. Depends on how that collision is being looked at (and how that mesh is configured).
The overall collision will stop the player, but probably doesnt help in sorting out what mesh out of the many was impacted with.
For that, you need some kind of a map if you go with the swapping and removal of collisions.
A good idea is to just re-map your object to the new collision so that the hit can determine the same information the individual meshes provide.
I do think using Actor Merge will actually end up doing this for you on the physmat as well but i only think so and do not know this to be a fact.
The textures are all adjusted and re-calculated when you merge. Physmat definition is kind of like a texture, which is why i would assume it just gets re-calculated as well.
Good question - no, unless you use complex as simple, then yes.
Poly count should be as low as you can always, but with Nanite I suppose its no longer as big of a deal breaker as it once was.
In terms of hit results, the face you hit is automatically returned. Makes no difference to the engine id you have a billion faces or one, since a line trace or any hit really, will always return just the one face where the hit occurred.
(Im sure something for hadinling absolute center of a vertex instead of a face is done internally somewhere, but I don’t think i have ever seen that practically occur?).
So to recap:
Collision channels are definitions that still requires you to have collision set up and marked at the proper channel.
What Nanite may or may not do internally to get you that hit result information is a separate story.
If enabled, the material is aggregated and adjusted by the system. This should empower to run a trace on it and get a response on the Nanite object which uses a collision that is likely automatically composed of whatver objects the nanite mesh is made up of.
Maintaing said collision as simple as possible will indubitably always be beneficial.
Merging actors as desired to promote easier procsssing times will always almost always be beneficial.
Tris count on individual meshes doesnt matter too terribly, but it shpuld always be kept the bare required minimum as a matter of general best practice.
Swapping out collision from many objects to some other hull requires that you either:
A) merge the objects, create the new mesh, and re-create the collision hull.
Or
B) create a custom X/Y/Z to instance mapping that enables you to translate info from the hit location to the instance that needs to be affected - and, in the case of a wall where that is simple, to the spot whithin that instance where you will need to fetch a new hit result.
Hope that clears it up.
One addedndum (likely the reson for the confusion):
Line trace hit result will hit/miss based on defined collision.
After that, it breaks apart the underlying LOD0 mesh to return the info of the face + normal you factually hit.
Therefore, you can have the simplest of collisions (one box) to cover a mesh made up of a googleplex of tris, and (assuming you could render it and run it) get a result of the individual face that was hit under that simple initial box collision.
The kismet line trace (default function for BP) is what is in charge of doing this - but it will only do it if the initial collision is true…