Hướng dẫn what 3d game engines use javascript? - những gì công cụ trò chơi 3d sử dụng javascript?

Tôi biết bạn đang nghĩ gì: Tại sao bạn lại sử dụng JavaScript để phát triển trò chơi? Tôi đã nghĩ điều tương tự khi lần đầu tiên tôi phát hiện ra rằng bạn có thể sử dụng JavaScript, cũng như HTML5, để phát triển các trò chơi 3D.

Sự thật là, kể từ khi giới thiệu API JavaScript WebGL, các trình duyệt hiện đại có khả năng trực quan cho phép chúng hiển thị đồ họa 2D và 3D phức tạp và phức tạp hơn mà không cần dựa vào các plugin của bên thứ ba.

Bạn có thể bắt đầu hành trình phát triển trò chơi web của mình với Pure JavaScript, đây có lẽ là cách tốt nhất để tìm hiểu nếu bạn là người mới bắt đầu. Nhưng tại sao lại phát minh lại bánh xe khi có rất nhiều động cơ trò chơi được áp dụng rộng rãi để lựa chọn?

Trong hướng dẫn này, chúng tôi sẽ khám phá sáu công cụ trò chơi JS/HTML5 hàng đầu, được xếp hạng theo số lượng sao GitHub và hướng dẫn bạn cách sử dụng chúng.

1. ba.js

Three.js là một trong những thư viện JavaScript phổ biến nhất để tạo và hoạt hình đồ họa máy tính 3D trong trình duyệt web bằng WebGL. Nó cũng là một công cụ tuyệt vời để tạo các trò chơi 3D cho các trình duyệt web.

Vì ba.js dựa trên JavaScript, nên việc thêm bất kỳ tương tác nào giữa các đối tượng 3D và giao diện người dùng, chẳng hạn như bàn phím và chuột. Điều này làm cho thư viện hoàn toàn phù hợp để tạo các trò chơi 3D trên web.

Ưu điểm

  • Dễ học: Ưu điểm quan trọng nhất của ba.js - ngoài khả năng thực hiện kết xuất phức tạp rất tốt - là nó rất dễ bắt đầu với: The most important advantage of Three.js — aside from its ability to perform complex rendering very well — is that it’s very easy to get started with
  • Rất nhiều ví dụ: Do sự phổ biến của nó, có vô số ví dụ để giúp bạn bắt đầu: Due to its popularity, there are countless examples to help you get started
  • Cộng đồng lớn: Ba.js có rất nhiều người dùng và do đó, một cộng đồng lớn các nhà phát triển hợp tác và tạo ra các công cụ của bên thứ ba khác nhau: Three.js has plenty of users and, therefore, a sizable community of developers working with and creating various third-party tools
  • Tài liệu tốt: Tài liệu mạnh mẽ thường là một chỉ số tuyệt vời của một thư viện mạnh mẽ và ba.js có tài liệu tuyệt vời: Robust documentation is usually a great indicator of a strong library, and Three.js has excellent docs
  • Hiệu suất tuyệt vời: ba.js có lợi thế về hiệu suất so với các thư viện khác mà tôi đã sử dụng: Three.js has a performance advantage over other libraries I have used
  • Kết xuất PBR: ba.js đã kết xuất PBR tích hợp, giúp kết xuất đồ họa chính xác hơn: Three.js has built-in PBR rendering, which makes rendering graphics more accurate

Nhược điểm

  • Không có đường ống kết xuất: Điều này làm cho rất nhiều kỹ thuật kết xuất hiện đại không thể thực hiện với ba.js: This makes a lot of modern rendering techniques impossible/infeasible to implement with Three.js
  • Không phải là một công cụ trò chơi: Nếu bạn đang tìm kiếm các tính năng ngoài kết xuất - bạn đã giành được nhiều: If you’re looking for features beyond rendering – you won’t find many here
  • Hướng đến người mới: Bởi vì API phục vụ cho người mới, nhiều tính năng nâng cao được ẩn: Because the API caters to novices, many advanced features are hidden
  • Thiếu hỗ trợ: Không có hỗ trợ tích hợp để lập chỉ mục không gian, làm cho raycast chính xác hoặc loại bỏ frustum và phát hiện va chạm là vô vọng trong các kịch bản phức tạp: There is no built-in support for spatial indexing, making exact raycasting, or frustum culling, and collision detection is hopelessly inefficient in complex scenarios

Ba.js trong hành động

