I’m developing a VR game using the VR Expansion plugin. If you’re unfamiliar, the VR support UE4 features out of the box basically has not changed at all in 4+ years. If you create a VR template project, the two skeletal meshes used for your hands are actually two right hand meshes, with the left one simply using inverse Y scaling to flip it around. That’s fine for basic stuff, but as soon as you want to do interesting things with hands in VR like give them collision or move them around, attach them to things, etc., you’ll find that UE4 gets extremely wonky when dealing with inverse scaling and collision or position. To the point that every time you use one of those things, you would need to do your offsetting and calculations one way for the right hand, and another way for the left hand to account for the long-standing bug. The VR Expansion plugin dealt with this by having a user actually manually flip the mesh in a 3D editor, as well as flipping the skeleton.
About 2 weeks ago, I bought a VR hands pack asset from the Marketplace, only to find out that it consisted solely of right hand assets. After some discussion, I found out that pretty much every VR hands asset pack is like this.
So using this pack means flipping the meshes. I asked the asset’s creator about it, and they responded saying they wanted to help, but I haven’t heard back from them in nearly 2 weeks, so I’m on my own. I’ve gotten as far as downloading Blender, selecting the mesh and bones, and doing a Y global mirror operation, but I’m not sure of how to export it properly (X forward? Z up?) or how to get UE4 not to complain about the VRE plugin’s left hand skeleton not matching the bones in the flipped mesh, even after I seem to have renamed them all from _r to _l to match.
When I try to import, it says it failed to merge the bones, and asks if I want to regenerate the skeleton. I hit no, because the current left hand skeleton should be compatible (and also because trying to regenerate it previously didn’t work). I also got the following messages afterward:
No smoothing group information was found in this FBX scene. Please make sure to enable the 'Export Smoothing Groups' option in the FBX Exporter plug-in before exporting the file. Even for tools that don't support smoothing groups, the FBX Exporter will generate appropriate smoothing data at export-time so that correct vertex normals can be inferred while importing.
The following bones are missing from the bind pose:
index_03_l_end
middle_03_l_end
pinky_03_l_end
ring_03_l_end
thumb_03_l_end
This can happen for bones that are not vert weighted. If they are not in the correct orientation after importing,
please set the "Use T0 as ref pose" option or add them to the bind pose and reimport the skeletal mesh.
I haven’t even gotten to the material yet. I’m not sure how I’m gonna flip that. My plan was to export each texture, use paint.net to flip them horizontally, then reimport and apply the flipped textures as inputs to a duplicate material. I may be way off base here. Any guidance on any part of this process would be greatly appreciated.