It’s Time For A New Dimension – Cocos Creator 3.0 Tech Preview

2020.10.15 Official Blog by COCOS

The technology behind games has grown exponentially since the birth of video games. Today with the creation of cloud computing, 5G networks, and faster mobile computers, the revolution to bring better 3D titles to your hands has become overwhelmingly apparent to game developers.

The Cocos engine started as a 2D game engine. In Cocos2d-x, we built the best open-source 2D engine in the world. We also tried to build 3D features upon the 2D-oriented architecture. But due to the lack of an editor and the challenge of growth on 3D features, it wasn’t very successful. That’s why we were determined to build an excellent editor tool: Cocos Creator. It was initially for 2D game development. But since 2017, we have already started to build a pure 3D engine for this tool. To push ourselves to give developers the best 3D development tool, we have re-designed the whole engine architecture and updated the editor’s core. On October 15th, 2019, we released Cocos Creator 3D, a dedicated experimental branch of China’s product. With a whole year’s effort, we have greatly improved the 3D engine architecture. We are finally merging the experimental 3D branch into the main Cocos Creator product to forge the awesome Cocos Creator 3.0, released later this year.

We have to thank some of the biggest companies in our industry for helping us test our new 3D engine so that it would be ready for the game market overseas. During last year, many games have been created with our experimental 3D branch. Let’s show you some examples to see what kind of 3D games you can create with Cocos.

Announcement

Today, we are bringing out the next generation of our game engine for you to test, prod, and investigate: Cocos Creator 3.0 Tech Preview.

Though it’s a powerful demo, this is not a complete version of Cocos Creator 3.0. But, we felt it was time to give developers all over the world a chance to see what the future will be when we release 3.0 later this year.  We are excited to share a few things about what to expect and give you the chance to play with it TODAY!

You can download the Cocos Creator 3.0 Tech Preview now and start building your 3D games, fully exportable to many different platforms. But we have to share a few things to make sure you have the best experience.

  1. Projects built in Cocos Creator 1.X – 2.X will not work with this demo.
  2. Only 3D projects are available in this demo. Some 2D features like Spine, Tiled map, etc. are absent in this demo, but they will be included in the official 3.0 version.
  3. All projects built in the demo are exportable to 3.0 when it is released. So go crazy!
  4. We only recommend using TypeScript for future Cocos Creator 3.0 projects. (we’ll discuss why in a minute)

Download Cocos Creator 3.0 Tech Preview:

Windows versionmacOS version

Preview Features

Cocos Creator 3.0 Tech Preview has the same look as our older versions but includes tons of 3D features. Let’s give you a glance of some key features.

The Editor

Cocos Creator’s editor architecture has been upgraded to a whole next level in v3.0, I want to list a few remarkable improvements:

  • Improved boot speed
  • Pure message-driven architecture, all modules communicate with IPC
  • More lightweight and reliable file system (A scan for 5k assets cost only 4.5s)
  • Modularized plugin system, custom plugins work just like internal modules

Besides the above architecture improvements, there are also some features introduced in v3.0.

  • Game view and camera preview
  • Asset panel
  • Material preview
  • Asset picker
  • Compressed texture presets

There are a lot more to explore in our new editor, please enjoy.

TypeScript

While we have redesigned the whole engine, it has also been rewritten with TypeScript, this is mainly for some key features TypeScript provides and for code auto-completion in VSCode. We also suggest developers only use TypeScript in their project so that you can enjoy code completion, module auto import, API documentation, etc inside VSCode.

We also support developers build and use third party modules in JavaScript like packed npm modules as plugin scripts. Developers can define a dependency between plugin scripts.

3D model and animation