Nếu bạn đang tìm cách đi sâu vào việc tạo các đối tượng 3D đơn giản hoặc phức tạp trên web, ba.js là thư viện đi. Những lợi thế hàng đầu của nó bao gồm một cộng đồng tài năng và rộng lớn và rất nhiều ví dụ và tài nguyên.

Three.js là thư viện hoạt hình 3D đầu tiên mà tôi đã làm việc và tôi đã giới thiệu nó cho bất kỳ ai bắt đầu phát triển trò chơi.

Hãy để tạo ra một hình học xoay đơn giản để chứng minh những gì ba.js có thể làm.

import * as THREE from 'js/three.module.js';

var camera, scene, renderer;
var geometry, material, mesh;

animate();

Tạo chức năng

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
9 để thiết lập mọi thứ chúng ta cần để chạy hoạt hình demo của chúng ta với ba.js.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}

Tiếp theo, tạo hàm

function animate() {
    init();
    requestAnimationFrame( animate );
    mesh.rotation.x += .01;
    mesh.rotation.y += .02;
    renderer.render( scene, camera );
}
0 để làm động đối tượng với loại chuyển động mong muốn của bạn.

function animate() {
    init();
    requestAnimationFrame( animate );
    mesh.rotation.x += .01;
    mesh.rotation.y += .02;
    renderer.render( scene, camera );
}

Kết quả đã hoàn thành sẽ trông như thế này:

Hướng dẫn what 3d game engines use javascript? - những gì công cụ trò chơi 3d sử dụng javascript?

2. pixijs

Nếu bạn đang tìm kiếm một thư viện JS để tạo đồ họa phong phú và tương tác với sự hỗ trợ cho các ứng dụng đa nền tảng, thì không có gì khác ngoài PIXIJS. Công cụ tạo HTML5 này cho phép bạn phát triển hoạt hình và trò chơi mà không có kiến ​​thức trước về API WebGL.

Ưu điểm

  • Dễ học: Ưu điểm quan trọng nhất của ba.js - ngoài khả năng thực hiện kết xuất phức tạp rất tốt - là nó rất dễ bắt đầu với: Just like Three.js, PixiJS is very fast
  • Rất nhiều ví dụ: Do sự phổ biến của nó, có vô số ví dụ để giúp bạn bắt đầu: Also like Three.js, Pixi.js supports multiple platforms
  • Cộng đồng lớn: Ba.js có rất nhiều người dùng và do đó, một cộng đồng lớn các nhà phát triển hợp tác và tạo ra các công cụ của bên thứ ba khác nhau: The API is easy for a beginner to understand
  • Tài liệu tốt: Tài liệu mạnh mẽ thường là một chỉ số tuyệt vời của một thư viện mạnh mẽ và ba.js có tài liệu tuyệt vời: Pixi.js uses a WebGL renderer but also supports a Canvas fallback

Nhược điểm

  • Không có đường ống kết xuất: Điều này làm cho rất nhiều kỹ thuật kết xuất hiện đại không thể thực hiện với ba.js: In my experience, Three.js is much easier to get started with
  • Không phải là một công cụ trò chơi: Nếu bạn đang tìm kiếm các tính năng ngoài kết xuất - bạn đã giành được nhiều: Pixi.js proudly only support renderer

Hướng đến người mới: Bởi vì API phục vụ cho người mới, nhiều tính năng nâng cao được ẩn

Thiếu hỗ trợ: Không có hỗ trợ tích hợp để lập chỉ mục không gian, làm cho raycast chính xác hoặc loại bỏ frustum và phát hiện va chạm là vô vọng trong các kịch bản phức tạp

Ba.js trong hành động

  npm install pixi.js
  import * as PIXI from 'pixijs'

  //or CDN
  

Nếu bạn đang tìm cách đi sâu vào việc tạo các đối tượng 3D đơn giản hoặc phức tạp trên web, ba.js là thư viện đi. Những lợi thế hàng đầu của nó bao gồm một cộng đồng tài năng và rộng lớn và rất nhiều ví dụ và tài nguyên.

import * as PIXI from 'pixi.js';

const app = new PIXI.Application();
document.body.appendChild(app.view);

app.loader.add('jumper', 'jumper.png').load((loader, resources) => {
    const bunny = new PIXI.Sprite(resources.bunny.texture);
    bunny.x = app.renderer.width / 2;
    bunny.y = app.renderer.height / 2;

    bunny.anchor.x = .5;
    bunny.anchor.y = .5;

    app.stage.addChild(bunny);

    app.ticker.add(() => {
        bunny.rotation += .01;
    });
});

