I hope the 8.0 version will have the following features

1.Ready to use character controller out of the box, preferably 2D and 3D, that can directly interact with the physics engine

2.Ready to use level scene controller, convenient for quickly creating game levels and switching scenes

3.More grammar sugar, very sweet kind, simplify API

4.Ray tracing

5.GIS extensions, such as 2D maps, 3D terrain, coordinate transformation, (or what methods can automatically calculate viewport data)

I think it is already available: Physics character controller

Do you have examples? The API has already a ton of sugar IMO, I would rather have more control (they are not mutually exclusive though :thinking:)

You will have to wait for WebGPU progress to get actual raytracing, probably not this year I would guess

2 Likes

Still at the moment it is more mesh controller than character controller… :slight_smile:

1 Like

I mean, make the capsule transparent, load an animated character, set its parent to the capsule and you got a character controller ^^
I am not sure we have the same definition of “character controller”. Out of curiosity, what features would be missing from your point of view?

  1. Supporting (and detecting if needed, like while free falling) animations for character (since it is character controller, not just capsule controller), for example:
  • idle
  • idleJump
  • walk
  • walkBack
  • walkBackFast
  • run
  • runJump
  • fall
  • turnRight
  • turnRightFast
  • turnLeft
  • turnLeftFast
  • strafeLeft
  • strafeLeftFast
  • strafeRight
  • strafeRightFast
  • slideDown
  1. Support for Third Person View and First Person View.
  2. Support for camera “elasticity” for the Third Person View. In other words if a mesh comes between the camera and avatar/player, the camera snaps to a position in front of the mesh / or the mesh becomes invisible / or camera switches to the FPV (like in Fallout 4). This way the avatar/player is always in view. Anyway, there should be some function to detect the distance to the walls etc.
2 Likes

Perhaps the scene controller should be a simple example like this

const manage = Babylon.SceneManage(  )

// Default transition animation,    Built in transition animation
manage.setInTransitionAnimation()
manage.setOutTransitionAnimation()

const scene= manage.creareScene('scene1')
scene.setInTransitionAnimation()
scene.setOutTransitionAnimation()


const scene10= manage.creareScene('scene10')

// 
manage.toScene(scene1 or "scene1")    
manage.toScene(scene10 or "scene10")

1 Like

Raytracing:

2 Likes

That would be lovely indeed, especially the camera “elasticity” part :ok_hand:

1 Like