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

Neos VR

Welcome to the metaverse! A shared social universe where both casual users and creators coexist. Play and explore with your friends, collaborate with your coworkers or grab powerful building tools and create something new right inside VR.

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! [h2]Easier setup for shape colliders[/h2] 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. [img]{STEAM_CLAN_IMAGE}/32580497/f9caf952ea3e072cb32035f30d6fd550206b89fc.png[/img] [i]Sizes and offsets of these colliders were computed completely automatically from the geometry.[/i] 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. [previewyoutube=EkTs0huqZ7Y;full][/previewyoutube] 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. [previewyoutube=ax_m4MfebJY;full][/previewyoutube] [h2]LogiX nodes for working with colors[/h2] 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. [h2]Recalculating Blendshape normals & tangents[/h2] 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. [previewyoutube=WYm1NtG6hfA;full][/previewyoutube] 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. [h2]Linear interpolation for Interactive Camera anchors[/h2] 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. [h2]Canvas Unit Scale - update your systems![/h2] 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! [h2]World Text Renderer Wizard[/h2] 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. [h2]Moving to Cloudflare CDN[/h2] 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. [h2]The Universe experience nearly complete[/h2] 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! [img]{STEAM_CLAN_IMAGE}/32580497/49fe21b273ef9030c71f13407a21913ba9fe5963.jpg[/img] [url={STEAM_CLAN_IMAGE}/32580497/244a3853cc74262e5356085ebf11ff26b2ddb9a8.jpg][img]{STEAM_CLAN_IMAGE}/32580497/5a08cd6dfb6505db356ead7a383e3d8dfba9b5cf.jpg[/img][/url] [url={STEAM_CLAN_IMAGE}/32580497/a341b02c730e4815eb4f41b916668a9c12cca53e.jpg][img]{STEAM_CLAN_IMAGE}/32580497/9b51b27f4e59f1e05f784daf93953b31fbc3d2cc.jpg[/img][/url] [url={STEAM_CLAN_IMAGE}/32580497/f8b7bc09e9af345c48d733e5310be05bafba5a87.jpg][img]{STEAM_CLAN_IMAGE}/32580497/b1a631e7db382b717082dd59eb994811e81924fb.jpg[/img][/url] [url={STEAM_CLAN_IMAGE}/32580497/5b73d416620f19c451542faa26ce6c72a2e48ed9.jpg][img]{STEAM_CLAN_IMAGE}/32580497/6c9923fe9a77001bb4ac7abf27a5f2f431ed823c.jpg[/img][/url] [url={STEAM_CLAN_IMAGE}/32580497/39ca16c0b213f6b86b51c6876a7ea9ff470903b6.jpg][img]{STEAM_CLAN_IMAGE}/32580497/4722b648edaf4e73f2af6efd414c2cd7559c7ebd.jpg[/img][/url] [url={STEAM_CLAN_IMAGE}/32580497/2855ccc9f17c8834be3e9d666037605c17f9a2df.jpg][img]{STEAM_CLAN_IMAGE}/32580497/99f3fc51d06e3a6bff9305593b3224f4c2ef762d.jpg[/img][/url] [url={STEAM_CLAN_IMAGE}/32580497/2fea3e5d5ebbe0e5a0b79b88c9e3637c9eeb588b.jpg][img]{STEAM_CLAN_IMAGE}/32580497/5053e17cd092d8f16155df4614078808bafa1478.jpg[/img][/url] [url={STEAM_CLAN_IMAGE}/32580497/10f7e6b686612d50c31e44a50ffdb0948430b693.jpg][img]{STEAM_CLAN_IMAGE}/32580497/00dfa86367e3ce805f05d83883b15a9921a0b5cb.jpg[/img][/url] 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!