Three.js là thư viện hoạt hình 3D đầu tiên mà tôi đã làm việc và tôi đã giới thiệu nó cho bất kỳ ai bắt đầu phát triển trò chơi.

Hướng dẫn what 3d game engines use javascript? - những gì công cụ trò chơi 3d sử dụng javascript?

Hãy để tạo ra một hình học xoay đơn giản để chứng minh những gì ba.js có thể làm.

Tạo chức năng

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
9 để thiết lập mọi thứ chúng ta cần để chạy hoạt hình demo của chúng ta với ba.js.

Ưu điểm

  • Dễ học: Ưu điểm quan trọng nhất của ba.js - ngoài khả năng thực hiện kết xuất phức tạp rất tốt - là nó rất dễ bắt đầu với: Phaser is known to have a well-designed structure
  • Hỗ trợ TypeScript: Thư viện hỗ trợ việc sử dụng TypeScript để phát triển trò chơi: The library supports the use of TypeScript for game development
  • Tập trung vào phát triển trò chơi: Phaser chủ yếu là một công cụ phát triển trò chơi - và là một công cụ tốt ở đó: Phaser primarily is a game development engine — and a good one at that
  • Plugins APLenty: Phaser hỗ trợ một danh sách các plugin khổng lồ: Phaser supports a huge list of plugins
  • Hỗ trợ Webgl và Canvas: Phaser hỗ trợ WebGL và đã bật Canvas như một dự phòng: Phaser supports WebGL and has Canvas enabled as a fallback

Nhược điểm

  • Kích thước xây dựng: Kích thước bản dựng của Phaser cho máy tính để bàn khá lớn: The build size of Phaser for desktop is quite massive
  • Hỗ trợ kém cho phát triển di động: Tạo các ứng dụng di động gốc yêu cầu sử dụng Cordova hoặc một số khung của bên thứ ba khác: Creating native mobile apps requires using Cordova or some other third-party framework
  • Quản lý nhà nước: Có thể hơi khó khăn để bắt đầu với người quản lý nhà nước Phaser: It can be somewhat difficult to get started with Phaser’s state manager

Phaser trong hành động

Phaser tốt để phát triển các ứng dụng trò chơi đa nền tảng. Sự hỗ trợ của nó cho một loạt các plugin và cộng đồng lớn các nhà phát triển xây dựng các trò chơi với Phaser giúp việc bắt đầu với khung.

Hãy để xây dựng một ứng dụng cơ bản với Phaser.

  npm install [email protected]
  //OR

Hãy để xây dựng một ứng dụng cơ bản với Phaser.

  npm install babylonjs --save

  // TO USE

  import * as BABYLON from 'babylonjs'

  // OR

  import { Scene, Engine } from 'babylonjs'

Tiếp theo, chuyển trong một số cấu hình mặc định cho động cơ Phaser của bạn.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
0

Tạo chức năng tải trước để tải trong các tệp tĩnh mặc định của bạn.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
1

Cuối cùng, xác định chức năng

function animate() {
    init();
    requestAnimationFrame( animate );
    mesh.rotation.x += .01;
    mesh.rotation.y += .02;
    renderer.render( scene, camera );
}
1 của bạn để hiển thị trò chơi mới được tạo của bạn.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
2

Nhiều bài viết tuyệt vời hơn từ Logrocket:

Hướng dẫn what 3d game engines use javascript? - những gì công cụ trò chơi 3d sử dụng javascript?

Đừng bỏ lỡ một khoảnh khắc với bản phát lại, một bản tin được quản lý từ Logrocket

Tìm hiểu cách Galileo của Logrocket cắt giảm tiếng ồn để chủ động giải quyết các vấn đề trong ứng dụng của bạn

Ưu điểm

  • Sân chơi: Sân chơi là một công cụ tuyệt vời để thử nghiệm mọi thứ trước khi phát triển đầy đủ - và nó có tài liệu tuyệt vời để khởi động: Matter.js offers numerous features, such as rigid, compound, and composite bodies; stable stacking and resting; conservation of motion; and many more

Nhược điểm

  • Hỗ trợ cộng đồng mạnh mẽ: Các nhà phát triển Babylon rất hữu ích và năng động: Matter.js’s lack of continuous collision detection (CCD) causes an issue where fast-moving objects pass through other objects

