NokiMo
neosvr
neosvr

patreon


Collider workflow improvements, Color LogiX nodes, switching to CloudFlare CDN

Hello everyone and welcome to another weekly update!

First of  all, congrats to everyone on finishing your MMC 2021 projects! Whether  your project is big or small, you should be proud of the work you've  done and the creativity you've shared with the rest of the community. We  can't wait to check all the awesome submissions out!

We have  been finishing our own The Universe experience, adding a few more new  features to Neos that should help out every creator. Notably we made it  easier to setup simple colliders! Most of the shapes (Sphere, Box,  Capsule and Cylinder) can now auto-calculate their size from the  geometry using a precise method, making sure the shape is wrapped as  neatly as possible. There's a quick way to visualize them as well.

If  you need to mass update font, font colors or font material in a  hierarchy, you can also utilize the new Text Renderer Wizard tool.

Based  on community requests and feedback, we also added a number of small  tools and improvements. There's a number of new LogiX nodes for working  with colors and a way to recalculate mesh blendshape normals and  tangents in-game.

Also importantly we introduced new "UnitScale"  to Canvas, which removes the need to scale the root of the canvas to be  really small. We will update a number of official canvases (including  the context menu) to have a unit scale in a week or two, so if you're  using any custom injection systems, please update them to detect this  and compensate for the change before we do!

We also switched our  CDN from Azure to Cloudflare. After some small initial bumps things seem  to be running smoothly, but if you still run into some problems, please  let us know so we can investigate!

You can learn more (and see some teaser screenshots of The Universe experience) below!

Easier setup for shape colliders

One  of the great ways to optimize your items and worlds is to replace any  mesh colliders with simple primitive colliders, like Sphere, Box,  Capsule or Cylinder. However setting up those can be a pretty tedious  process, with lots of manual guessing of the sizes.

Sizes and offsets of these colliders were computed completely automatically from the geometry.

To  help with this, we added a few new tools and algorithms to simplify the  setup. Firstly, any primitive collider now has a “Visualize Collider”  button in the inspector. Clicking this will show a live visual of the  collider that will stay visible until the inspector is closed or  switched to a different object. We’ll replace this with a proper gizmo  later on, but this should help for the time being.

https://youtu.be/EkTs0huqZ7Y

Second, most primitive colliders (Sphere, Box, Capsule and Cylinder) now  have methods to automatically compute the size from the hierarchy,  using a precise computation. Each one has a custom method that goes  through every vertex of meshes in the hierarchy and computes a shape  that tries to fit as tightly as possible.

In a lot of cases this  can produce significantly better results than simple bounding box  calculation, making the collider setup quick and easy.

https://youtu.be/ax_m4MfebJY

LogiX nodes for working with colors

Based  on community requests, we added a number of nodes to make working with  colors easier in Neos! You can now use different color blending methods  easily (alpha blend, additive, multiplicative and soft) and  override/multiply individual color channels, both in RGB and HSV color  spaces. There are some helper methods too for getting color’s luminance  or inverting colors.

Recalculating Blendshape normals & tangents

In  response to another community request we implemented algorithms to  recalculate normals and tangents for blendshapes specifically. If you  have a mesh that has normals or tangents that imported incorrectly or  didn’t import at all, this allows you to potentially remedy that.

This  method will go through every blendshape on the mesh, transform the  vertices and compute the normals or tangents as usual. Then it computes  the difference from the base mesh normals/tangents to produce the final  blendshape delta normals and tangents.

https://youtu.be/WYm1NtG6hfA

You can use the regular normal calculation as well as the smooth shaded  one. Currently tangent calculation is only supported with the Mikktspace  algorithm.

However the success of this method can depend a bit  on how the normal maps produced for the original model. Sometimes the  algorithm that was used to produce the tangent space doesn’t match the  tangent space in Neos, resulting in potential seams. If you run into  issues we recommend sharing a sample model so we can have a look.

Linear interpolation for Interactive Camera anchors

A  small, but hopefully useful addition now allows you to enable Linear  interpolation between Camera anchors. Instead of a smooth motion that  speeds up and slows down as it transitions between the different points,  Linear interpolation keeps constant speed. This can be useful for some  productions that require constant motion.

Canvas Unit Scale - update your systems!

Another  community suggested addition is the new “UnitScale” property on Canvas.  This allows specifying the ratio between the world units and canvas  units, removing the need to apply large scaling on the root of the  canvas and providing a way to adjust the Canvas’ “DPI” easily.

Previously  to make canvas with sizes that roughly correspond to typical  resolutions (for example 1920x1080), you’d have to scale them down  significantly, e.g. to 0.001 to bring the resulting visual to a regular  size. This could present some complications when parenting other objects  to it.

With this new addition, you can simply set the Unit Scale  to 1000 instead. A canvas with size 1x1 (meaning it’s 1x1 meters in the  world) will then act as canvas with resolution 1000x1000 without making  it large. This is because the world size is multiplied by the Unit  Scale to produce the final result.

This property can also be used  to slightly change the canvas’ “DPI” - for example for users who have  trouble reading, you can enlarge the elements slightly - assuming you  built your UI in a way that will reflow properly.

We plan to  transition the majority of the common canvases used by Neos to this new  method within a week or two, including the context menus. If you are  using any system that injects new behaviors into it, please update your  system soon to support this, so you don’t run into issues when it’s  finally updated!

World Text Renderer Wizard

As  another part of our work on The Universe experience we added another  general tool to Neos that should benefit all creators - the text  renderer wizard. You can find it under Create New -> Editor.

This  lets you perform mass changes to text renders (both standalone and UIX)  in the hierarchy - changing the font on all of them, changing the font  material and overriding their color. It has filtering options similar to  other wizards as well - you can exclude disabled ones or only process  ones with a particular tag.

Moving to Cloudflare CDN

Over  this week we have transitioned our infrastructure to the Cloudflare CDN  from Azure CDN. This is mostly an internal change and shouldn’t make  much of a practical difference at the moment, but should allow for  better scaling, decrease cost (allowing us to invest into other services  and features) and give us some more control over the backend.

We  ran into a few bumps with a portion of users whose DNS servers took  longer than expected to update, but have since pushed a mitigation that  falls back to the direct URL when that happens. If you run into some  issues with this transition, please let us know and we’ll work to fix it  as fast as we can!

Based on some initial findings, we also  enabled support for GZip compression for API communication, which should  reduce your internet bandwidth usage and reduce some latency as well.

The Universe experience nearly complete

We  have pretty much completed the work on The Universe educational  experience! We’re very excited to show it to everyone soon and hope  it’ll help show off the educational and collaborative potential of Neos.

We  are still putting together some materials for the release and with the  huge number of MMC entries that just got published we’ll probably  release it in a week or so. In the meanwhile here’s a few teaser  pictures!





Anyway  that's all for this week! We hope everyone will enjoy checking out all  the MMC entries this week, don't forget that the community voting starts  soon! You can lean more about it in the post here:

https://store.steampowered.com/news/app/740250/view/2944778418489926498

And as usual, big thanks for everyone supporting Neos, whether it's  through Patreon or by sharing your time and creativity with people in  the community and making the place come alive! See you next week!

Comments

What about using ICP instead of CloudFlare?

As we can see, you have done some pretty painstaking work on the Collider workflow improvements. The work is impressive! Congratulations on this.

VitAnyaNaked


Related Creators