diff --git a/CHANGELOG.md b/CHANGELOG.md index 511ad3650..00fad76d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -116,6 +116,12 @@ Most of the updates were about documentation and module namespacing, however tho * fix inertia change in Body.setMass, closes #378 ([f7d1877](https://github.com/liabru/matter-js/commit/f7d1877)), closes [#378](https://github.com/liabru/matter-js/issues/378) * fix Vertices.chamfer radius argument, closes #467 ([3bceef4](https://github.com/liabru/matter-js/commit/3bceef4)), closes [#467](https://github.com/liabru/matter-js/issues/467) +### Camera 3D Plugin + +Support for Camera 3D and Sprite 3D Game Objects have been removed from the core Phaser bundle and moved to an optional plugin. + +You can find the source for Camera 3D in the new `plugins/camera3d` folder, along with a README file explaining how to now use the plugin in your games. + ### New Features * `Camera.resolution` is a new read-only property that holds the current game config resolution that the camera is using. This is used internally for viewport calculations. diff --git a/plugins/camera3d/readme.md b/plugins/camera3d/readme.md new file mode 100644 index 000000000..51d188b36 --- /dev/null +++ b/plugins/camera3d/readme.md @@ -0,0 +1,47 @@ +Phaser 3 Camera 3D Plugin +========================= + +In Phaser 3.12 Camera 3D support was moved to its own external plugin. + +There are two ways to use this in your games: + +## 1. External Plugin + +You can copy the `dist/camera3d.min.js` file to your project folder and preload it into Phaser: + +``` +function preload () +{ + this.load.scenePlugin('Camera3DPlugin', 'plugins/camera3d.min.js', 'Camera3DPlugin', 'cameras3d'); +} +``` + +Then you can use it like usual. + +## 2. Bundled Plugin + +If you prefer you can configure Phaser to include it when it builds it's dist files. + +To do this you need to edit the webpack config files and change the following: + +``` +"typeof PLUGIN_CAMERA3D": JSON.stringify(false) +``` + +to + +``` +"typeof PLUGIN_CAMERA3D": JSON.stringify(true) +``` + +Then rebuild Phaser via webpack. The plugin will now be included by default and can be called from your game code. + +## Building the External Plugin + +If you wish to edit the plugin use the following files: + +`src/Camera3DPlugin.js` is the entry point for the external plugin. Edit this file if you're loading the plugin at run-time. Once you have finished making your changes, run the command `npm run plugin.cam3d` from the command-line to build a new version of the external plugin with Webpack. + +## Changing the Bundled Plugin + +`src/index.js` is the entry point for the bundled plugin. In here you'll find the module exports that Phaser uses when including the plugin internally. The file `CameraManager.js` is the Scene System. All other files are shared between both the external and bundled versions of the plugin.