CodeBase cập nhật: Khung này có một Codebase và các công cụ bên thứ ba được cập nhật thường xuyên đang được phát triển tích cực

Kết xuất PBR: Hỗ trợ hỗ trợ kết xuất PBR là tuyệt vời

Bầu chọn sự tự tin: Babylon được sử dụng và hỗ trợ bởi các thương hiệu lớn như Adobe, Microsoft, v.v.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
3

Bảo trì: Lỗi thường được giải quyết khá nhanh

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
4

Thiếu trưởng thành: Babylon là bản phát hành đầu tiên vào năm 2013, khiến nó khá trẻ so với nhiều đối thủ cạnh tranh

Tài liệu: Động cơ thiếu tài liệu API.

Không phù hợp cho các dự án nhỏ hơn

Babylon.js hoạt động

Ưu điểm

  • Động cơ trò chơi: Trọng tâm chính của PlayCanvas là công cụ phát triển trò chơi của nó: The primary focus of PlayCanvas is its game development engine
  • Nguồn mở: PlayCanvas là một công cụ nguồn mở để phát triển trò chơi mạnh mẽ: PlayCanvas is an open-source tool for powerful game development
  • Tối ưu hóa di động: Nền tảng phát triển trò chơi là di động đầu tiên: The game development platform is mobile-first
  • Thời gian biên dịch không: The engine’s zero compiled time naturally makes the process faster
  • Đường ống tài sản: PlayCanvas sử dụng các thực tiễn tốt nhất để cho phép bạn quyết định cách phân phối nội dung của bạn và ở dạng nào: PlayCanvas uses best practices to allow you to decide how your content is delivered and in what form
  • Công cụ vật lý tích hợp: Bạn có thể tích hợp vật lý vào trò chơi của mình khá dễ dàng bằng cách sử dụng động cơ vật lý đạn mạnh mẽ Ammo.js: You can integrate physics into your game rather easily using the powerful bullet physics engine ammo.js
  • Tải lại nóng: Bạn không cần tải lại trình duyệt của mình mỗi khi bạn thay đổi: You don’t have to reload your browser each time you make changes
  • Chỉ có các công cụ kết xuất trên trình duyệt: PlayCanvas có các tính năng WebGL nâng cao chỉ chạy trên trình duyệt: PlayCanvas has advanced WebGL features that run only on browsers

Nhược điểm

  • Các dự án tư nhân được trả lương: Tầng miễn phí không hỗ trợ các dự án tư nhân, vì vậy tất cả các mã và tài sản đều được lưu trữ công khai: The free tier does not support private projects, so all code and assets are hosted publicly
  • Va chạm bù: Không có phần bù va chạm: There is no collision offset
  • Thiếu ví dụ: Hướng dẫn cho PlayCanvas rất ít: Tutorials for PlayCanvas are few and far between

PlayCanvas trong hành động

PlayCanvas là tuyệt vời để tạo ra các dự án công cộng nhỏ hoặc các dự án trường học - ít nhất, đó là những gì tôi đã sử dụng. Nếu bạn cần nhiều tính năng hơn và kiểm soát nhiều hơn đối với phát triển trò chơi của mình, bạn có thể muốn xem xét đăng ký các tính năng cao cấp.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
5

Tạo một tệp

function animate() {
    init();
    requestAnimationFrame( animate );
    mesh.rotation.x += .01;
    mesh.rotation.y += .02;
    renderer.render( scene, camera );
}
2 và thêm mã sau.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
6

Tiếp theo, tạo một tệp

function animate() {
    init();
    requestAnimationFrame( animate );
    mesh.rotation.x += .01;
    mesh.rotation.y += .02;
    renderer.render( scene, camera );
}
3 và dán vào sau.

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
7

Để tạo máy ảnh và ánh sáng cho đối tượng:

function init() {
  const camera = new THREE.PerspectiveCamera( 60, window.innerWidth / window.innerHeight, .01, 20 );
  camera.position.z = 1;

  const scene = new THREE.Scene();

  const geometry = new THREE.BoxGeometry( 0.5, 0.5, 0.5 );
  const material = new THREE.MeshNormalMaterial();

  const mesh = new THREE.Mesh( geometry, material );
  scene.add( mesh );

  const renderer = new THREE.WebGLRenderer( { antialias: true } );
  renderer.setSize( window.innerWidth, window.innerHeight );
  document.body.appendChild( renderer.domElement );
}
8

