1. Neos VR
  2. News

Neos VR News

0.8.18.18108 - Fixed broken texture alpha and tweaked crunch compression quality

0.8.18.18108
An important bugfix for the asset variant system and a quality improvement!

Textures are being recompressed now, if you still see the issue give it a few launches/hours (or a day).

- Added a mechanism for upgrading asset variants to a version with improved settings
-- This upgrades the same variant, rather upgrading to a different variant type
-- Neos will keep loading the older available variant until the new one is computed in the cloud and available to preserve low memory usage

- Tweaked crunch compression settings to reduce block/square artifacts on the textures (reported by @Aegis_Wolf)

- Fixed broken alpha on newly generated texture asset variants (reported by @Hayden (PolyLogiX - ZyroDesign) , @Nexulan , @Aegis_Wolf and @Anomalous )



0.8.18.21548 - Fix for random SteamVR initialization crashes for some machines

0.8.18.21548
Rewrote the SteamVR initialization procedure, this should help fix the random startup crashes reported by @Reactant, @Hayden (PolyLogiX - ZyroDesign), @Shifty and others before. Also thanks to @Shifty for helping to test and iterate!

Please let me know if this helps in your case or if you're still experiencing issues.

Bugfixes:
- Rewrote the SteamVR initialization sequence to happen in explicit order defined by Neos
- Removed all unnecessary SteamVR components and left only custom code
- Removed fetching of connected device serial number from SteamVR unless absolutely necessary (I suspect this causes a lot of the crashes due to some buggy drivers)



0.8.18.9403 - Asset Variant System for Oculus Quest/Go Android (+ loads more)

The asset variant system for Oculus Quest & Android is here! :D Sorry this one took a while, there was a lot of work involved with native code and raw OpenGL, both of which can be pretty tedious to work with. There are many bugfixes as well and some general optimizations and improvements!

New Features:

- Asset Variant System support for Android/Oculus Quest!
-- Uses ETC2 RGB (4-bits per pixel) and RGBA (8-bits per pixel) compression algorithms
-- Both formats are also additional crunch compressed for smaller download and storage size
-- Android doesn't use hybrid system due to memory constraints. It will wait for all textures to be computed. This can result in longer initial loads
-- The desktop version will seed Android variants, but only if you don't have them loaded yet either (clean your profile if you want to help seed them)
-- Ported crunch library (used for texture block & crunch compression and decompression) to Android, which allows compressing the textures on the device if necessary too
- Implemented native async OpenGL texture uploads on Android
-- Uploads textures by mipmaps and chunks directly from Neos, reducing memory and CPU overhead and stalls when uploading large textures
-- Shows already loaded mip levels immediatelly, resulting in the same progressive loading as on PC (textures start blurry and get sharper and sharper as more gets loaded)

- Added "Background Jobs" diagnostics to the Debug dialog to help diagnose any problems with background processing
-- If you notice it getting stuck on some same jobs (or things generally getting stuck) send me a screenshot
-- Alternatively you can copy the text to clipboard if you go to Special tab and click "Copy background thread processing snapshot to clipboard"

Tweaks:

- Added upwards offset for the default position of the chest tracker calibration reference
-- This should fix the chest/shoulders twitching with default calibration (reported by @Reactant )
- Avatar Creator will now create pivots when setting up eyes. This should fix eyes rotating around the wrong axis for certain avatars (based on issue by @Coffee)
- Upgraded to Unity 2019.3.0b10 (from 2019.2.11)
- Updated to SteamVR Plugin to 2.5.0 (from 2.4.5)
-- Includes SDK 1.8.19 (previously 1.7.15)
- Updated Oculus SDK to 1.42 (from 1.41)

Optimizations:

- When saving an open bitmap into the asset database, the metadata are generated in parallel from the open bitmap
- World Orb thumbnails are now using direct load without going through the variant system, removing unecessary local variant computations
-- This speeds up loading of virtual photos and imported images, as they don't need to be re-loaded for metadata generation
-- This could also potentially fix the very slow loading of things reported by @Zane , @DeliriousJax , @ChrisWarner103 and others
- Scheduled some UI mesh updates on the high priority queue to prevent them from getting stalled by heavy processing on the background threads
- Changed render thread callback mechanism to go through native library. This was necessary for OpenGL implementation and hopefully should get rid of some of the crashes with DirectX on desktop (reported by @Somowo, @Shifty, @Nexulan and others)
- Asset Variant worker is now pipelined, uploading variants as soon as they're computed. This lowers the loading latency when the client is waiting for the variant (most important on mobile/Quest which doesn't use the hybrid mode)
- Asset Variant worker now queries active jobs more efficiently, using a single job fetching thread, rather than having each thread check independently
-- This also improves parallelization by not stealing too many jobs on a single client when there's a sudden burst of them
- Tweaked Asset Variant worker multi-threading to avoid stealing too many jobs, resulting in better parallelization

