Mixed Reality with Wave Engine

In this tutorial, we will cover the creation of your first Mixed reality app using Wave EngineWe will find out why using this engine is a good choice for creating your holographic experience.

In this app we will load a plane in front of the viewer.

Prerequisites

For simulating your app you will need a Windows 10 PC configured with the following tools:

Project assets

  • Download the files required by the project here.

Continue reading Mixed Reality with Wave Engine

WaveEngine 2.4.1 to 2.5.0

This article is a brief guide to solving the majority of problems that you will find when you upgrade your game project from WaveEngine 2.4.1 version to 2.5.0.

Although WaveEngine has an upgrade tool that runs when you open an old game project with the current WaveEditor 2.5, you can find some issues listed below.

An important point to bear in mind is that Model, ModelRenderer and MaterialsMap components are not longer supported, so you should replace them to use FileMesh, MeshRenderer and MaterialComponent respectively. For more details, you can read the following article. We allowed them to be used in the previous version as deprecated classes.

So, here we go!

Loading Game Info

The most important change is that we need to Load the GameInfo file (.wgame).

WaveEngine 2.4.1

WaveEngine 2.5.0

RenderLayers

Main difference is LayerType properties has changed to LayerId, holding now an int identifier instead of a Type.

WaveEngine 2.4.1

WaveEngine 2.5.0

WaveEngine 2.4.1

WaveEngine 2.5.0

Mainly every property Type LayerType has been changed to int LayerId.

Sampler State

The AddressMode has now evolved to the SamplerState, and can be configured in the Texture Asset, instead of the material or the component.

StandardMaterial

WaveEngine 2.4.1

WaveEngine 2.5.0

WaveEngine 2.4.1

WaveEngine 2.5.0

WaveEngine 2.4.1

WaveEngine 2.5.0

WaveEngine 2.4.1

WaveEngine 2.5.0

WaveEngine 2.4.1

WaveEngine 2.5.0

Dual Material

The DualMaterial class has been removed. It has been merged into the StandardMaterial, which now has Diffuse1 and Diffuse2 properties, among others.

New Model asset workflow

In WaveEngine 2.5.0, the model pipeline has been improved, and as a result, there are a lot of new features that makes easier to work with model assets:

  • glTF support. Now you can use glTF models in addition to FBX, DAE, OBJ, etc.
  • New Animation pipeline. A redesigned Animation3D component with blend animation trees.
  • Skinning & Morphing. Deform meshes using bones or morph targets.

Continue reading New Model asset workflow

Bullet Physics integration in WaveEngine 2.5.0

Bullet Physics is a real-time Physics Engine for VR, games, roabotics, machine learning, etc… http://bulletphysics.org

Now, in WaveEngine 2.5.0, we have integrated Bullet Physics as 3D Physic engine. In previous versions, we use Bepu Physics (a C# physics library http://www.bepuphysics.com)

Continue reading Bullet Physics integration in WaveEngine 2.5.0

Render Layers in Wave Engine Orca 2.5.0

Before this version, when the user wanted to customize some aspect of the rasterizer, blending or the depth states, we needed to create by code a new Layer class, registering it manually and then acceding it by its type. And you needed to implement the SetDevice and RestoreDevice methods, changint the RenderState structure.

Initially we just wanted to integrated them into the Visual Editor, but then we realised that we weren’t allowing the users to use the full potential of the modern graphical cards, so we redesigned it.

So the RenderLayer concept was born, a Visual Editor friendly specification of how the geometry and shaders are presented into the final frame. Our most important goal was to keep the simplicity of the previous implementation but adding the full potential of the modern graphic cards.

Continue reading Render Layers in Wave Engine Orca 2.5.0