my goal is to create a semi-procedural building (with interiors too) and use it in UE4.
As far as I understand, for a good performance in UE I should make my building modular, and in a Houdini-UE4 workflow this means using Object Instances.
I've some questions regarding instances:
- Let's say myBulding.OTL inside UE4 has 600+ instanced windows: when I baked it down, the new blueprint will features a SINGLE “instanced mesh component”. This component contains my 600+ window instances.
Problems arise when I want to texture them and have a little bit of control and variation over my material applied to my instances. “PerInstanceRandom” is useful but not enough.
For example: what if I want a color progression (from black to white) on my instances? What if I want specific instances (like group 50-100) to be assigned to a specific Normal Map inside my base material? A “PerInstanceIndex” would be super-useful.
But as far as I understand there's no way the material can access the “Index” of the currently evaluated Instance (which is weird because it already can get the “PerRandomIstance”).
Also, if I move to the blueprint class itself, I can only use the “GetInstanceCount” function to retrieve the total amount of instances inside the “instanced mesh component” created by Houdini. But there's no way I can retrieve the current Index. So I cannot perform any per-instance customization inside my material. And of course I can't assign a totally different material to a specific instance.
1A) Can you confirm it or am I missing something trivial?
1B) Any workaround? - I guess it's an already known issue: in case of digital assets with lots of different type of instances (like a procedural building would be with instanced doors, windows, etc etc), it would be super useful if their name could be kept after the bake. Now you'll get a generic “InstancedStaticMesh0,1,2,3,etc.”
thanks for any help!