Janus VR - Weapon7
To the Janus VR community,

Dissolution in 2019.

I write to inform the broader community of our intent to dissolve the corporation, Janus VR, Inc., at the end of Q4 2019. It is no longer feasible to maintain our corporation status in Canada and the US given the expenses this will incur each year (as it relates to legal, accounting, patent/IP filings, etc.)

Maintaining existing services.

It's not all sad news. I remain committed to do all I can to maintain our existing services and underlying infrastructure that the community enjoys, such as our default presence server, build servers and our Vesta hosting service. While I would love to see a sub-community emerge around supporting essential Janus services such that it would be self-sufficient, with an appointed group of custodians, it is my intention to take this on as a personal expense in the interim. (Update: check out https://janusxr.org/ with more news coming soon!)

Thank you.

I think I speak for everyone on the team when I say we take great pride in what we have built as a result of our interaction with you, our community, over the past five years. A fact some may find surprising is that Janus VR has had hundreds of thousands of unique users since it was created. It is an incredible feeling to have built something that captured such attention and delighted so many people, or at least introduced them to our unique interpretation of the "immersive web" - even if that vision was a little "early", "different" or "ahead of its time". A thank you to our industry partners, who provided us their feedback and support, including allowing distribution of our software client on their platforms. A special thanks to our investors, who provided the means to assemble a team dedicated to taking us from forward-thinking vision to fully-realized immersive web platform.

I have always had a passion for technology, and in more recent years of academic study, became especially passionate about "immersive" technologies, i.e. virtual and augmented reality. My aim from the start was to employ the skills I had developed in order to make a unique, positive contribution in this space. VR/AR is no longer the fledgling industry it once was five to ten years ago. I am happy to see it succeeding, with the largest tech companies taking active interest and moving it forward. My hope is that, at least in some small way, Janus VR has done the same.

To our investors, industry partners, employees, contractors, and everyone in our community - thank you all for making it possible.
Janus VR - Weapon7
- Much improved glTF2 support (.gltf, .glb)


- Support for importing JSON-formatted asset palettes from Decentraland
Dec 11, 2018
Janus VR - Weapon7
Minor update - bugfixes to animation on Windows and Linux (specifically FBX loaded files)

Dec 8, 2018
Janus VR - Weapon7
Today marks the release of Janus VR 62.0, and a (now successfully deployed) launch release of our Linux build on Steam!

Big changes in v62 include (1) the return of the spatial menu (press TAB, or pocketspace button on VR controllers), (2) integration with Vesta http://vesta.janusvr.com and its social features, and (3) the highly requested feature of a virtual keyboard to enable search while in VR. We are still alive and kicking, and always listening to user feedback!





Jan 2, 2018
Janus VR - Aussie
Faster performance, updated pocketspace, .js improvements and glTF 2.0 support!


New features:
  • Improved performance of rendering engine by refactoring out expensive ref counted pointers from the most used code path (upto 25% FPS increase depending on the room).

  • Updated pocketspace with new design and bookmarks, including a new portal to our free hosting service, Vesta.

  • Ctrl+V will paste any clipboard contents (e.g. press printscreen to capture desktop and paste directly into Janus with Ctrl+V).

  • Fine-grained controller access via JS! You can now read the current state of the buttons of controllers (Vive, touch, Windows mixed reality (wmxr), Xbox) with JS - visit https://nazrin.net/Button/ for examples.

  • room.loadNewAsset can now be used to create generative geometry, by being passed vertex and face lists as arrays.

  • room.removeObject JS function now accepts optional second sync paramter, syncing of removed Objects now works.

  • Assimp library updated to 4.1.0, this includes bug fixes for various model loading formats, and adds support for loading glTF 2.0 files.

  • Improved visuals by modifying how radiance and irradiance maps are used for geometry shading.

  • Better support for 302 redirects.

Bugfixes:
  • Better computation of hand/controller velocity.

  • Websurfaces reloading when moving through portals/between rooms.

  • Backspace/back taking player to empty room with skybox.

  • Resolution of relative URLs.

  • Enable VR comfort mode as default setting.

  • Suppress copy-pasting in rooms when room's locked property is set to true.

  • Linking to head_id and body_id for Ghosts.

  • Party mode setting adjusted to show user in global list, but hide URL.

  • Rendering draw order for portals and alpha-blended objects.

  • Prevent error log in code panel from slowing down the UI when filling up.

  • Removed old JS debugger window in favor of integrating JS debug and other error output into the code panel.

  • Restored -equi and -cube render modes.

  • Restored #sync operation.

  • Numerous small crash bugfixes.
Oct 25, 2017
Janus VR - Aussie
Improved VR controller support, better stability, higher FPS

  • Re-architected rendering to happen in a separate thread. Should yield large improvements in framerate and general smoothness (in both VR and non-VR rendering modes). In most cases users will see a doubling of FPS.

  • Assimp updated to latest development version (improved glTF support, many other changes)

  • Improvements to animations and bone processing

  • Updated Oculus SDK to v1.19

  • Performance improvements to UI panels

  • General shader optimizations

  • Smoother particle emissions

  • Ghost and userid bugfixes

  • Refactored VR UI controls for simplicity (a return to an older control scheme that worked well)

  • Backend improvements to portal system and navigation

  • Faster loading of client

  • Improvements to rendering performance in equi rendering modes

  • New room attribute "grab_dist" allows specification of maximum distance at which objects can be grabbed/manipulated with VR controllers

  • Improvements/bugfixes for XML/JML parsing and case sensitivity

  • URL anchor support, e.g.:

    http://janusvr.com/index.html#anchor

    where "anchor" is the jsid of an Object in the Room with its own transform that determines where the portal will open up.

  • Added FOV slider to Settings > Interface (of use in 2D/windowed and other render modes that are not tied to HMD FOV intrinsics)

  • Added support for XMLHttpRequest in Javascript scripts, and now both "post" and "get" methods

  • Refactor - removed "Image3D" from JML spec

  • Bugfix for room.playVideo

  • Additional room functions room.playRecording / room.seekRecording / room.pauseRecording / room.stopRecord
Aug 2, 2017
Janus VR - Aussie
The changes in v59 represent a few months of work (the longest time between releases yet!) The most notable change in v59 is a UI rewrite.



In this update, we broadly consider two major use cases: (1) a “user in VR”, potentially a novice, who expects basic functionality for navigation and interaction and (2) a “builder outside VR”, a creative person looking to create immersive web experiences using Janus who expects a user experience similar to traditional graphics software (e.g. Maya/3DSMax/Blender/Unity/Unreal).



In the version 59 update, we take some major steps for addressing these two fundamental use cases. And there are also a pile of other specific features and additions we've made, many of which are major-release worthy on their own!

More documentation to come, describing all the new functionality in more detail (we are also doing a lot of updates to the site to add new documentation and keep things current).

Major highlights:
  • New GUI!
  • Social pane
  • Navigation pane
  • Code editor pane
  • Assets pane
  • Room object pane
  • Properties pane
  • New settings window
  • Easy/intuitive access to common operations via Ellipsis "..." menu (Save and save screenshots, Settings, Bookmarks/Workspaces, etc.)
  • “AssetRecording” Asset type (room-wide recordings are now possible - and drag and droppable even!)
  • “rotation” and “rotation_order” attributes (Eulerian rotation support, this has been asked for forever!)
  • JML Importer (import entire Janus environments into a space)
  • New and improved Drag and Drop functionality (from browsers or explorer, portals, …)
  • Improvements to Ghost userid/chat
  • Private websurface manager (~ [tilde] to add, shift+~ to remove, ESC to hide)
  • VR controls simplification
  • FPS improvement for “equi” render mode
  • New JS Vector functions (copy, scale, add)
  • OSVR integration
  • Initial Enflux integration
  • “party_mode” room attribute (can declare in the room markup whether it should be a "private" space or not - we use this attribute for some of our own meeting rooms)
Apr 30, 2017
Janus VR - Aussie


Big thank you to all the users who sent in bug reports, dropped by the Discord for a chat or sent us feature suggestions - we appreciate it a lot and have included as many changes as we could in this update, more improvements to come, we have only just begun.

FEATURES
AssImp

