This milestone is pM-OASIS team – Tong Lun

Suddenly like the night spring breeze, thousands of pear trees open. After two months of work, from fall to winter, the Oasis Engine has finally shipped version 0.6 (github.com/oasis-engin…). The release of the.

  • The new version adds an offline baking kit that enables users to get high-quality PBR renderings faster and better;
  • The powerful PhysX physical system was added, which significantly improved the function and performance compared with the last version.
  • The increase of input system makes up for the shortcomings of the engine in interactive functions, and greatly reduces the amount of code for writing interactive functions;
  • There are other tiny but beautiful features to polish and update…

What are you waiting for? Let’s taste something new!

Rendering system

Added the Offline baking tool kit. In the previous PBR art workflow, it was difficult for both developers and art developers to master the entire rendering process due to the complex concept of PBR and the fragmentation of art resources such as IBL baking and diffuse ball baking. As a result, we developed an offline baking kit and integrated it into the editor and glTF Viewer (oasisengine.cn/gltf-viewer…). The user only needs to select a satisfactory HDRI map (polyhaven.com/hdris) from the Internet, and then upload it to the editor to bind the environment map. IBL offline baking, diffuse spherical harmonic baking and other processes will be automatically processed, even if you are a zero-based user, you can easily get started. In addition, we implemented offline baking, HDR rendering, color space correction on the render side, and PBR rendering is much more realistic than before.

Since the editor is not open yet, developers using the engine directly can use the glTF Viewer to drag the HDRI map into the glTF Viewer to get the baked product. See the tutorial: oasisengine. Cn / 0.6 / docs/li… .

Physical system.

Added a physical system. Introduced by the compiler WebAssembly * * * * PhysX (developer.nvidia.com/gameworks-p…). As the bottom layer of the physical system, and designed multiple back-end architectures. As a result, we made a reasonable BreakingChange adjustment to the physical components. Under one set of interfaces, we implemented two Physics packages, physics-Lite (lightweight version, independent of PhysX, simple function) and ** physics-Physx (advanced version, can achieve complex Physics effects). The former is based on the legacy Physics system in version 0.5. The latter is based on PhysX 4.1, compatible with severe and mild physical scenes and physical scenes. Developers only need to configure it during engine initialization, and do not need to worry about which back-end physical package is used during subsequent development. In addition to interface refactoring, physics-Lite has also been updated to support multiple ColliderShape combinations. In the future, we will mainly develop physics-PhysX and moderately enhance the functionalities of physics-Lite to support lightweight applications. Use can be found in the document: oasisengine. Cn / 0.6 / docs/co… .

The editor also fully ADAPTS to the latest physical components by adding UI list functionality that allows multiple ColliderShapes to be added to the same collider:

Detailed interface design and architecture can be found in the Wiki (github.com/oasis-engin…) In the future, we will launch a series of technical articles introducing PhysX and physical component architecture such as Oasis Physics Second Bullet: Physical Multi-Backend and Component Architecture Design, Oasis Physics Third Bullet: Lightweight Collision Detection Algorithm Package and so on on the official account and other platforms.

Input system

New input system. This system is a part of the engine function missing for a long time. Developers previously reported that the code to achieve interaction requirements such as click is cumbersome. The new input system of V0.6 will greatly reduce the amount of code to write interactive functions. Supports Pointer events, smooths out the difference between mouse and touch screen events, meets common interaction requirements such as click and drag, and increases the response to interaction events in the life cycle functions of script components, simplifying the cost of registering input events. Events such as mouse Wheel and Keyborad will be supported in future versions. Use can be found in the document: oasisengine. Cn / 0.6 / docs/in… .

Other updates

Function of the engine

  • Animation system increases the state machine script (oasisengine. Cn / 0.6 / docs/an…). , developers can easily write their own business logic at the start/update/end of the animation state.
  • PrimitiveMeshnewcreateCapsule()Method, can quickly and easily create cylinder.
  • Texture2D,RenderColorTextureRenderColorTextureRead pixel interfacegetPixelBuffer()increasemiplevelParameter that can specify the texture level to read pixels from.
  • Camera. Render () method addedmiplevelParameter that specifies the texture level to render.
  • GlTF parsingModelMeshSupports more UV channels and vertex colors.
  • Animator increasegetCurrentAnimatorState()To get the state of the currently playing animation.
  • Clone added to Sprite.
  • A Quaternion is augmentedrotateAxisAngle()Methods.
  • SkyBox materials added RGBM HDR encoding format support.
  • Engine input added color space configuration, default linear space.
  • Direct illumination is changed to physical units, divided by PI. If you feel that the previous scene is dark, it is normal to add an HDR environment map.

See Change Log: github.com/oasis-engin…

Editor function

  • Added the directory tree function to the Asset panel to support dragging and moving assets.

  • Optimize Gizmo user experience.
  • Added script component name optimization.
  • Complete the opening of swift project.
  • Fixed several bugs and improved the experience.

The sample

The sample link

Release 0.7 Preview

  • Physics: Further explore PhysX physics engine features, expand DynamicCollider’s method to support rigid body motion, and add rigid body constraints, character controllers and other components.
  • Texture: Integrate and reconstruct the Texture structure, and add functions such as Texture array.
  • Text: add 2D text system to further improve functional closed loop and 2D capability.

Write in the last

Welcome to star our Github warehouse. You can also pay attention to our subsequent V0.7 planning at any time, and give us your needs and questions in issues. Developers can join our tacks group to tease us and discuss a few questions:

Whether you’re in rendering, TA, Web front-end or gaming, if you’re looking for an oasis like us, please send your resume to [email protected]. Job description: www.yuque.com/oasis-engin… .