- Latest releases of popular Game Development repositories
Release notes
A lot of work this year went into improving PyBullet for robotics and reinforcement learning research. The SDK was used in several published research papers by Google Brain Robotics, including our RSS 2018 paper "Sim-to-Real: Learning Agile Locomotion For Quadruped Robots" , see the video here Some of the improvements are related to maintaining determinism when saving and restoring a simulation, and improving the accuracy of GJK convex collision detection and btMultiBody.
Release notes
This maintenance update fixes some issues in the 2.1 branch, updates thirdparty libraries, and updates the export templates to matching changing distribution requirements of Google Play and Apple Store. In particular, the Android templates now include x86_64 libraries and target the Android SDK 28. The iOS templates now target the iOS SDK 12.1.
Release notes
This is the first release of the GameNetworkingSockets library, coinciding with the first available version in the Steamworks SDK.
Version 1.0.x will maintain compatiblity with SteamworksSDK 1.44.
Release notes
Release notes are available here.
Required SDKs are attached to this post.
Release notes
4.0.0
Major updates
- New fancy forum! (Deltakosh)
- Inspector v2.0. Dev log (Deltakosh)
- Added support for parallel shader compilation (Deltakosh)
- Added Object Based Motion Blur post-process (julien-moreau)
- Added support for ammo.js as a physics plugin (Composite objects, motors, joints) (TrevorDev)
- Added support for soft bodies, which are 3D softbody, 2D cloth and 1D rope, in ammo.js physics plugin (JohnK)
- Added support for Convex Hull Impostor using ammo.js plugin (MackeyK24)
- Added
AmmoJSPlugin
scene file loader (MackeyK24)
- Added support for WebXR (TrevorDev)
- Added
customAnimationFrameRequester
to allow sessions to hook into engine's render loop (TrevorDev) - Added
Camera customDefaultRenderTarget
to allow cameras to render to a custom render target (e.g., XR framebuffer) instead of the canvas (TrevorDev) - Added webXR camera which can be updated by a
webXRSession
(TrevorDev) - Added
webXRSessionManager
to bridgexrSession
to babylon's camera/engine (TrevorDev) - Added
webXRExperienceHelper
to setup a default XR experience (TrevorDev) - Added
WebXREnterExitUI
andWebXRManagedOutputCanvas
classes to configure the XR experience (TrevorDev) - Added
WebXRInput
to manage controllers for the XR experience (TrevorDev) - Control WebXR camera rotation using parent container (TrevorDev)
- Added
- GUI:
- Added
control.useBitmapCache
to optimize re-rendering of complex controls by keeping a cached version (Deltakosh) - Added new ImageBasedSlider to let users customize sliders using images (Deltakosh)
- Added support for clipboard events to let users perform
cut
,copy
andpaste
events (Saket Saurabh) - Added new ScrollViewer with mouse wheel scrolling for larger containers to be viewed using Sliders (JohnK and Deltakosh)
- Moved to a measure/draw mechanism (Deltakosh)
- Added support for nine patch stretch mode for images. (Deltakosh)
- Added invalidateRect to AdvancedDynamicTexture to improve perf for heavily populated GUIs, works with shadows (TrevorDev)
- Added
- Migrated the code to modules and deploy ES6 npm packages (Sebavan)
- Added TrailMesh class. Credit to furcatomasz (danjpar)
- Support rendering to a multiview outputRenderTargetTexture with multiview engine component to improve performance for XR scenarios (TrevorDev)
- PBR (Sebavan):
- Added clear coat
- Added anisotropy
- Added sheen
- Added sub-surface
- Added energy conservation through multiscattering BRDF
- Added Inspector Debug Mode
- Added Smith Height Correlated Visibility term (white paper)
- Added SH Harmonics
- Added STL exporter (pryme8)
Optimizations
- Added an engine creation option to compile all shaders with medium precision (Deltakosh)
- Optimized effect reused for shadow maps (Deltakosh)
- Added support for scissor testing (Deltakosh)
- Improved shader precision detection (Deltakosh)
- Added support for bone matrix texture, allowing skeletons to use a texture instead of uniforms when possible (Deltakosh)
- Refactored of the SolidParticleSystem code for performance and code quality improvement (barroij)
- Added per solid particle culling possibility:
solidParticle.isInFrustum()
(jerome) - Performance-oriented changes (barroij):
- Prevented avoidable matrix inversion or square root computation.
- Enabled constant-time removal from the
transformNodes
array andmaterials
array of theScene
. As a consequence, the order of the element within these arrays might change during a removal. - Enabled constant-time removal from the
instances
array of aMesh
. As a consequence, the order of the element within this array might change during a removal. - Stopped calling
Array.splice
on thescene.meshes
array and on theengine._uniformBuffer
when removing an element. As a consequence, the order of the element within these arrays might change during a removal. - Added an option
useGeometryUniqueIdsMap
in theScene
constructor options. When set to true, eachScene
isntance will have and will keep up-to-date a map of geometry peruniqueId
. This is to avoid browsing all the geometries of the scene when a new one is being pushed. It also enables a removal of geometry in constant time. Disabled by default. - Added an option
useMaterialMeshMap
in theScene
constructor options. When set to true, eachMaterial
isntance will have and will keep up-to-date a map of its bound meshes. This is to avoid browsing all the meshes of the scene to retrieve the ones bound to the current material when disposing the Material. Disabled by default. - Added an option
useClonedMeshhMap
in theScene
constructor options. When set to true, eachMesh
will have and will keep up-to-date a map of cloned meshes. This is to avoid browsing all the meshes of the scene to retrieve the ones that have the current mesh as source mesh. Disabled by default. - Added
blockfreeActiveMeshesAndRenderingGroups
property in theScene
, following the same model asblockMaterialDirtyMechanism
. This is to avoid callingScene.freeActiveMeshes
andScene.freeRenderingGroups
for each disposed mesh when we dispose several meshes in a row. Enable by settingblockfreeActiveMeshesAndRenderingGroups
totrue
just before disposing the meshes, then set it back tofalse
just after. - Prevented code from doing useless and possible time consuming computation when disposing the
ShaderMaterial
of aLinesMesh
. - Make a better use of the
isIdentity
cached value within aMatrix
. - Make sure we browse all the submeshes only once in
Material.markAsDirty
function. - Added an
Vector3.UnprojectRayToRef
static function to avoid computing and inverting the projection matrix twice when updating a Ray.
- Added per mesh culling strategy (jerome)
Updates
GUI
- Added
inputText.onKeyboardEventProcessedObservable
(Deltakosh) - Added
button.image
andbutton.textBlock
to simplify access to button internal parts (Deltakosh) - Added
slider.displayThumb
to show/hide slider's thumb (Deltakosh) - Added
grid.rowCount
,grid.columnCount
andgrid.getChildrenAt()
(Deltakosh) - Added
Control.AllowAlphaInheritance
to let users control the way alpha is used (inherited or not) (Deltakosh) - Added support for performing operations like select all, text highlight, delete selected in
inputText
(Saket Saurabh) - Added
inputText.onTextCopyObservable
,inputText.onTextCutObservable
andinputText.onTextPasteObservable
to inputText (Saket Saurabh) - Added
AdvancedDynamicTexture.onClipboardObservable
to observe for clipboard events in AdvancedDynamicTexture(Saket Saurabh) - Added
inputText.onFocusSelectAll
to allow complete selection of text on focus event.(Saket Saurabh) - Added mouse drag to highlight text in
inputText
(Saket Saurabh)
Core Engine
- Added
reflectionMatrix
support for morecoordinatesMode
's (Dennis Dervisis) - Added new
WebRequest
class to centralize all network requests. Can be used to configure headers of all network requests (Deltakosh) - Added
WebRequest.CustomRequestHeaders
,WebRequest.UseCustomRequestHeaders
to send Custom Request Headers alongside XMLHttpRequest's i.e. when loading files (Tools.Loadfile) from resources requiring special headers like 'Authorization' (susares) - Added support for user clip planes to LineMeshes (Deltakosh)
- Added
shadowGenerator.onBeforeShadowMapRenderMeshObservable
(Deltakosh) - Added support for
scene.customLODSelector
to let users define their own LOD rules (Deltakosh) - Added
animatable.onAnimationLoopObservable
(Deltakosh) - Added
animationGroup.onAnimationLoopObservable
(Deltakosh) - Added FlyCamera for free navigation in 3D space, with a limited set of settings (Phuein)
- Added
Engine.onNewSceneAddedObservable
(Deltakosh) - Added new
PassCubePostProcess
to render cube map content (Deltakosh) - Added support for utility layer for SkeletonViewer (Deltakosh)
- Added utility function
Tools.BuildArray
for array initialisation (barroij) - Introduced a new
IOfflineSupport
interface to hide IndexedDB (Deltakosh) PBRMaterial
andStandardMaterial
now use hot swapping feature for shaders, allowing them to keep using a previous shader while a new one is being compiled (Deltakosh)- Aligned
BoundingBox
andBoundingSphere
API and behavior for clarity and simplicity, removingBoundingBox
's methodsetWorldMatrix
and disallowing modification of the underlying world matrix except by callingreConstruct
orupdate
(barroij) - Make sure that
Material.markAsDirty
and all themarkXXXDirty
methods early out whenscene.blockMaterialDirtyMechanism
is true. (barroij) - Add updateUpVectorFromRotation to target camera to allow the up vector to be computed from rotation (TrevorDev)
- Added
wrap
boolean parameter toCreateBox
options to orientate images vertically on box sides (JohnK) - Added opacity texture support to
GridMaterial
(Deltakosh) - Added support for deserializing morph target animations in animation groups
- AssetContainer dispose method (TrevorDev)
- Loading texture with KTX will fallback to non-KTX loader if KTX loader fails (TrevorDev)
Layer
are now supported inRenderTargetTexture
(Sebavan)- Made onscreen joystick's canvas public (TrevorDev)
- Added
.serialize
and.Parse
functions inReflectionProbe
to retrieve reflection probes when parsing a previously serialized material (julien-moreau) - Added
clearGizmoOnEmptyPointerEvent
options andonAttachedToMeshObservable
event to GizmoManager (TrevorDev) - Added support for overriding the mesh used for the world matrix for a mesh with a skeleton (bghgary)
- Added support for linking a bone to a transform node (bghgary)
- Factored out
setDirection
function fromlookAt
for transform node (bghgary) - Added support for setting renderingGroupId and creating instances to
AxesViewer
(bghgary) - Added vScale inversion of compressed KTX textures as they are inverted in the file and
UNPACK_FLIP_Y_WEBGL
is not supported by KTX (TrevorDev) - Enabled dragging in
boundingBoxGizmo
without needing a parent (TrevorDev) - Added
InputsManager
and keyboard bindings forFollowCamera
(mrdunk) - Fixed typo in
FollowCamera InputsManager
when limiting rotation to 360 degrees (mrdunk) - In
FollowCamera InputsManager
, allowed choice of modifier key (Alt, Ctrl and/or Shift) for each camera movement axis (mrdunk) - Added
MouseWheel
bindings forFollowCamera
(mrdunk) - Tweaked
MouseWheel
bindings forFollowCamera
orientations (mrdunk) - Added maximum and minimum limits for
FollowCamera
parameters (mrdunk) - Converted
ArcRotateCamera
to use newBaseCameraPointersInput
(mrdunk) - Added transparency support to
GlowLayer
(Sebavan) - Added option
forceDisposeChildren
tomultiMaterial.dispose
(danjpar) - Added
Pointer
bindings forFollowCamera
(mrdunk) - Added Inspector light gizmo with icons (TrevorDev)
- Added option
multiMultiMaterials
tomesh.mergeMeshes
(danjpar) - Exposed fallback camera distortion metrics option in
vrExperienceHelper
(TrevorDev) - Added
OnAfterEnteringVRObservable
towebVRHelper
(TrevorDev) - Added support for side by side and top/bottom VR videos in the video dome (Sebavan)
- Added unit tests for
BaseCameraPointersInput
andArcRotateCameraPointersInput
(mrdunk) - Prevented
onActiveCameraChanged
from being fired when rendering rig cameras (TrevorDev) - Added
MeshExploder
class (danjpar) - Enabled
Observable
s to make observers top or bottom priority (TrevorDev) - Prevented mesh outline from being shown through the mesh when it's transparent (TrevorDev)
- Prevented
DeviceOrientationCamera
from being modified by mouse input when the orientation sensor is active (TrevorDev) - Added
LoadScriptAsync
tools helper function MackeyK24) - Added
customShaderNameResolve
toPBRMaterialBase
to allow subclasses to specify custom shader information MackeyK24) - Added
PBRCustomMaterial
to material library to allow easy subclassing of PBR materials MackeyK24) - Added custom defines for roughness and microsurface in
PBRCustomMaterial
Lockphase) - Added auto-exposure support in
StandardRenderingPipeline
when HDR is enabled (julien-moreau) - Added
EquiRectangularCubeTexture
class to enable the usage of browser-canvas supported images asCubeTexture
s (Dennis Dervisis) - Added
EquiRectangularCubeTextureAssetTask
to be able to loadEquiRectangularCubeTexture
s via Asset Manager (Dennis Dervisis) - Added
Matrix.RotationAlignToRef
method to obtain rotation matrix from one vector to another (sable) ArcRotateCamera
will now cache the necessary matrices when modifying its upVector, instead of calculating them each time they're needed (sable)- Updated
DracoCompression
to use web workers (bghgary) - Added
LOD Babylon Mesh Entities
to support to babylonFileLoader.ts (MackeyK24)
OBJ Loader
- Added color vertex support (not part of standard) (brianzinn)
- Added option for silently failing when materials fail to load (brianzinn)
- Added option to skip loading materials (brianzinn)
glTF Loader
- Added support for mesh instancing for improved performance when multiple nodes point to the same mesh (bghgary)
- Switched to create
TransformNode
objects instead ofMesh
objects for glTF nodes without geometry (bghgary) - Added glTF JSON pointers to metadata of nodes, materials, and textures (bghgary)
- Enabled loading KTX textures in the gltf2 loader when textureFormat is set on engine (TrevorDev)
- Fixed skinned meshes to behave as intended by glTF (bghgary)
- Set an override mesh on skinned meshes instead of reparenting to the
__root__
transform node - Linked loaded bones to the transform node created for the corresponding glTF node
- Set an override mesh on skinned meshes instead of reparenting to the
- Improved load performance by blocking material dirtying during load (bghgary)
- Added animation group target override to support custom animation targets (MackeyK24)
- Added
loadMeshPrimitiveAsync
extension support (MackeyK24)
glTF Serializer
- Added support for exporting
KHR_lights_punctual
- Prevented mesh normals from being flipped when exporting a glTF from a Babylon scene with right-handed coordinate system (Nicholas Barlow)
Post-Processes Library
- Added the Ocean post-process (julien-moreau)
Materials Library
- Added the
cameraOffset
vector property in theSkyMaterial
to get an offset according to the horizon (julien-moreau) - Fixed
GradientMaterial
to consider disableLighting working as emissive (julien-moreau) - Fixed fresnel term computation in
WaterMaterial
(julien-moreau) - Fixed
TerrainMaterial.isReadyForSubMesh
to remove WebGL warnings (julien-moreau) - Fixed
MixMaterial.isReadyForSubMesh
to remove WebGL warnings (dad72)
Infrastructure
- Migrated CI to Azure DevOps pipelines (Sebavan)
- Created test suites for both WebGL1 and WebGL2 (Sebavan)
Bug fixes
- Fixed
ArcRotateCamera.setTarget
(position was sometimes wrong) (Deltakosh) - Fixed
TransformNode.setDirection
(orientation was wrong) (Deltakosh) - Fixed
ArcRotateCamera
control whenupVector
was modified (Deltakosh) - Fixed
anaglyph
mode for Free and Universal cameras (Deltakosh) - Fixed
FileLoader
's loading of a skybox and added a parsed value for whether to create with PBR or STDMaterial (Palmer-JC) - Removed bones from rootNodes where they should never have been (Deltakosh)
- Refocusing on input gui with pointer events (TrevorDev)
- Gizmo scaling not consistent when camera is parented (TrevorDev)
- Context loss causing unexpected results with dynamic textures, geometries with the same name and reflectionTextures (TrevorDev)
CreateScreenshotUsingRenderTarget
stretches mirror textures when setting both width and height (TrevorDev)- VR helper only updating VR cameras position when entering VR, rotation was missing, laser distance stopped working (TrevorDev)
- Fixed VR controllers after
gltfLoader
transformNode
was changed (TrevorDev) - Bounding Box
fixedDragMeshScreenSize
stopped working and allow rotating through bounding box (TrevorDev) - VR helper would rotate non-VR camera while in VR (TrevorDev)
PointerDragBahavior
usingMesh
as base type, causing type-checking problems withAbstractMesh
(Poolminer)TransformNode
lookAt
not working in world space when node's parent has rotation (TrevorDev)MakeNotPickableAndWrapInBoundingBox
had unexpected behavior when input had scaling of 0 on an axis (TrevorDev)- Fixed an issue with loading base64 encoded images in the glTF loader (bghgary)
- In multi-camera scenes the Inspector would cause the camera's interaction events to get detached (TrevorDev)
- Fixed delete highlighted text after keyboard input, beat delay after double click event in
InputText
(Saket Saurabh) - Fixed
SixDofDragBehavior
when the camera is parented (TrevorDev) - Deactivate WebVR lasers when not in VR (TrevorDev)
- Update physics position using
absolutePosition
instead ofpivotPosition
(TrevorDev) - Disabled camera arrow key controls when the command key is pressed on Mac OS (kcoley)
- Viewer should not set
receiveShadows
on an instanced mesh (TrevorDev) - Rotation/scaling snapping not working in the negative direction (TrevorDev)
- Updated comment in
TransformNode.rotationQuaternion
to include undefined as one of the potential return values (nathankmiller) - Cannon.js ignores
connectedPivot
joint parameter (TrevorDev) - Fixed case sensitive paths (mrdunk)
- Fixed more case sensitive paths (mrdunk)
- Attaching a
BoundingBoxGizmo
on a child node shouldn't remove its parent, rotation gizmo should work on object with parent (TrevorDev) - ammo.js fix including issue caused after modules update and use world contact point to be consistent with Oimo and Cannon (TrevorDev)
- Warn of motor with
maxForce
in Oimo plugin and set default force to be consistent with others, Cannon.js support no impostor, Cannon.js cylinder axis, ammo.js wake up impostor when apply force/impulse (TrevorDev) - Utility layer should render on last active camera (TrevorDev)
PointerDragBehavior
should not let the drag plane get out of sync when rotating the object during dragging (TrevorDev)- Do not crash the application if WebVR
submitFrame
fails (TrevorDev) - Fix pinch action on
FollowCameraPointersInput
(mrdunk) Tools.CreateScreenshot
stopped working (TrevorDev)- Inspector showing duplicate nodes when attached to gizmo (TrevorDev)
- Added missing dependencies for files to support including them from a direct path (eg.
import "@babylonjs/core/Helpers/sceneHelpers";
) (TrevorDev) AssetContainer
should not dispose objects it doesn't contain. Support for environmentTexture add/remove (TrevorDev)- Fixed
mesh.visibility
not working properly when certain material properties are set that changes the interpretation of alpha (e.g. refraction, specular over alpha, etc.) (bghgary) - Fixed material and texture leak when loading/removing GLTF/obj/babylon files with
AssetContainer
(TrevorDev) - Avoid exception when removing impostor during cannon world step (TrevorDev)
- Fixed
ArcRotateCamera
divide by zero error (when looking along up axis) inrebuildAnglesAndRadius
(sable) - Fixed
ArcRotateCamera
rebuildAnglesAndRadius
whenupVector
modified (sable) - Fixed code branch, that does not try to (re)load an
EquiRectangularCubeTexture
/HDRCubeTexture
when the caching returns an empty or corruptInternalTexture
(Dennis Dervisis) - Added error event listener (bubbling up the
onError
callback chain) in case anEquiRectangularCubeTexture
cannot be loaded, because of a wrong path or IO problems (Dennis Dervisis) - 3D GUI buttons no longer will scale up when pressing with a multitouch device (TrevorDev)
- 2D GUI elements will use the last clicked controller instead of only the right controller when dual VR controllers are interacting with an element (TrevorDev)
- Virtual keyboard not showing up when made visible (TrevorDev)
Core Engine
- Fixed a bug with
mesh.alwaysSelectAsActiveMesh
preventing layerMask to be taken in account (Deltakosh) - Fixed a bug with pointer up being fire twice (Deltakosh)
- Fixed a bug with particle systems being update once per camera instead of once per frame (Deltakosh)
- Properly handled the
LinesMesh
intersectionThreshold
by using its value directly when the intersection against aRay
is checked instead of extending theBoundingInfo
accordingly (barroij) - Added an
InstancesLinesMesh
class used to create instance ofLinesMesh
so that each instance can have its ownintersectionThreshold
value (barroij) - Fixed the
LineEdgesRenderer
used for edge rendering ofLinesMesh
to properly handleLinesMesh
s made of disconnected lines and made it work for instance ofLinesMesh
(barroij) - Fixed
Matrix.toNormalMatrix
function (barroij) - Added missing effect layer to asset container (TrevorDev)
- Fixed effect layer compatibility with multi materials (Sebavan)
- Added a
DeepImmutable<T>
type to specifiy that a referenced object should be considered recursively immutable, meaning that all its properties arereadonly
and that if a property is a reference to an object, this object is also recursively immutable. (barroij) - Fixed
VideoTexture
poster property when autoplay is turned off. - Fixed position and rotation of plane mesh created by
MeshBuilder.CreatePlane
when specifying a source plane (sable, bghgary) - Fixed inspector dynamic loading (Sebavan)
- Fixed
infiniteDistance
not working anymore (Sebavan) - Fixed bug in
SolidParticle
BoundingSphere
update within theSolidParticleSystem
(barroij) - Updated picking so that when the picked Mesh is a
LinesMesh
, the index of the picked line is returned in thefaceId
property of thePickingInfo
, as we do with face index the pickedMesh
is made of triangle faces (barroij) - Fixed unintentional cloning of mesh observables (Sebavan)
- Fixed Inspector resolution with AMD loader (Sebavan)
- Fixed a bug when a call to
updateIndices
leads to changing the size of the index buffer by recreating the subMeshes in that case (barroij) - Added option to disable gazeTracker color changes in vrExperienceHelper (TrevorDev)
- Added
PointerDragBehavior
validateDrag
predicate to stop dragging to specific points (TrevorDev) - Added Auto Update Touch Action #5674(Sebavan)
- Added hemispheric lighting to gizmos to avoid flat look (TrevorDev)
- Fixed a bug causing
WebRequest.open
to crash ifWebRequest.CustomRequestHeaders
are set #6055(susares) - Fixed a bug causing
Mesh.clone
to crash if no physicsEngineComponent is used (barroij) - Fixed zoom inertia making it difficult to zoom out with ArcRotateCamera (TrevorDev)
- Added option for
isInFrustum
to checkrigCameras
so thatviewMatrix
updates forrigCameras
can notify their parent (TrevorDev) - Properly handled unindexed
LinesMesh
(rendering and picking) (barroij)
Loaders
- Added missing
loadedAnimationGroups
toMeshAssetTask
(bghgary) - Added missing
linkTransformNode
toBabylonFileLoader
(MackeyK24)
Breaking changes
- Replaced all references to XmlHttpRequest with
WebRequest
(which provides the same signatures) (Deltakosh) - Set
Database.IDBStorageEnabled
to false by default (Deltakosh) - Renamed
Database.openAsync
toDatabase.open
(Deltakosh) - Renamed
scene.database
toscene.offlineProvider
(Deltakosh) - Removed
BoundingBox.setWorldMatrix
and changedBoundingBox.getWorldMatrix
to return aDeepImmutable<Matrix>
(barroij) - Changed
Matrix
's accessorm
and methodstoArray
andasArray
to return aDeepImmutable<Float32Array>
as the underlying array is not supposed to be modified manually from the outside of the class (barroij) - Removed some deprecated (flagged since 3.0) properties and functions, all of which are superceded by the
SceneInstrumentation
class unless otherwise specified (Deltakosh)scene.getInterFramePerfCounter()
scene.interFramePerfCounter
scene.getLastFrameDuration()
scene.lastFramePerfCounter
scene.getEvaluateActiveMeshesDuration()
scene.evaluateActiveMeshesDurationPerfCounter
scene.getRenderTargetsDuration()
scene.getRenderDuration()
scene.renderDurationPerfCounter
scene.getParticlesDuration()
scene.particlesDurationPerfCounter
scene.getSpritesDuration()
scene.spriteDuractionPerfCounter
engine.drawCalls
engine.drawCallsPerfCounter
shadowGenerator.useVarianceShadowMap
(superceded byuseExponentialShadowMap
)shadowGenerator.useBlurVarianceShadowMap
(superceded byuseBlurExponentialShadowMap
)
- The glTF loader now creates
InstancedMesh
objects when two nodes point to the same mesh (bghgary) - The glTF loader now creates
TransformNode
objects instead ofMesh
objects for glTF nodes without geometry (bghgary)- Note: The root node is still a
Mesh
object and is still the first in the returned list of meshes TransformNode
objects are excluded from the returned list of meshes when importing meshTransformNode
objects do not raiseonMeshLoaded
events
- Note: The root node is still a
- Renamed
xAxisMesh
,yAxisMesh
, andzAxisMesh
ofAxesViewer
toxAxis
,yAxis
, andzAxis
respectively and changed return to aTransformNode
to represent the parent node of the cylinder and line of the arrow (bghgary) - Disallowed passing the engine into
Viewport.toglobal
to prevent circular dependency (Sebavan) - Moved
Vector3.UnprojectRayToRef
toRay.unprojectRayToRef
instance method to decrease class coupling (Sebavan) - Moved
Material.ParseMultiMaterial
toMultiMaterial.ParseMultiMaterial
to decrease class coupling (Sebavan) - Removed
babylon.no-module.max.js
javascript version has the Webpack UMD bundle covers both (Sebavan) - Removed
es6.js
javascript as it is now available as a true es6 NPM package (Sebavan) - Removed
babylon.worker.js
javascript following the lack of usage from the feature (Sebavan) - Removed
Primitive Geometries
as they were not in use since 2.0 (Sebavan) - Changed
shouldExportTransformNode
callback in glTF serializer options toshouldExportNode
(kcoley) - Changed
PhysicsHelper
method parameters for event calls (bobalazek)
Release notes
This is the 0.11.0 release of Agones.
Check the README for details on features, installation and usage.
Breaking changes:
- Move FleetAutoscaling to autoscaling.agones.dev group #829 (markmandel)
- Fixing SDK proto file according to style guide #776 (aLekSer)
Implemented enhancements:
- Add Events for common errors with Webhook FleetAutoscaler configuration #792
- Self allocation in Node.js is not supported #773
- In case of dynamic port allocation, offer the option to set the container port to the same value as the host port #294
- Implement EnqueueAfter on WorkerQueue #835 (markmandel)
- Changed AllocationEndpoint to array of endpoints #830 (pooneh-m)
- fix: check if NodeExternalIP is empty to fallback to NodeInternalIP #828 (aarnaud)
- Rewrite Agones Overview #824 (markmandel)
- Add Unity SDK #818 (whisper0077)
- PortPolicy of Passthrough - Same Port for Container and Host #817 (markmandel)
- Add Fleet RollingUpdate strategy params validation #808 (aLekSer)
- Batched Packed and Distributed Allocations #804 (markmandel)
- Add Events on FleetAutoscaler connection errors #794 (aLekSer)
- Expose allocate method in node sdk #774 (rorygarand)
- Adding an allocator service that acts as a reverse proxy. #768 (pooneh-m)
- Add Reserved GameServer State #766 (markmandel)
- Add AKS, GKE and Helm terraform modules #756 (aLekSer)
- Add close method to node client #748 (BradfordMedeiros)
See CHANGELOG for more details on changes.
This software is currently alpha, and subject to change. Not to be used in production systems.
Images available with this release:
- gcr.io/agones-images/agones-controller:0.11.0
- gcr.io/agones-images/agones-sdk:0.11.0
- gcr.io/agones-images/agones-ping:0.11.0
- gcr.io/agones-images/cpp-simple-server:0.5
- gcr.io/agones-images/udp-server:0.11
- gcr.io/agones-images/xonotic-example:0.5
Helm chart available with this release:
Make sure to add our stable helm repository using
helm repo add https://agones.dev/chart/stable
Release notes
Bug Fixes
InputManager.preRender
didn't get thetime
property correctly, causing input plugin methods that relied on it to fail.KeyboardPlugin.time
wasn't being set to the correct value, causingcheckDown
to fail constantly.