A fantastic library that abstracts so many geometric formats, providing us a generic intermediate data structure. We hugely broaden our geometric format support to a much wider variety of formats! (And like us, they too could have picked a better name. They are German though and apologise for the name for this reason - all of us at Janus speak English and have no excuse!)
We now support glTF 1.0 through this lib, and are looking forward to (and would be happy to contribute to) 2.0 support! Geometry transmission standards for the web - YES!



COMMON INTERCHANGE FORMATS Autodesk ( .fbx ) Collada ( .dae ) glTF ( .gltf, .glb ) Blender 3D ( .blend ) 3ds Max 3DS ( .3ds ) 3ds Max ASE ( .ase ) Wavefront Object ( .obj ) Industry Foundation Classes (IFC/Step) ( .ifc ) XGL ( .xgl,.zgl ) Stanford Polygon Library ( .ply ) AutoCAD DXF ( .dxf ) LightWave ( .lwo ) LightWave Scene ( .lws ) Modo ( .lxo ) Stereolithography ( .stl ) DirectX X ( .x ) AC3D ( .ac ) Milkshape 3D ( .ms3d ) * TrueSpace ( .cob,.scn ) MOTION CAPTURE FORMATS Biovision BVH ( .bvh ) * CharacterStudio Motion ( .csm ) GRAPHICS ENGINE FORMATS Ogre XML ( .xml ) Irrlicht Mesh ( .irrmesh ) * Irrlicht Scene ( .irr ) GAME FILE FORMATS Quake I ( .mdl ) Quake II ( .md2 ) Quake III Mesh ( .md3 ) Quake III Map/BSP ( .pk3 ) * Return to Castle Wolfenstein ( .mdc ) Doom 3 ( .md5 ) *Valve Model ( .smd,.vta ) *Open Game Engine Exchange ( .ogex ) *Unreal ( .3d ) OTHER FILE FORMATS BlitzBasic 3D ( .b3d ) Quick3D ( .q3d,.q3s ) Neutral File Format ( .nff ) Sense8 WorldToolKit ( .nff ) Object File Format ( .off ) PovRAY Raw ( .raw ) Terragen Terrain ( .ter ) 3D GameStudio (3DGS) ( .mdl ) 3D GameStudio (3DGS) Terrain ( .hmp ) Izware Nendo ( .ndo )

Including skeletal animation support for applicable formats. Assimp animation support improvements loading FBX files


Voice
Keeping with the social VR times, we acknowledge not everyone wants to press a key or commit to a gesture to speak. In release 58, we've added a threshold-based option for voice communication - simply speak loud enough - and your audio will be communicated to others!

Added new ability to set mic as always-on (thanks /u/cruzjj !) Detect audio activity when mic always-on setting is used Allow user to set mic sensitivity; Use keypress to override mic sensitivity




We connected with some of the team at Enflux, who are very open and great to work with, and we're happy to announce an integration with the Enflux library which supports the shirt/pants kit on our Windows build. Bring on the future with virtual clubs where DJs and dancers have bodies tracked and live performances are brought into the Janus experience!

Check them out at https://www.getenflux.com/



New Reddit translator code (check out he new room coutesy of FireFoxG)

Added OSX support for PDFs

Improvements to colour support, allow setting alpha with R/F keys in edit mode - Colour support. Use CSS(3) or anything modern? Then beyond #rrggbb (and its variants) you may be familiar with functions like rgb/rgba/hsl/hsla to specify colour. Well as of release 58 Janus (the client/markup language) now support those as well! Cycling through hues is cool. It's ke-hue-wl.
Can now hold shift while pressing ctrl+V to copy orientation
Documentation has been updated and changed to reflect feedback from users including an updated and expanded FAQ



The Bugfixes

/u/NXT_Aussie suggested we try it this way - all the messages from git commits. I told him just give the highlights, he thinks it's riveting. "Aussie: nah your struggle amuses me - give me candy" haha! (If you want to watch the epic struggle in real time yourself http://builds.janusvr.com/log.txt )