For 3D models and animations, we support glTF 2.0 and FBX as our main asset format, we have a very solid glTF 2.0 support with all models in glTF Sample Models passed. Some main features need to be mentioned for model and animation support:

  • Morph target support
  • Skeletal animation support with GPU simulation and instancing batch. That means we can batch models running different skeletal animations with different configurations all into one draw call.
  • Support attachments to joints of skeletal animation
  • Support simple blend of animations (only in CPU simulation)
  • Model asset inspector support animation clip editing, material dump, model preview, etc

Physically based rendering

Cocos Creator 3.0 is designed for physically based rendering (a.k.a PBR).

We currently support directional light, sphere light and spot light. The light configuration is based on physical metrics: color temperature and light power. The camera is using SBS exposure with configurable aperture, iso and shutter speed. This will let you simulate a real world camera easily. And our standard materials are physically based. We have put some effort to improve the rendering process and the algorithm to run smoothly on mid to low end devices, even on web platforms.

Two types of shadows are supported in the current version, one is simply a planar shadow which allows shadows only on planar surfaces, another is standard shadow map shadows with PCF support. Developers can configure it in the scene inspector.

Material system

The material system in v3.0 is the same as in v2.4, we use the same effect format but with more feature support, like GLSL 300 es support, effect preview, up to 32 macros support, visualized editing, uniform key frame animation, etc.

3D visual effect

The 3D particle system was ported from 3d experimental branch to Cocos Creator v2.3.0, so you can have the same use experience as in v2.3. In the tech preview, you will be able to switch 3D particle system to GPU based simulation and have a tremendous improvement in performance.

Physics

3D physics system was also ported to v2.3.0, but the tech preview version have much more features provided. Firstly the collider types are completed, secondly, we are starting to support constraints, thirdly, more complete physics events help developers to have more control over the behavior. At lower level design, as you can see in the graph, we have decoupled the physics components and functionalities with the beneath physics engine backend, so developers can choose what’s suitable for their use case.

Fog effect

There isn’t much built-in effects provided in the tech preview, but fog is a very nice built-in effect we can share today. Depth fog and layered fog are both supported.

Inheritances and differences

I have showed you some key features in the tech preview version in general, I also need to mention that a lot have been inherited from Cocos Creator v2.x, along with some fundamental changes we have to do for better 3D support. Here I can only show some key points with you.

  1. Inheritances
  • Core design of the engine including cross platform support, game boot process, director main loop, node and scene management, component life cycle, etc.
  • Core systems: tween system, scheduler system, event system, animation system, network, audio, etc.
  • 2D render components including Sprite, Label etc.
  • UI system and components.
  1. Differences
  •  Nodes no longer have content size and anchor point related APIs, they were moved to UITransform component, all UI and 2D related components rely on this component.
  • There is no longer 2D and 3D version for Node and Camera, there is only a 3D version.
  • Plugin system have been upgraded, so some old plugins will also need to be upgraded.

Documentation

We have finished almost all of the documentation in English for Cocos Creator 3.0, so please check it out. There are hundreds of new documents we’ve been working months to translate and add for the final release of 3.0. But if you find something missing, always contact us on the forums, and we’ll try to finish or fix it. Thanks for the help.

Documentation (https://docs.cocos.com/creator3d/manual/en/)

API Docs: https://docs.cocos.com/creator3d/api/en/

Demos

We built a few demos as well, and a full game to look at and try. All are free to play and enjoy at Github.

Demos:

https://github.com/cocos-creator/example-3d

Test cases:

https://github.com/cocos-creator/test-cases-3d

Taxi Game:

https://github.com/cocos-creator/tutorial-taxi-game

If you have any issues, please share them at our forums. We want Cocos Creator 3.0 to be amazing, so your support, suggestions, and bug reports help us make that happen.

Conclusion

Cocos Creator 3.0 is almost here, and we are super excited to share it with you in a few months. Thanks to everyone helping and giving us support for the work done to help us get here, especially the developers making games with Cocos. So please take a taste of what’s to come, play around and tell us what you think, and be ready for the next generation of development for Cocos Creator, a 3rd dimension for Cocos.