diff --git a/packages/bootstrap/package.json b/packages/bootstrap/package.json index a8f421a..0e01bf0 100644 --- a/packages/bootstrap/package.json +++ b/packages/bootstrap/package.json @@ -1,7 +1,7 @@ { "name": "@mavonengine/create-bootstrap", "type": "module", - "version": "0.0.3", + "version": "0.0.4", "description": "Bootstrap a MavonEngine multiplayer project", "license": "MIT", "bin": { diff --git a/packages/bootstrap/src/config.ts b/packages/bootstrap/src/config.ts index c3d210a..9c3b385 100644 --- a/packages/bootstrap/src/config.ts +++ b/packages/bootstrap/src/config.ts @@ -1,4 +1,4 @@ export const TAG_URL - = 'https://github.com/MavonEngine/Core/archive/refs/tags/0.0.8-alpha.zip' + = 'https://github.com/MavonEngine/Core/archive/refs/tags/0.0.9-alpha.zip' export const TEMPLATE_SUBPATH = 'packages/multiplayer-template' diff --git a/packages/core/package.json b/packages/core/package.json index 87b3c94..0482e07 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,7 +1,7 @@ { "name": "@mavonengine/core", "type": "module", - "version": "0.0.7", + "version": "0.0.8", "description": "", "author": "", "license": "MIT", diff --git a/packages/multiplayer-template/client/src/Scenes/GameWorld.ts b/packages/multiplayer-template/client/src/Scenes/GameWorld.ts index a3799b1..c36eb52 100644 --- a/packages/multiplayer-template/client/src/Scenes/GameWorld.ts +++ b/packages/multiplayer-template/client/src/Scenes/GameWorld.ts @@ -1,3 +1,6 @@ +import type { + Material, +} from 'three' import Game from '@mavonengine/core/Game' import GameObject from '@mavonengine/core/World/GameObject' import { @@ -49,7 +52,6 @@ export default class GameWorld extends GameObject { const sun = new DirectionalLight(0xFFF4E0, 1.2) sun.position.set(20, 40, 20) - sun.castShadow = true sun.shadow.mapSize.set(2048, 2048) sun.shadow.camera.near = 0.5 sun.shadow.camera.far = 200 @@ -71,8 +73,11 @@ export default class GameWorld extends GameObject { // Grid overlay for spatial reference const grid = new GridHelper(200, 40, 0x000000, 0x000000) - ;(grid.material as { opacity: number, transparent: boolean }).opacity = 0.08 - ;(grid.material as { opacity: number, transparent: boolean }).transparent = true + const gridMat = grid.material as Material + gridMat.opacity = 0.5 + gridMat.transparent = true + gridMat.depthWrite = false + grid.renderOrder = -1 Game.instance().scene.add(grid) } diff --git a/packages/multiplayer-template/client/src/World/Trees.ts b/packages/multiplayer-template/client/src/World/Trees.ts index 006077b..d699570 100644 --- a/packages/multiplayer-template/client/src/World/Trees.ts +++ b/packages/multiplayer-template/client/src/World/Trees.ts @@ -1,4 +1,4 @@ -import type { Material, Mesh } from 'three' +import type { Material, Mesh, MeshStandardMaterial } from 'three' import type { GLTF } from 'three/examples/jsm/Addons.js' import Game from '@mavonengine/core/Game' import GameObject from '@mavonengine/core/World/GameObject' @@ -40,6 +40,14 @@ export default class Trees extends GameObject { for (const sourceMesh of meshes) { sourceMesh.geometry.rotateX((90 * Math.PI) / 180) + const mat = sourceMesh.material as MeshStandardMaterial + mat.depthTest = true + mat.depthWrite = true + if (mat.transparent) { + mat.transparent = false + mat.alphaTest = 0.5 + } + const instancedMesh = new InstancedMesh( sourceMesh.geometry, sourceMesh.material as Material, diff --git a/packages/multiplayer-template/package.json b/packages/multiplayer-template/package.json index 37d8944..b5c7c16 100644 --- a/packages/multiplayer-template/package.json +++ b/packages/multiplayer-template/package.json @@ -14,7 +14,7 @@ "lint:fix": "eslint . --fix" }, "dependencies": { - "@mavonengine/core": "0.0.7" + "@mavonengine/core": "0.0.8" }, "devDependencies": { "@antfu/eslint-config": "^8.0.0",