Infinity Blade Asset test - issues and good practice on GearVR

Hi guys,

I’m develoiping a project by combining the GearVR with a mocap suit and the results are quite great, I’ve tested a simple ( third person template ) level with it and walking around in VR is quite amazing!

The level has some basic stuff ( physic cubes, FPS gun that shoot when the player enters the trigger, and so on ) however I’m having some issues with the asset from Infinity Blade.

I’m using the Fire Land and, as of now, I’ve added the content via the launcher and I did a bit of level design by putting some minor stuff into the level ( floors, basic props and so on ).
As soon as I try to package the project after a while I have some packaging errors within some meshes inside the background folder…I deleted them and package the game and the apk was created…however if I try to load the game into the phone the screen is black and nothing happen.

I try to migrate the project to a brand new project ( in order to port all the meshes I’m using instead of the entire Fire lands folder ) but the situation is the same.

Things gets strange is I try to clone the project ( using the launcher ) and just have a test build of the demo level ( third person template ) as said above, the build end up having a package error and I have no idea why this is happening, since is the exact clone of the project which, if build, works perfectly.

Since this is a bit time consuming each time, and since it can probably screw up my project, is there a way in UE4 to “simulate” the behaviour of how the game will run/behave on the Samsung S7 Edge? so that I can be sure that the apk will run or not, and in case it won’t run is there a ( proper ) way to check what is causing the problem?

I know I’m asking a bit too much, but is difficult to understand what’s wrong if the screen is just black and the project is built without any errors.

I would kindly ask to [MENTION=868]Sam Deiter[/MENTION] and [MENTION=11153]Chris Babcock[/MENTION] to help me understand what’s going on ( in case I’ll just share the project via PM )

I have been doing similar things with the Ice Scene but I just loaded the entire project and the started removing content, which is what you appeared to do as well.

As far simulating, are you using the editor preview rendering level feature? Switch this to either default mobile or Android. Down in the bottom right hand side of your view window you will see your rendering mode.

Also make sure turn off all your post-render effects and HDR. HDR caused a number of problems for me early on. Also, look at your mesh and texture numbers. I found a number of these would not load due to their scale.

Hey mebalzer,

Thanks for the tips.

I’m using the “standard” rendering mode, which by default I don’t know what is set to, but I’ll switch to mobile so that I’m able to check more stuff :wink:

I’m not currently using HDR and I removed the post process volume so that nothing is enabled, and I’m also using some stats functions ( stat fps, stat unit and stad d3dh11 or something like that :smiley: ) to check everything, but for now I’m only testing if I’m 60fps steady and if adding some parts fromt he Fire land cause some big issues or not ( and I’m way below 100k polys, but I need to check the scale on the textures ).

Thanks again :slight_smile:

Update: I managed to build the entire Elven Ruins level by removing all the unnecessary parts ( blocking volumes, triggers, point lights and so on ) and basically I have just geometry there.
No HDR and no dynamic lights, but whenever I test the demo I’m stuck at 30FPS ( and lower ), but the strange thing is that this is happening also on a very small level ( 10 meshes, 6 materials ), I’m always stuck at 30fps and I reach 60 fps only if I’ìm looking down or towards the walls, meaning when there’s only 1-2 meshes on screen.
I suppose that the materials are causing all those issues, but its just a basic material with a diffuse map :frowning:

Is there a way to optimize the materials so they won’t tank the fps?

PS: The packaging errors were caused by the “name too long”, so I ended up calling my level “06”, that solved the issue, but I can’t use the Infinity Blades enemies, but I can live with that :smiley:

Update2: Looks like the huge amount of content ( not used in the scene ) cause the project to be around 1Gb and even if in the scene there are only a coule of meshes the FPS is always around 30fps.

Solution: Migrate the needed content and spending 30 minutes doing a bit of level design I was able to build a long corridor with some statues, 4 characters in idle animation, 4 different particles effects ( from the IceLand demo ), some foliage and all around 20-25 meshes, more or less 15 materials, all in one view.

All materials have diffuse+normal ( some of them have also roughness ), there’s one directional light casting shadows + the light from the fire particle effect and I’m using TemporalAA.

Packaged game is around 220mb.

60 FPS rock steady!

I’m so freaking satisfied right now :smiley:

I doubt that project size has anything to do with performance. My packaged project is 92Mb with LODed terrain and a few rocks combined into HISMC actor, 1 foliage actor (scattered rocks). I get 37 fps.

I think foliage, and potentially HISMC actor, is the source of massive performance drop for me. However, I had 58 fps in the same scene without foliage (but with HISMC actor) using 4.11.2 (58 fps is what I get even in absolutely empty scene on my S6).

I know that it sounds ridiculous, but that is the only explanation possible, since if I try to build both projects ( one with the full Infinity Blade Grass Land asset and the other one with just the used asset ), one runs at 60fps steady and the other one at 30fps.

That I don’t know, but I have several Gb of assets in my project, and scene uses only like 20 of them. Still same max fps.

Fps dipped for me when I used stationary light and/or foliage.

Here is what it looks like:

I’m currently cleaning up my pc and I’m downloading also 4.12 to test the new Dynamic Cascade Shadow Maps and I will do those tests one again to see if there was something wrong with the workflow I was following before.

The video you linked is a “one eye” recording using GearVR itself? in case which Android app are you using?

No app - Oculus’ native recording capacity.