I posted this on the C++ section of the forums. No response. Hence I am posting this in AnswerHub in the hope that a developer would respond.
UE4 dev team, I am in serious doubt as to whether I should continue with my UE4 subscription or not.
I have been doing some research on the forum about hardware skinning support in UE4. So far the results have not been very encouraging.
Let me elaborate a bit.
*I am an indie game developer with C++ skills. But totally new to Unreal Engine 4 though.
-
I am planning to do a wargame. My game needs hundreds, if not thousands of units to be visible within the view frustum at the same time.
-
The models close to the camera need to be medium poly (1500 polygons) with normal maps and ambient occlusion. The ones distant from the camera will be progressively lesser in polycount (the plan is to have 3 or 4 levels of LODs). I am thinking of having the final LOD as a simple 2D sprite, say imposters or flipbook animated sprites in UE4 parlance.
-
The game is set 100% outdoors.
-
Even though the game has a few barns and buildings on the battlefield, it is guaranteed that the camera will never ever enter the inside of a building. This means no indoor occlusion tests or collision physics inside buildings.
-
In order to have very large number of animated meshes, my plan of attack is twofold:
-Use LODs and skinned instancing for near to medium distances from the camera.
-Use imposters / flipbook style sprites for far distances away from the camera. -
I plan on using the hardware skinning technique used by NVIDIA a couple of years ago.
This involves the use of skinned instancing (only supported from DirectX10 and above) with three levels of LOD. This enables the NIVIDIA tech demo to render around 10000 animated meshes with three levels of LOD using the hardware supported skinned instancing technique.
See the following whitepapers from NVIDIA:
link text
link text
The hardware skinning workflow goes something like this:
-Load an FBX mesh with animation data.
-Extract the bone transforms for the animations.
-Write the bone transforms to a video texture in VRAM.
-Do a vertex texture fetch of the bone transforms and do the skinning on the character using a vertex shader technique.
The super important question for me is whether UE4 is capable of supporting this hardware skinning / skinned instancing technique using bone transforms written to texture memory?
If the answer is no, then with deep regret, I must look somewhere else. UE4 looks super capable! Without hardware skinning / skinned instancing support though, my game cannot take off.
Unreal dev team, can you please look into the technical aspects of this and post an answer?