Changelog
Last updated
Last updated
Sep 12, 2023
Added uranus-controller-player-sound.js
, this is a system to automatically add sound effects to local and remote player controllers that respond to player state. This a work in progress, avoid using in production. Example on how to setup is coming in a future SDK version.
Updated all SDK examples to use the updated version of the Player Controller.
Updated uranus-controller-third-person.js
, a major rewrite of the Player Controller script with new actions available (mantling/climbing), more properties exposed to handle input controls, support for several new systems coming to the SDK (server world clustering, player sounds, player "footfarts" particles). The internal template hierarchy has slightly changed so you are advised to follow the SDK examples to update your Player Controller instances. In addition the Anim State Graph has been updated and a few of the animation files (idle, jump, climb).
Updated uranus-controller-ready-player-me.js
, exposed a big number of properties that allow advanced control over the quality of local and remote (separate attributes) Ready Player Me models. These settings can help reduce the model file size <1 MB for fast download times.
Updated uranus-multiplayer-colyseus-room.js
, added support for server based message clustering. Special rooms have been added to the Colyseus Server example that automatically enable this feature (relay_world_tiny
, relay_world_small
, relay_world_room
). The server will broadcast messages only to nearby players based on the clusterDistance
server property. This is useful to improve server performance and reduce bandwidth in large world settings with a huge number of players.
Updated uranus-multiplayer-colyseus
server template:
Updated uranus-controller-animation-timer.js
, with support for a Hide Distance
property that allows you to hide players at a certain distance from the camera. This setting is especially useful when using the new world cluster room type on the Colyseus Server.
Updated uranus-instancer.js
, added support for global instancer cells. This can help easily enable instancing cells across all scene entities. Individual cells defined by the uranus-instancer-cell.js
script are respected.
Updated uranus-effects-environment-snow.js
, added support for targeting the snow effect only to selected materials.
Fixed uranus-instancer-cell.js
, default settings were 0,0,0 which could lead to undesired behavior.
Fixed uranus-instancer-lod.js
, missing LOD preset when layer name on instancer LOD script is empty.
Fixed uranus-effects-skybox-cubemap.js
, render once settings weren't respected in some cases.
Fixed uranus-module-loader.js
, in some cases the module load url wasn't correct.
Fixed uranus-multiplayer-colyseus-room.js
, in some cases selected Ready Player Me avatars from remote players wouldn't load locally.
Jul 19, 2023
Updated the PCUI library used in the SDK to the latest version.
Updated uranus-effects-shadows-timer.js
, to add support for the latest v1.64 PlayCanvas engine version.
Fixed uranus-controller-third-person.js
, right click menu interfering with player movement (mouse context menu has been disabled).
Fixed uranus-controller-third-person.js
, player can't get out of the water without jumping bug.
Jun 18, 2023
Updated all scripts to be compatible with the upcoming PlayCanvas engine v1.64.0, except for the uranus-effects-shadows-timer.js
script (support for this is coming post release).
Updated uranus-effects-planar-reflections.js
, to take into consideration the camera viewing angle. This provides more realistic and physically correct reflections.
Updated uranus-effects-planar-reflections.js
, exposed a Reflection Index attribute to control the camera viewing angle against the reflections effect.
Updated uranus-effects-planar-reflections.js
, exposed reflections map UV channel as an attribute.
Updated uranus-controller-animated-path.js
, added Time Events list property to allow for easy scheduling of app wide events during animation playback.
Updated uranus-controller-animated-path.js
, exposed resume, pause and stop app wide events to easily control any animation path.
Updated uranus-controller-animated-path.js
, added Acceleration Factor attribute to provide real-time control over the animation playback speed.
Updated uranus-controller-third-person.js
, added Force Swim attribute to provide a new player controller behavior. It can be toggled in real-time.
Fixed uranus-instancer.js
, negative scale instanced models breaking on recent PC engine builds (added support for flipFacesFactor).
Fixed uranus-controller-animated-path.js
, missing player controller error thrown on animation end event.
Fixed uranus-controller-third-person.js
, bumpy swimming behavior while the player is floating in the water.
May 10, 2023
Added Demo Solar Appartment
demo, showcasing a top down player controller.
Added Pathfinder Player Agent
example, showcasing the new navmesh based pathfinder system.
Added Animated Path Player
example, showcasing the new animated path controller.
Added Animated Path Camera
example, showcasing the new animated path controller.
Added Animated Path Object
example, showcasing the new animated path controller.
Added uranus-pathfinder-[navmesh/crowd/agent/obstacle].js
, an advanced 3D pathfinder system using a WASM build of Recast/Detour.
Added uranus-controller-picker.js
, a simply physics based entity picker, currently used as a utility script in the pathfinder examples.
Updated uranus-controller-animated-path.js
, expanded the controller with various features: path lines on launch and in editor, editor playback controls, curve types. The script can now animate any type of entity.
Updated uranus-controller-third-person.js
, to automatically calculate the feet position for raycasting. The playerOffsetY
attribute has been removed and is no longer required.
Updated uranus-controller-third-person.js
, with an optional forwardEntity
attribute that can provide the input forward direction when the third person camera is disabled (e.g. on a top down controller).
Updated uranus-controller-third-person.js
, the camera will automatically face the player model direction on initialize.
Updated uranus-controller-third-person.js
, to work with the new pathfinder system. If a uranusPathfinderAgent
script is attached the controller can receive navigation requests automatically.
Fixed uranus-effects-shadows-timer.js
, bug with v1.63 PC engine throwing an error (still VSM shadows aren't supported by this script).
Fixed uranus-terrain-distributor.worker.js
, randomize base option not working in terrain distributor.
Fixed uranus-controller-ready-player-me.js
, ready player me avatar selection not being networked in some cases.
Fixed uranus-effects-skybox-cubemap.js
, bug with skybox seams by disabling mipmaps generation.
Fixed uranus-instancer-paint.js
, with picker state selection failing to execute on latest PlayCanvas editor version.
Apr 17, 2023
All effect scripts that override shader chunks have been updated to work with the new PlayCanvas frontend/backend shader architecture (introduced with PC v1.62.0).
Added uranus-graphics-resolution.js
, to easily control the frame buffer render resolution (0% to 200%). This is a great way to improve performance on lower end devices.
Updated uranus-graphics-settings.js
, with support for graphics (frame buffer) Resolution.
Updated uranus-controller-player-emojis.js
, added attributed to control the final top position (Y) for the emoji animation.
Updated uranus-instancer-paint.js
, to support relative instance scaling.
Updated uranus-terrain-distributor.js
, to allow for randomizing the base point that is extracted from the distribution surface. This allows for varied distribution when aren't using any density increase.
Fixed uranus-controller-third-person.js
, VR jumping bug when looking upwards.
Fixed PCUI library loading bug with script loading order dependencies, now all PCUI dependencies are packed in a single file.
Apr 03, 2023
Added Demo Solar City
to showcase, among others, the use of hardware occlusion culling in a real world setup.
Added Hierarchical Building LOD + Occlusion Culling
to showcase a simple setup of hardware occlusion culling.
Added uranus-instancer-occlusion.js
, a powerful yet easy to use system to run hardware based occlusion queries. Automatic shape calculation, occluder vs occludee mode, referenced entities, event callbacks.
Updated all examples and demos that included multiplayer to point to the new server (Colyseus Arena is no longer available).
Updated uranus-effects-shadows-timer.js
, added Dir Lights toggle attribute.
Updated uranus-effects-planar-reflections.js
, with an optional mask sampler to mask the reflections using a grayscale texture (used in the new Demo Solar City).
Updated uranus-controller-animation-timer.js
, added support for occlusion culling. Animated characters that are occluded will automatically stop the playback of their skeleton.
Updated uranus-graphics-settings.js
, added Default Controller attribute to automatically select the default controller from the provided list (if available).
Updated uranus-instancer.js
, major performance optimizations especially when using a large number of instances and cells. Pushing the instancer to the GPU has better performance now (30% increase).
Updated uranus-effects-skybox.js
, performance optimizations. The clouds now render with a far-away perspective close to the horizon. The clouds now receive lighting from the sun depending on their position on the sky.
Renamed uranus-instancer-occluder.js
to uranus-instancer-zone.js
, to free the name for the occlusion culling script.
Fixed uranus-controller-third-person.js
, player rotation being wrong after exiting VR mode.
Fixed uranus-controller-third-person.js
, player angleY not being networked correctly when running in VR mode.
Fixed uranus-controller-third-person.js
, mouse/touch issue on input out/end events
Fixed uranus-controller-third-person.js
, lerping angle issue when rotating to > 360 degrees, now the player will correctly rotate using the minimum required angle.
Fixed uranus-controller-third-person.js
, player getting stuck on edges after jumping or falling.
Fixed uranus-effects-shadows-timer.js
, missing samplers shader error coming from PlayCanvas clustered lights renderer.
Fixed uranus-effects-skybox-cubemap.js
, render once flag sometimes will not renderer the cubemap on the first frame as expected.
Fixed uranus-instancer-data.js
, in some cases single instance data buffers will get prematurely deallocated from memory resulting in their instances not getting rendered.
Fixed uranus-instancer.js
, in some cases the instancer will update a vertex buffer even when no instancer were visible.
Fixed uranus-controller-third-person.js
, bug that forced the player to exit the flying or swimming states early.
Fixed uranus-effects-skybox-cubemap.js
, bug that will not updated the referenced materials with the rendered cubemap on the first frame.
Mar 20, 2023
Added Demo Solar XR Room
demo to provide an easy to start Web XR enabled scene (optional multiplayer requires an Enterprise license).
Updated uranus-instancer.js
, added LOD Multiplier to easily scale performance by affecting the LOD distances on the fly.
Updated uranus-effects-material-surface-color.js
, added separate surface noise channels.
Updated uranus-effects-shadows-timer.js
, added distance based shadows culling for spot/omni lights to increase performance. Local shadows can now be enabled only when the selected active camera is close enough.
Updated uranus-effects-skybox-cubemap.js
, added skybox time monitor property to have the skybox render only when the skybox time has changed.
Updated uranus-effects-water.js
, added specular blinking and render surface vertical depth support for improved depth based effects.
Updated uranus-instancer.js
, added dynamic cells support auto and manual options. This completes the support of dynamic entities included in instancer cells.
Updated uranus-terrain-texture.js
, the terrain texture shader now can use multiple noise channels. This allows packing different noise masks in a single texture file.
Updated uranus-terrain-distributor.js
, added surfaceRotation
and nonValidSurfaces
distribution options.
Updated three-mesh-bvh.js
, to its latest public version.
Updated seedrandom.js
, to include an instance of the library in the main JavaScript thread.
Updated uranus-controller-spawn-area.js
, added spawn area tag support to the controller.
Updated uranus-controller-virtual-joystick.js
, added option to keep the virtual controller in place.
Updated uranus-effects-planar-reflections.js
, added multiple camera properties observers.
Updated uranus-effects-shadows-timer.js
, added option to toggle on/off local lights handling.
Updated uranus-effects-skybox-cubemap.js
, added render once option.
Feb 19, 2023
Added Terrain + Distributors + Surface Color (Enterprise License)
example scene to provide an easy to start base with several open world SDK systems.
Updated uranus-terrain-texture.js
, improved terrain texture shader with better noise support for texture border/slope/color variation and support for noise packing.
Updated uranus-effects-water.js
, added normals smoothing based on water depth in the water effect.
Updated uranus-effects-water.js
, with vertex waves (position and normals) and specular highlights.
Updated uranus-effects-material-surface-color.js
, added Surface Blend option for blending color and normals from a surface to any model (partially or fully).
Updated uranus-effects-render-surface.js
, added render depth option for render surface effect. Optionally any render surface can render to a depth buffer (required by the new Surface Blend surface color effect).
Updated uranus-effects-render-surface.js
, added render normals preset for rendering a surface.
Updated uranus-instancer-data.js
, added support for calling instancer data with custom (non JSON) data, in code.
Updated uranus-effects-material-distance-fade.js
, added material distance fade effect shader update on attribute change.
Updated uranus-instancer.js
, added bypass dynamic cells properties on instancer, bug fixes on instancer culling state methods.
Updated uranus-terrain-distributor.js
, to allow for fixed height. Useful when raycasting based distribution is required but the final instances should be placed at a fixed height.
Updated uranus-utilities.js
, refactored utilities methods.
Fixed uranus-terrain.js
, the initial box primitive model that was rendered while the terrain is loading will be now hidden.
Fixed uranus-instancer-data-rigidbody.js
, bug with data rigidbody not being able to create a shape if mesh implementation was missing.
Fixed uranus-effects-material-surface-color.js
, material surface color wind timer bug (sync issue).
Fixed uranus-instancer.js
, bug with dynamic cells when using instancer data non entity instances.
Fixed uranus-effects-material-surface-color.js
, visual glitches on surface color effect by moving the depth calculation on the vertices.
Fixed uranus-effects-render-surface.js
, instancing culling bug on render surface effect.
Fixed uranus-effects-skybox.js
, time change on skybox effect bug.
Fixed uranus-terrain-distributor.worker.js
, terrain distributor bug, collision meshes position and scaled was wrong in some cases.
Jan 29, 2023
Added uranus-effects-environment-fog.js
, added a material based procedural environment snow effect.
Updated Solar Island demo to v1.1.0.
Updated Solar Pool demo to v1.1.0 and added the new environment snow effect.
Updated Solar Stage demo to v1.2.2 and added player emojis (press keyboard E to bring the emoji selector up).
Updated uranus-instancer-cell.js
, added support for dynamic entities on instancing cells. This allows entities to be culled using their spawn cell but update their position/rotation/scale at the same time (although cell swapping isn't supported).
Updated uranus-effects-water.js
, a major rewrite adding better reflections, refraction, specular highlights and animated depth based 2D caustics.
Updated uranus-effects-planar-reflections.js
, to support rendering a refraction map together with reflections. The developer can use one or more PlayCanvas layers to drive which models render to the refraction map.
Updated uranus-effects-shadows-timer.js
, to work with the PlayCanvas rendering changes introduced in PC engine v1.60.0.
Updated uranus-physics-collider.js
, to use meaningful names on cached collision shapes to make debugging easier.
Fixed uranus-controller-player-emojis.js
, updated the emoji CDN to use CloudFront.
Bug fixes in all scenes/scripts that required updates to be compatible with PC engine v1.60.0.
Jan 07, 2023
Added Multiplayer Colyseus + Player Emojis (Enterprise License)
example scene.
Added Multiplayer Colyseus + VR (Enterprise License)
example scene.
Added uranus-controller-player-emojis.js
, an emoji interface for the main player controller.
Updated uranus-effects-shadows-timer.js
, to support changes in PlayCanvas engine v1.59.0.
Updated uranus-controller-third-person.js
, with VR and Gamepad input support.
Updated uranus-controller-ready-player-me.js
, to make auto show of the character selection screen optional. An app wide event is available for manually invoking it (uranusControllerReadyPlayerMe:showCharacterSelection
).
Updated uranus-graphics-settings.js
, an app wide event is now available to set the graphics preset (UranusGraphicsSettings:onPresetChange
).
Updated uranus-effects-skybox-animate.js
, a set time app wide event has been added (uranusEffectsSkyboxAnimate:onSetTime
).
Updated uranus-effects-planar-reflections.js
, added update frequency property to improve performance by skipping rendering on a number of frames.
Updated uranus-effects-planar-reflections.js
, added a world position offset for the reflection plane to allow finer control.
Updated uranus-controller-ready-player-me.js
, added optional saving of the last selected avatar to local storage.
Updated uranus-controller-ready-player-me.js
, added a parent iframe div element and close event handlers, useful for appending your own UI on top of the Ready Player Me screen modal.
Updated uranus-effects-skybox-animate.js
, added property to animate the skybox fog density.
Updated uranus-instancer-data.js
, added support for local position/rotation offset based on the position of the parent entity.
Updated uranus-controller-third-person.js
, added option for moving t he player towards the camera view direction in VR mode.
Updated uranus-controller-third-person.js
, added an optional sprint = 0 check to fully disable running if required.
Updated uranus-effects-material-video.js
, added a custom play event property on video material effect.
Updated uranus-controller-spawn-area.js
, added face angle range on the spawn area to control the facing direction of spawn players.
Updated uranus-instancer.js
, added optional tag to skip material cloning on specific materials.
Fixed uranus-instancer.js
, reference missing bug thrown.
Fixed uranus-instancer.js
, shadows sometimes will not update and stay stuck.
Fixed uranus-instancer.js
, multiple layers on the same component sometimes would result in the same payload being used.
Fixed uranus-instancer-data.js
, sometimes async parsing would exit late, even after the parent entity is destroyed.
Fixed uranus-controller-third-person.js
, fixed missing audio listener component error.
Fixed uranus-effects-planar-reflections.js
, the camera rect wasn't taken into account.
Fixed uranus-effects-planar-reflections.js
, horizontal fov on camera breaking planar reflections.
Nov 21, 2022
Added Animated Player Path
example scene.
Added uranus-controller-spawn-area.js
, to allow for random player spawn position in predefined areas.
Added uranus-controller-animated-path.js
, to automatically animate the player controller as soon as he steps in a trigger.
Added uranus-controller-animation-custom.js
, to play animations on the default player controller using global events.
Added uranus-effects-skybox-animate.js
, to easily animate the skybox to a selected time.
Added uranus-effects-material-texture-mix.js
, to easily mix animate on the same material between two diffuse/emissive maps.
Updated uranus-controller-third-person.js
, added flying to third person controller.
Updated uranus-controller-third-person.js
, added lock player to camera rotation script attribute.
Updated uranus-controller-ready-player-me.js
, added support for local placeholder model while remote is loading.
Updated uranus-instancer-occluder.js
, occluder script now will exclude any entities/components initially disabled.
Updated uranus-multiplayer-colyseus-chat.js
, cleaned up event handlers on chat script.
Updated uranus-multiplayer-colyseus-chat.js
, added optional group filtering for sent/received messages (allows private/group chats rooms).
Updated uranus-multiplayer-colyseus-chat.js
, added get connected users event/method.
Updated uranus-multiplayer-agora-media.js
, added optional url param pass for broadcasting users.
Updated uranus-multiplayer-agora-media.js
, added support for a fixed Agora channel ID that works outside of Colyseus.
Updated uranus-multiplayer-colyseus-server.js
, added optional url params to control the selected server.
Updated uranus-effects-skybox.js
, bug fixes.
Fixed uranus-controller-third-person.js
, player template wouldn't persist between networked room changes.
Fixed uranus-controller-third-person.js
, fixed bug that blocked jumping out of the water.
Fixed uranus-editor-sdk.js
, fixed bug that broke editor scripting execution due to recent changes in the PlayCanvas editor.
Oct 21, 2022
Added Demo Solar Gallery
example scene.
Added Multiplayer Colyseus + Chat
example scene.
Added uranus-multiplayer-agora-client.js
, a script to handle connectivity with the Agora cloud service.
Added uranus-multiplayer-agora-media.js
, a script to easily define local and global audio/video rooms.
Added uranus-multiplayer-agora-screen.js
, a script to easily bind 3D surfaces for live video streaming with Agora.
Added uranus-multiplayer-colyseus-chat.js
, an easy to use text based chat module.
Added uranus-instancer-occluder.js
, an easy to setup occluder script that works with both the Uranus Instancer and with regular render/model components.
Added uranus-module-loader.js
, a utilities script to easily load ES6 modules.
Updated Hierarchical Building LOD + Occluder
example scene.
Updated uranus-multiplayer-agora-media.js
, to support 3D spatial mono and stereo audio.
Updated uranus-controller-ready-player-me.js
, to support custom layers rendering.
Updated uranus-multiplayer-colyseus-room.js
, with support for multiple local and global networking rooms, that can be used in parallel.
Updated uranus-controller-third-person.js
, with a custom username attribute that is automatically networked.
Numerous bug fixes on the Colyseus networking solution.
Sep 08, 2022
Added Animation LOD
example scene.
Added Multiplayer Colyseus
example scene.
Added Ready Player Me + Multiplayer Colyseus
example scene.
Updated Demo Solar Stage
with multiplayer and ready player me avatars.
Added uranus-controller-animation-timer.js
, a script to easily improve performance on animated characters by introducing distance based LOD playback.
Added uranus-multiplayer-colyseus-[server/room/player].js
, scripts for easy to use networking with Colyseus.io.
Added uranus-controller-ready-player-me.js
, to easily import ready player me avatars to any PlayCanvas scene. The script works with the Multiplayer scripts.
Updated uranus-controller-third-person.js
, to work with the Multiplayer scripts. The player controller is automatically networked if the uranus-multiplayer-colyseus-player.js
is attached.
Updated effect scripts and SDK templates to work with PlayCanvas engine version 1.56.0.
Fixed uranus-effects-skybox-cubemap.js
that made mini stats flash. The cubemap cameras now render with priority 0. If all player controlled cameras have a higher than 0 priority the mini stats will render with no flashing.
Aug 07, 2022
Added Demo Solar Stage.
Added uranus-effects-material-video.js
, effect script to easily play mp4 video files, local and remote, on any model surface.
Added uranus-effects-skybox-cubemap.js
, extracted skybox cubemap effect script to a separate script file and added local cubemap projection settings. The effect can now be used to render box reflections for any kind of box like volume.
Updated uranus-effects-skybox-cubemap.js
, added support for more than one materials to receive the skybox cubemap.
Updated all SDK scripts to be compatible with PlayCanvas engine v1.55.3.
Updated uranus-graphics-settings.js
, made map button optional in graphics settings.
Fixed uranus-graphics-settings.js
, fixed planar reflections toggle on settings not working correctly.
Aug 01, 2022
Added Demo Solar Pool.
Added Demo Solar Supermarket.
Updated Demo Solar Island with post effects support.
Updated uranus-effects-shadows-timer.js
, added support for point/spot light shadows timer.
Updated uranus-utilities.js
, to support PlayCanvas web builds when using web worker scripts.
Updated uranus-graphics-settings.js
, to support smaller min shadows in the widget.
Updated uranus-graphics-settings.js
, with local shadows toggle for point/spot lights.
Updated uranus-graphics-settings.js
, with post effects toggle.
Updated uranus-graphics-settings.js
, added support for multiple player controllers when using post effects.
Updated uranus-instancer.js
, with special tag to exclude certain materials from rendering shadows.
Updated uranus-effects-planar-reflections.js
, improved planar reflections shader to support normals distortion map.
Updated uranus-effects-planar-reflections.js
, added support for reflections shader properties per material.
Updated uranus-controller-third-person.js
, added mouse pointer lock attribute.
Fixed uranus-effects-planar-reflections.js
, planar reflections distortion issue on portrait screens.
Fixed uranus-controller-third-person.js
, jump/fall actions to take into account delta time.
Fixed uranus-effects-environment-fog.js
, environment fog zero shader division bug.
Fixed uranus-graphics-settings.js
, missing button error thrown.
Fixed uranus-instancer.js
, bug with entity disable tag not working with deleted entities.
Fixed uranus-effects-shadows-timer.js
, bug with missing shadow cascades rendering when using shadows timers.
Jul 17, 2022
Added playcanvas-terrain.js
based on the default PlayCanvas terrain example with in editor execution support.
Updated uranus-effects-planar-reflections
to use a secondary camera, instead of overriding the pre/post layer render methods. This effect can now be used with post effects without any issue.
Updated uranus-terrain-distributor.js
to support multiple models for calculating is AABB.
Fixed uranus-effects-planar-reflections
that produced shaking reflections to using a secondary camera.
Fixed uranus-effects-environment-fog.js
shader bug that throwed an exception on runtime.
Jul 07, 2022
Added new SDK example Solar Island
, a massive open world terrain (3km x 3km).
Updated uranus-controller-third-person
to support keyboard arrow keys.
Updated uranus-controller-third-person
to avoid locking the mouse pointer if mouse is not over the PlayCanvas canvas element.
Updated uranus-controller-third-person
with lock player and camera movement attributes.
Updated uranus-graphics-settings
with a 24 hours daytime slider.
Updated uranus-graphics-settings
with a 0 to 1 global sound level slider.
Updated uranus-graphics-settings
with device pixel ratio setting.
Updated uranus-graphics-settings
with auto preset selection based on device type.
Updated uranus-effects-sky
with min/max attributes for raleigh, allowing for more dramatic sunrises/sunsets without affecting the regular day color.
Updated uranus-terrain-distributor
with optional onReady event.
Jul 01, 2022
Added uranus-controller-third-person
a fully functional third person player controller that can walk, run, swim and jump. Supports both mixamo and ready player me skeletons.
Added uranus-controller-virtual-joystick
to be used by player controllers for touch input using virtual joysticks.
Added uranus-effects-normals-override
that can override world normals on any material. Useful when shading flat surfaces like vegetation/billboards.
Added uranus-effects-material-contrast
to allow setting the screen brightness and contrast without using a post effect (works by overriding globally material shaders).
Added uranus-graphics-settings
an easy to use script that includes a PCUI dialog handling basic graphics presets and settings.
Added an optional Ammo Bullet 3.0 library.
Update all material
effect scripts to accept multiple materials on the same script instance.
Updated uranus-effects-material-wind
with 2D billboard support.
Updated uranus-instancer-data-rigidbody
with support for primitive colliders.
Updated uranus-effects-water
with support for the new camera request depth map API that shipped with PlayCanvas v1.54.0.
Updated uranus-effects-water
with support for multiple referenced cameras. The script will filter all cameras on each frame update and use the active one, making it easy to switch player controllers.
Updated uranus-effects-shadows-timer
adding per camera timers.
Updated uranus-instancer-cell
adding per cell visibility caches to improve performance.
Updated uranus-terrain
adding support for regular trimesh colliders for terrains.
Updated uranus-effects-water
adding simple underwater fog when camera is under the water level.
Updated uranus-effects-planar-reflections
to not require an active camera reference to render simplifying its use.
Updated uranus-effects-planar-reflections
added resolution factor to reduce the render target size and pixel density.
Updated uranus-effects-environment-fog
to support CPU/GPU based particles rendered in scene when this effect is enabled.
Fixed uranus-instancer
with LOD pers shadow setting not working.
Fixed uranus-effects-render-surface
with disabling lights/shadows not working as expected when multiple layers were selected.
Fixed uranus-instancer
that made the instances flicker when using cells with a > 0.0 update time.
Fixed .worker
scripts with malformed URLs that broke workers loading on published builds.
Fixed uranus-effects-shadows-timer
that prevented the effect from running in editor.
Fixed uranus-terrain-distributor
to detach all pending event handlers in case the entity/script gets disabled.
Fixed uranus-editor-sdk
that didn't respect inEditor being disabled and continued loading the script that included this property.
May 30, 2022
Added uranus-terrain-distributor.worker.js
, moved the terrain object distributors outside of the terrain generation worker. That improves performance since it allows running several workers in parallel. And at the same time allows for more complex placement logic.
Updated uranus-instancer-cell.js
to take into account the size of the mesh instance at the borders when calculating the cell bounding box.
Updated uranus-terrain-distributor.js
, added Min Distance property that can be used to control the minimum placement distance between the objects.
Updated uranus-terrain-distributor.js
, fixed wrong loading order for distributors that used mesh surfaces with preload set to off.
Updated uranus-effects-environment-fog.js
, improved the fog color by sampling across the horizon line instead of a single pixel.
Updated uranus-effects-environment-fog.js
, fixed a bug that prevented scene change for other effects that use global fog uniforms (e.g. water).
Updated uranus-effects-multi-material.js
, fixed metalness/specula error when using a channel without a mask.
Updated uranus-instancer-data-rigidbody.js
, added support for scaled trimesh shapes for no entity instances (buffer). You can now spawn quickly large number of rigid bodies with different scaling (varied by step).
Updated uranus-instancer-data.js
, added save button in editor that can quickly dump the active buffer into a JSON file. Useful for saving the distributor results for use with the painter.
Updated uranus-terrain-texture.js
, added texture variation to break the tiling of seamless textures on terrains.
May 24, 2022
Added uranus-instancer-data-rigidbody.js
script that can spawn rigid bodies directly from instanced data buffers, bypassing the need to spawn regular entities. That improves performance and memory allocation by a big factor for large numbers of objects.
Updated uranus-instancer-cell.js
with an updateFrequency
and an updateShadowsFrequency
properties to control how often culling updates on those grouped instances. Increasing the frequency time results in better performance when a large number of cells is used.
May 22, 2022
Added uranus-effects-planar-reflections.js
script that enables easy to use planar reflections on any material/mesh instance.
Added uranus-instancer.worker.js
for async calculating cells on single instance instancing buffers.
Updated uranus-effects-water.js
with support for optional planar reflections.
Updated uranus-effects-environment-fog.js
with fogDensityMax
uniform to control the density of the ground fog.
Updated uranus-instancer.js
with excludeShadowsLayers
property to disable shadow payload generation per layer.
May 13, 2022
Massive improvement in memory usage (JS heap) for instances using data cells.
Fixed memory leak with distribution buffers returned by the web worker.
Script attributes titles/descriptions fixes.
May 11, 2022
Removed versioning from header to avoid polluting commits.
May 07, 2022
Fixed: uranus-instancer-data.js
broke when input .json file wasn't an array.
Fixed: uranus-instancer-painter.js
failed to paint instances on a blank data .json file.
Fixed: uranus-instancer-data.js
data parsing failed when template element index wasn't used.
Fixed: uranus-utilities.js
added empty script type so the script executes in editor.
May 07, 2022
Initial release for early access.
Added support for the Earthatile library with in editor rendering (). This brings support for the new Google Map Tiles API to PlayCanvas.
Added Earthatile example scene. To run it a Google Map Tiles API key is required, you can register for one here: