UNPKG

matrix-engine-wgpu

Version:

Networking implemented - based on kurento openvidu server. fix arcball camera,instanced draws added also effect pipeline blend with instancing option.Normalmap added, Fixed shadows casting vs camera/video texture, webGPU powered pwa application. Crazy fas

32 lines (28 loc) 957 B
import {resolvePairRepulsion} from "../../examples/games/rpg/nav-mesh"; export class CollisionSystem { constructor() { this.entries = []; } register(id, positionInstance, radius = 0.6, group = "default") { this.entries.push({id, pos: positionInstance, radius, group}); } unregister(id) { this.entries = this.entries.filter(e => e.id !== id); } update() { const n = this.entries.length; for(let i = 0;i < n;i++) { for(let j = i + 1;j < n;j++) { const A = this.entries[i]; const B = this.entries[j]; if(A.group === B.group) continue; const minDist = (A.radius + B.radius)/1.5; const testCollide = resolvePairRepulsion(A.pos, B.pos, minDist, 1.0); if(testCollide) { // console.log('collide A ' + A + " vs B " + B); dispatchEvent(new CustomEvent('close-distance', {detail: {A: A, B: B}})) } } } } }