User:Enverex

From Neos Wiki
Jump to navigation Jump to search

Using my main world as an example, this is a list of things that Neos is currently missing for me to recreate my main personal map from VRC.

Landscaping

Terrain Example - https://cdn.discordapp.com/attachments/629302253768933376/773525725286105149/unknown.png

  • No terrain mesh support - this means that existing Unity terrain has to be converted to a (horrendously performing by comparison) lower poly mesh instead.
  • No proper terrain splat support - Neos supports a splat shader, but it only allows for 4 textures and they must ALL be the same scale. This needs to be expanded to allow an arbitrary amount of textures, with each texture having it's own scale and also importantly triplanar support which is needed for rough terrain to not look horribly stretched/scuffed.
  • No terrain painting support - Only meshes are supported, no way to paint or edit.
  • No terrain sculpting support - Same as above.
  • No grass support - You can try "painting" normal meshes but this is horrendous for performance, cannot be changed easily in future, can't be tweaked and won't have any wind support.
  • No tree painting support - Much the same as grass support, if you do it manually then you again have no global settings to control this all with and no "sway" and wind support.

Water Example 1 - https://cdn.discordapp.com/attachments/629302253768933376/773530912154583040/unknown.png

  • No custom shader support - This means that things like water and such need to be done with rudimentary methods like rolling normal maps. It caps out pretty quickly quality wise and would never be able to reach decent looking levels. It's also more expensive due to doing it the "brute force" way.

Water Example 2 - https://cdn.discordapp.com/attachments/629302253768933376/773531674873036800/unknown.png

Lighting and Environmental

  • Realtime lighting complications - The problem with this is what while it allows for lots of realtime lights, shadows still murder performance and lights without shadows rarely look good.
  • No baked lighting - Typically a requirement to get somewhat believable looking lighting, especially paired with the above issue.

Baked Lighting Example - https://cdn.discordapp.com/attachments/629302253768933376/773533074487115836/unknown.png

  • No reflection probes - This results in metallic objects, especially metallic rooms looking completely wrong. Swapping the skybox on the fly is not an option due to a sudden change in almost everything lighting and reflection wise.

Neos vs VRChat showing the difference without and with baked lighting and reflection probes - https://cdn.discordapp.com/attachments/629302253768933376/773540325624381450/Lighting.webp

  • No random/noise path for particles or many other X over time options - Particles are currently very incomplete and are missing a lot of options, mostly any of the "over time" options and the "path noise" option.

General Design

  • No prefab support - This is incredibly important at scale and even moreso if the world intends to ever be worked on in future or updated.
  • No way to view materials/textures "as a glance".

Material Overview Example - https://cdn.discordapp.com/attachments/629302253768933376/773526455660838922/unknown.png

  • No way to change multiple materials, or in reality multiple anything at once. Either component or slot/gameobject wise.
  • Inability to easily select objects in world - If one object overlaps another, in Unity you can just click the same location to select the different overlapping objects. There is nothing you can do in Neos.
  • Inability to select colliderless objects - Technically you can enable Dev mode to work around this, but that will crash you on larger/more complex worlds so that negates it's purpose.
  • No physics - A very, very basic pseudo method can be created with Grabbable Receiver Surfaces (which has bugs and performance issues of it's own) but there are no real physics for object interactions.

Performance Concerns

  • No texture/mipmap streaming - Results in all full size textures being loaded on world load. This kills the GPU.
  • Terrain must be a mesh - The only way to replicate the look of "terrain" in Neos is to use a mesh, but these end up being incredibly high poly and destroy performance in comparison to normal Unity terrain.
  • No baked occlusion culling - This is a necessity in almost every scenario. Manual culling is possible but that's something you'd use in addition, not as a replacement. BOC is considerably more dynamic.

Dynamic Occlusion Culling in Action - https://cdn.discordapp.com/attachments/629302253768933376/773534657290436658/2020-11-04_13-09-39.mp4 (notice how the terrain is also culled, another benefit of Unity terrain despite being a single mesh)

  • No decent anti-aliasing - This results in metallic objects and cutouts (e.g. leaves) looking very rough and staircased. CTAA was brought in to combat this and while it works great on desktop, in VR the image is simply blurred far too much to be viable. FXAA (the default) appears to do nothing against these edges.

Bugs