bugfix crash on exit
bugfix do not cache mtl, bugfix for diffuse and websurface/image_id stuff
fixed pocketspace-linked F5 portal crash
bugfix upon disconnecting/reconnecting (can be triggered by userid change), clear last sent_enterroom_url so enter_room events get sent on subsequent
fix to restore progress loading through AssImp Geom class
Issue with colour and losing alpha component to zero, causing Room Templates not to render
only add RoomTemplates to RoomPhysics when mesh has completed loading
remove error loading color_hsl.mtl file
fix to resolve mtl files relative to room URL
fix look for external image files/textures relative to mtl path if specified
apply diffuse material setting when lighting is disabled
add plumbing so cubemap_radiance_id and cubemap_irradiance_id are JS read/writable attributes
fixed support for userid_pos on Ghosts
always assumes Geometry can be animatable
bugfix/hack, repair broken textures by looking one material index back and use its texture
small change that fixes custom lightmaps.
refactor Geom::CalculateFinalPoses() to make math for xforms more intelligible
fixed VBO generation and proper stride length, detecting animations/bones with meshes
case insensitivity when looking for .MTL extension loading files
allow mtl attribute override loading stuff with ASSIMP
do not allow invisible portals to be clicked on
make websurface cursor active on click for vive/touch
party mode and enter_room method being sent to server
fix for DOMNode::appendChild(), or in JS room.objects[X].appendChild(Y)
fixed crash when loading specific glTF files
encode with carat double quotes when sending Assets over network
fixed mirror portals, use active() instead
fix for random added portals when entering rooms that were previously visited
reduced default specular for AssetShader_Material
fixed teleport bug for Touch/Vive
bugfix do not add user-made portal with parent object
Geom::DrawMaterialGL() only submit draw call is GetIndexCount() > 0
Geom::DrawMaterialGL() pass vertex/index count, not number of floats when submitting draw to Renderer
bugfix windows GeomIOSystem::Open(), bugfix Touch controller laser does not disappear on release
remove RoomObject from RoomPhysics simulation if the collision_id is set to blank
bugfix release global button to stop speaking on controller 1
bugfix for traversing back through portals that have been crossed but were closed
fixed potential for slow mouse movement with gamepad enabled
fixed Diffuse material attribute making things dark when not lit
Back/forward history now work; endless loops when going back/forward should be fixed
bugfix cursor brightness, refactor cursor drawing into Game::DrawCursorGL()
bugfix fix Geom::GetTexturesReady() to return true when all textures are finished loading
bugfix for crashes (only updateanimations on linked Geoms), restore animations for multiplayers, only keep bone indexes for actual bones and not all transforms (max is 128)
bugfix Geom::Unload() proper deallocation to fix crashes

Apr 7, 2017
Janus VR - Aussie
Thank you to all the Steam users for the bug reports and suggestions for improving JanusVR.

Updated controls on Vive so index trigger is used as primary interact button instead of the trackpad button.

Updated controls on Vive so that trackpads perform translation and rotation.

Bugfix: websurfaces with an image_id set.

Bugfix: pocketspace screen when leaving, closing portal, and returning.

Bugfix: portals appearing pressing F5 in pocketspace.

Bugfix: do not save out global tutorial URL in room code .

Bugfix: drag and drop Sound elements from webpages .

Bugfix: in "2D" render mode, do not do comfort mode snap rotations.

New Feature: room.preventDefault() . Call this to suppress default interact/webspace functionality in the room.[onMouseDown/onMouseUp/onClick] functions if you need custom behaviour (note: experimental as we converge on optimal controls/UI).
Apr 7, 2017
Janus VR - Aussie
Release 57.1:

Bugfix: have websurfaces only make request with server once (instead of repeatedly polling until loaded)

Bugfix for Oculus Touch users and walking "sticking" after text

Bugfix: no more tooltips hanging around after clicking e.g. the pocketspace button in 2DUI with mouse

Improvements to virtual keyboard so it can be used two-handed

Minor bugfix to set tex_linear, etc for non-OBJ types

Bugfix: fixed avatar animation "jitter" bug, alternating between idle and jump animations

Middle click for drag+drop, drag and dropping of PDF files

Linux build now attempts to initialize/use OpenVR (until Vulkan support is ready - your mileage may vary!)

PDF support - Link to a PDF in an assetwebsurface to use
...

Search news
Archive
2025
May   Apr   Mar   Feb   Jan  
Archives By Year
2025   2024   2023   2022   2021  
2020   2019   2018   2017   2016  
2015   2014   2013   2012   2011  
2010   2009   2008   2007   2006  
2005   2004   2003   2002