That is really cool!
I like how it adapts to mobile users and that you load lower res textures.
Few tips from myself, that you can try applying to future projects of similar content, to bring visual quality to next-gen look:
Preload only stuff that is required for initial screen, and once it is shown start loading all assets required for scene straight away. Once user clicks “start” show already progressed loading bar if not yet loaded, or show scene straight away if everything already loaded.
This will allow faster first interactive screen to appear and less time required to get to experience the app.
Lightmaps look a bit washed out, this might be related to gamma correction and exposure. When rendering lightmaps, it is bette to render them for 2.2 gamma, and use same gamma in your app. Then you can adjust exposure to make it right brightness.
To take it totally next level visually, it would be great to use PBR, but that would require quiet a lot of work:
- Separate albedo from lightmap.
- Bake AO map to separate texture.
- Create metalness and glossiness textures (they totally can use same unwrap as it is now, but need to express in color metalness and glossiness values)
- Add prefiltered box projected cubemap, pre-rendered probably in modeling software you use.
- Normal map to express fine details in geometry.
So at the end you would have a bit more assets indeed, so bigger download size, but next-gen looking thing. So in result you would have textures:
- albedo (rgb; jpg)
- amg (r - ao, g - metalness, b - glossiness; png; can be smaller)
- normal map (rgb; png)
- lightmap (rgb; jpg; very small)
- prefiltered cubemap
This would have dynamic reflections of environment, and materials would look really like plastic, metal, rubber, leather, or any other you intent to make.
Those are tips that you can play with in the future.
Feel free to actually experiment with those things, and to engage on forum with some tests and asking some feedback. We can always give you tips on what we think can improve a lot your apps.
Anyway, this is really cool app, and awesome to see something like that made in PlayCanvas! If you’ve collected some feedback or ideas for features that would make engine and tools better - please, feel free to share them!