Bugfixes:

- Fixed minimum texture LOD not being immediately update when uploading the texture to the GPU in some cases
- Fixed RGBA variants not being requested from the cloud properly, causing them to be generated locally every time
- Fixed procedural texture mip-map flickering
- Fixed temporary files for thumbnail compression getting downloaded to the main Neos folder rather than temp (this also fixes access violation on Android, breaking the function)
- Fixed asset variant compute tasks getting stuck when there's an exception (should help with the asset loading issue reported by @Hayden (PolyLogiX - ZyroDesign) )
- Fixed exception when updating really old MaterialGuns
- Fixed exception when trying to load components that are of invalid type
- Fixed exception when trying to generate variants and the file has gone missing in the meanwhile
- Removed old Simple360PhotoCamera component
- Fixed broken logout process (reported by @pek )
- Fixed default star sky skybox having two transparent pixels, increasing its video memory requirements
- Fixed waiting for cloud variants to be generated not working correctly
- Fixed "Install Locomotion Modules" node installing the modules to the root of the user (reported by @Shifty )
- Fixed "Install Locomotion Modules" node not firing OnInstalled impulse when done (reported by @Shifty )
- Fixed Glue Tool force dry not working in screen mode
- Baking meshes will now fill default tangent (1, 0, 0, 0) for meshes that don't have them, when some of the meshes have tangents
-- This fixes certain meshes with materials becoming black after baking (e.g. convex hull mesh with PBS triplanar, reported by @Anomalous )
- Fixed exceptions when trying to access a missing Gizmo (found in a log from @Anomalous )
- Fixed full body calibrator headset not being setup with the proper material
- Fixed interactive camera littering the scene with "Holder" objects (reported by @Hayden (PolyLogiX - ZyroDesign) )
- Fixed eye manager being positioned incorrectly when setting up new avatar with the avatar creator (based on issue by @Coffee)
- Added extra debugging diagnostics for asset uploads (for @Robyn (QueenHidi) )
- Fixed broken audio spatializer offset due to changes in SteamVR Runtime (reported by @Hayden (PolyLogiX - ZyroDesign) and @Shifty)
- Fixed record syncing breaking when there are multiple copies of the same asset in the source manifest (reported by @Lewi-bean )
- Fixed asset variant worker continually re-fetching jobs for deleted assets (reported by @Shifty and @Anomalous )
- Fixed thumbnail update system sometimes download users's own thumbnails

Reworked full body support. Up to 8 trackers. Avatar anchors. Cloud updates.

Hello everyone!

This is the first of our weekly development and community highlights, where major features as well as creations and meetups by our community will be showcased!

If you’re building something cool with any of the new features and wish to have them in the weekly community highlights, please share your pictures and videos in the Discord’s #screenshots and #videos channels and tag @Veer in your post!

Livestream!

We’re going to be livestreaming on Twitch about this update on 3 PM PST (6 PM EST) today (November 8th), one hour from publishing of this update. Please join us if you’d like to see them in action or if you have any questions and suggestions!



Full Body Tracking

Major improvements to full-body tracking and calibration have been made, including the new quick T-pose calibration! The new setup process should make things much more streamlined than before. You just press a button, go into a T pose, and then pull both of your triggers! You can then fine-tune the calibration on a real-time miniature rendering of your avatar.



A lot of the older problems involving full body IK have been solved, such as people’s heads sinking into their chests, knees not moving properly with your legs or the body getting twisted when you lie down. The full-body IK should now work reliably regardless of which position you are in.

Our full-body calibration is designed to be independent from your avatars. If you change your full body setup, you don’t have to recalibrate all of your avatars again.

To top it off, we now support up to 8 additional trackers for a total of 11 tracking points for high quality full body tracking! You can now track your hips, knees, feet, elbows, and chest! The new full body calibrator will automatically calibrate all of these for you.



Avatar Anchors

This new feature allows you to anchor parts of your avatar to various objects! You can anchor your avatar’s hips, hands, feet and other body parts to anchor-points and restrict their movement to a certain range, allowing for the creation of vehicles, hoverboards, rollercoasters and easy to use furniture (such as seats)!

[previewyoutube][/previewyoutube]

