Giter VIP home page Giter VIP logo

enable3d-phaser-project-template's Introduction

enable3d logo
3D for Web, Mobile and PC

Written in TypeScript, uses three.js and ammo.js, brings physics to your three.js project and the third dimension to your Phaser 3 game.

NPM version GitHub Workflow Status Three GitHub last commit

WebsitePackagesLicense

Website

Visit the enable3d website for documentation and examples.

Dependencies

Enable3d now depends on the dependencies below.

{
  "@types/matter-js": "0.17.6",
  "@types/three": "0.161.2",
  "matter-js": "0.17.1",
  "phaser": "^3.55.2",
  "poly-decomp": "^0.3.0",
  "three": "0.161.0",
  "three-csg-ts": "^3.1.10"
}

(But it also works on latest Phaser versions like 3.60 & 3.70)

Useful Packages

Some useful packages are now available on npm:

Package Description
audio 🎵 Audio library for the Web Audio API.
keyboard ⌨️ Handling of keyboard events.
tap 🖱️ Handling of user interactions such as mouse, touch and pointer events.

Packages

This project is split into many separate npm packages. To better understand the structure and relationships between the packages, see the diagram.

creately-diagram

  • enable3d A standalone 3D Framework on top of three-graphics.
  • @enable3d/phaser-extension Allows to integrate the three-graphics package into your Phaser 3 Games.
  • @enable3d/ammo-physics The core Physics package. Wraps ammo.js physics.
  • @enable3d/ammo-on-nodejs Enables you to run ammo.js on your node.js server.
  • @enable3d/three-graphics The core 3D Objects package. A beautiful API for many three.js elements.
  • @enable3d/three-wrapper Wraps the three.js library and some of its examples in one package.
  • @enable3d/common Some common code used by almost every package.

Development Server

Are you used to use Live Server? Check out Five Server instead!

Multiplayer Game

geckos.io logo

Want to make a Real-Time Multiplayer Game? Check out geckos.io.

License

Licensed under LGPL-3.0
Copyright (c) 2022, Yannick Deubel
Please have a look at the LICENSE for more details.

enable3d-phaser-project-template's People

Contributors

bferguson3 avatar yandeu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

enable3d-phaser-project-template's Issues

Fail in Build

Hey,

I am getting this error on the server after build :)

  • I cloned the repository;
  • Did npm install;
  • And then npm run build;
  • I opened the index on VS Code on the live server and got this error;
  • So I created a page on Netlify with this and the error was the same, (You can check it here);
Failed to load resource: the server responded with a status of 404 (Not Found)
vendors.711f777ae71a92a8ca55.bundle.js:7002 Uncaught 

Error: failed to load /assets/ammo/ammo.wasm.js
    at HTMLScriptElement.i.onerror (vendors.711f777ae71a92a8ca55.bundle.js:7002) 

(Sorry my English 😅)

Joystick on typescript

I tried copying the 3rd person example from the phaser extension examples, but the joystick does not work. The event object in axis.onMove has properties of top and right when I log it on console, but VS code shows only x and y which is undefined. If I try to access top or right, but I get compilation error.

can't change gameobject property on event.

in the game.ts file

const config: Phaser.Types.Core.GameConfig = {
  type: Phaser.WEBGL,
  transparent: true,
 ...Canvas()

}
the  ...Canvas()  line code will  cause pheser can't change gameobject  property on  event.  
like  


	this.thum = this.add.sprite(400, 300, 'dog');
	this.thum.setInteractive({ draggable: true });
```
this.thum.on('drag', (pointer, dragX, dragY) => {
		this.boy.x += dragX * 0.01;
		this.boy.y += dragY * 0.01;
		console.log(this.boy);
		console.log("drag this.boy.x:" + this.boy.name + "  : " + this.boy.x);
		
	// event can trigger ,  this.boy.x  will change , but   this.boy object  will  cann't move, 
	 // if remove the ...Canvas()  from   game.ts file,  this.boy object  will  can  move, 
	});


 event can trigger ,  this.boy.x  will change , but   this.boy object  will  cann't move, 
if remove the ...Canvas()  from   game.ts file,  this.boy object  will  can  move。
How  to do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.