Mã trên sẽ tạo ra kết quả sau.

Hướng dẫn what 3d game engines use javascript? - những gì công cụ trò chơi 3d sử dụng javascript?

Suy nghĩ cuối cùng

Bằng cách phá vỡ các ưu điểm, nhược điểm và sử dụng các trường hợp liên quan đến mỗi công cụ trò chơi JS/HTML5 được liệt kê ở trên, tôi hy vọng bạn đã hiểu rõ hơn về việc này phù hợp nhất với loại trò chơi hoặc hoạt hình mà bạn đang tìm kiếm để tạo.

Trong hầu hết các trường hợp, tôi khuyên bạn nên sử dụng ba.js, đặc biệt là nếu bạn đang tìm kiếm nhiều hơn hoặc một công cụ kết xuất hơn là một công cụ trò chơi. Do sự phổ biến của nó trong hệ sinh thái nhà phát triển, nó sẽ dễ dàng tìm thấy tài nguyên toàn diện để giúp bạn phát triển và chạy.

Nếu bạn tập trung vào phát triển trò chơi nhiều hơn, tôi sẽ đề xuất Babylon.js vì sự đơn giản của nó. Babylon cũng có một cơ sở mã hóa được cập nhật và phát triển bên thứ ba hoạt động và tính năng sân chơi là một công cụ tuyệt vời để thử nghiệm. PlayCanvas là một tùy chọn sao lưu vững chắc - nó chủ yếu là một công cụ trò chơi và bạn có thể sử dụng nó để xây dựng các trò chơi 3D phức tạp.

Bạn sử dụng công cụ trò chơi nào trong các dự án phát triển trò chơi của mình? Hãy cho chúng tôi biết trong các ý kiến!

Logrocket: Debug Lỗi JavaScript dễ dàng hơn bằng cách hiểu bối cảnh

Mã gỡ lỗi luôn là một nhiệm vụ tẻ nhạt. Nhưng bạn càng hiểu lỗi của mình thì càng dễ dàng sửa chúng.

Logrocket cho phép bạn hiểu các lỗi này theo những cách mới và độc đáo. Giải pháp giám sát frontend của chúng tôi theo dõi sự tham gia của người dùng với các mặt tiền JavaScript của bạn để cung cấp cho bạn khả năng tìm hiểu chính xác những gì người dùng đã làm dẫn đến lỗi.

Hướng dẫn what 3d game engines use javascript? - những gì công cụ trò chơi 3d sử dụng javascript?

Logrocket Records nhật ký bảng điều khiển, thời gian tải trang, ngăn xếp, yêu cầu/phản hồi mạng chậm với các tiêu đề + thân, siêu dữ liệu trình duyệt và nhật ký tùy chỉnh. Hiểu được tác động của mã JavaScript của bạn sẽ không bao giờ dễ dàng hơn!

Hãy thử nó miễn phí.

Có bất kỳ động cơ trò chơi nào sử dụng JavaScript?

Phaser là một trong những động cơ trò chơi JavaScript tốt nhất để phát triển trò chơi 2D.Lý tưởng phù hợp để xây dựng tất cả mọi thứ, từ các bộ truyền phụ theo kiểu arcade đến các game bắn súng dựa trên vật lý, Phaser là một khung có khả năng cao để phát triển trò chơi hoàn chỉnh.. Ideally suited to building everything from arcade-style side scrollers to physics-based shooters, Phaser is a highly capable framework for complete game development.

JavaScript có thể được sử dụng cho các trò chơi 3D không?

Webgl về cơ bản là OpenGL ES 2.0 cho Web - đó là API JavaScript cung cấp các công cụ để xây dựng các hình ảnh động tương tác phong phú và tất nhiên, cũng là các trò chơi.Bạn có thể tạo và hiển thị đồ họa 3D động với JavaScript được tăng tốc phần cứng.You can generate and render dynamic 3D graphics with JavaScript that is hardware accelerated.

Có trò chơi nào được thực hiện với JavaScript không?

Câu trả lời là có!Đã có lúc một trò chơi đơn giản được phát triển trong JavaScript sẽ yêu cầu một trình phát Flash Adobe.JavaScript đã đi một chặng đường dài.Ngày nay, mọi người có thể chơi các trò chơi được phát triển trong JavaScript trên bất kỳ trình duyệt nào và tại bất kỳ nền tảng nào mà không cần người chơi flash.people can play games developed in JavaScript on any browser and at any platform without the need for a flash player.