Anchors are a set of components that can be added to any object, which means you can program them with LogiX to do a ton of fun stuff! They allow you to intercept user’s locomotion controls and using them for your own control scheme. This is particularly useful for vehicles, but has lots of other uses as well. You can move them around programmatically as well, moving the avatar’s body with them, to create simple animations.

Because you have control on how exactly is the character posed, you can make a variety of seat poses for various forms of furniture. You can also use multi-anchors to set up a bench that can seat multiple users easily along a line or a circle without setting up dozens of individual anchors. Now you can easily sit all your friends on a couch for movie night!



They can also scale your avatar too. If you add the anchors onto your avatar, you can pick your friends up or have them ride on your shoulder! They nest as well, so it’s possible for multiple characters standing on each other's shoulders.

There are so many things you can do with anchors that the possibilities are near endless! We’ve already seen some great creations from our community, from a variety of vehicles, dragons, hoverboards, spaceships to avatar mechs that you can sit inside of. We can't wait to see what else you’ll build with them!

Upgrades to the Cloud

Recently we noticed our cloud services getting slow due to increasing number of users. Worlds took a long time to connect to, friend lists and inventories weren’t loading and browsing worlds was difficult.

Because of that we made major improvements to the cloud. We’ve switched from .NET Framework to a more modern .NET Core, reworked the architecture and added many optimizations on top. This made the cloud services much more responsive and scalable for the future!

Some other improvements include increased upload speed and reliability, especially for big assets. Synchronizing worlds and items with lots of assets is more reliable as well. Worlds with thousands of assets that would fail to sync before should process correctly now!

Community highlights
ProbablePrime is making a whole library of tutorial videos for various extremely useful Neos components and LogiX nodes. These aren’t your run-of-the-mill tutorials. One can learn how to create grab instancers (like grabbing ammo from a bag), how to create a nice basic world, how to relay Twitch messages and a ton more!

https://www.youtube.com/watch?v=MVRgKqaKZGo

PolyLogix Studio is working on a two handed weapon system for their Neos based game GunLight Online. This system allows for pavlov-style handling of rifles and other firearms so you can precisely aim down sights.



A lot of our users have enjoyed watching videos with each other with our easy to use video imports. If you have a YouTube link, just copy the link and, inside the Neos window, press Ctrl+V and a video player simply pops up in front of you and your friends. If you have a video file, you can easily drag and drop the file from your computer onto Neos window.

What’s Next?

We are currently finishing up the Asset Variant System and have just released the first working version of it in the public build!

Right now the variant system is focusing on textures, but later on it will include objects, sound files, videos and more. Neos now uses significantly less RAM and VRAM because it loads much more optimized variants of the assets.

Worlds and items now also load in a fraction of time they took before! Some of our users are lending their computing power to process popular items and worlds, which has helped to smooth out the roll out of this new system to the public. Thank you to everyone who volunteered!

We still have some work to do as some features are still missing and the system isn’t available for Quest yet. Once it’s finished and some issues are ironed out, we will begin work on the long awaited UI Update!

Also lastly, big thanks to our community and Patreon, Twitch and ICO supporters. Your ideas, feedback and passion is what keeps moving this project forward and allows us to make updates like these. Thank you!

0.8.18.17519 - More polish for the asset variant system and few other bugfixes

0.8.18.17519
More polish and improvements for the asset variant system. Fixing some textures not loading and other minor issues.

Optimizations:

- Neos now pre-emptively downloads the original asset file for local assets after all variants have been loaded
-- This fixes scenarios where the user wants to save the object or process the asset (e.g. hue shift texture colors) after the original owner of it leaves
- Neos now also uploads asset metadata for any new assets when syncing to the cloud, making it immediatelly available to other users and machines (rather than them having to compute it themselves or wait for the cloud)
- Neos now skips uploading variants for already uploaded files when syncing
- Optimized asset URL scheme lookups

Bugfixes:

- Fixed incorrect parsing of neosdb:/// asset URL's without extension name hint, causing texture variants to not load (Discovered on @Veer and @Dante icons, also likely encountered by @SHFR_H )
- Fixed neosdb:/// texture URL's with and without extension hint being treated as different identities, possibly causing some assets to be (down)loaded twice
- Neos will now delete incorrect asset variants when they fail to load and re-fetch/regenerate them next time (you might need to restart if you don't have some textures loading)
- Fixed inspector breaking when the texture is not loaded correctly (it's in Unknown format)
- Fixed full body horizontal tracker lock not working correctly after avatar anchor update (reported by @KylieSour )