building-mechanics

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

3D Building Mechanics

3D建筑机制

Complete building system for Three.js games with performance optimization, structural physics, and multiplayer networking.
适用于Three.js游戏的完整建筑系统,包含性能优化、结构物理和多人网络功能。

Quick Start

快速开始

javascript
import { SpatialHashGrid } from './scripts/spatial-hash-grid.js';
import { HeuristicValidator } from './scripts/heuristic-validator.js';

// Spatial indexing for fast queries
const spatialIndex = new SpatialHashGrid(10);
spatialIndex.insert(piece, piece.position);
const nearby = spatialIndex.queryRadius(position, 15);

// Structural validation (Rust/Valheim style)
const validator = new HeuristicValidator({ mode: 'heuristic' });
validator.addPiece(piece);
const canPlace = validator.validatePlacement(newPiece);
javascript
import { SpatialHashGrid } from './scripts/spatial-hash-grid.js';
import { HeuristicValidator } from './scripts/heuristic-validator.js';

// 空间索引实现快速查询
const spatialIndex = new SpatialHashGrid(10);
spatialIndex.insert(piece, piece.position);
const nearby = spatialIndex.queryRadius(position, 15);

// 结构验证(Rust/Valheim风格)
const validator = new HeuristicValidator({ mode: 'heuristic' });
validator.addPiece(piece);
const canPlace = validator.validatePlacement(newPiece);

Reference Files

参考文件

Read these for detailed implementation guidance:
  • references/performance-at-scale.md
    - Spatial partitioning, chunk loading, instancing, LOD
  • references/structural-physics-advanced.md
    - Arcade vs heuristic vs realistic physics
  • references/multiplayer-networking.md
    - Authority models, delta sync, conflict resolution
阅读以下文件获取详细实现指南:
  • references/performance-at-scale.md
    - 空间分区、区块加载、实例化、LOD(细节层次)
  • references/structural-physics-advanced.md
    - 街机、启发式与写实物理对比
  • references/multiplayer-networking.md
    - 权限模型、增量同步、冲突解决

Scripts

脚本

Performance (references/performance-at-scale.md)

性能优化(参考references/performance-at-scale.md)

  • scripts/spatial-hash-grid.js
    - O(1) queries for uniform distribution
  • scripts/octree.js
    - Adaptive queries for clustered bases
  • scripts/chunk-manager.js
    - World streaming for large maps
  • scripts/performance-profiler.js
    - Benchmarking utilities
  • scripts/spatial-hash-grid.js
    - 均匀分布场景下的O(1)查询
  • scripts/octree.js
    - 集群基地场景下的自适应查询
  • scripts/chunk-manager.js
    - 大地图的世界流加载
  • scripts/performance-profiler.js
    - 基准测试工具

Structural Physics (references/structural-physics-advanced.md)

结构物理(参考references/structural-physics-advanced.md)

  • scripts/heuristic-validator.js
    - Fast validation (Fortnite/Rust/Valheim modes)
  • scripts/stability-optimizer.js
    - Caching and batch updates
  • scripts/damage-propagation.js
    - Damage states, cascading collapse
  • scripts/physics-engine-lite.js
    - Optional realistic physics
  • scripts/heuristic-validator.js
    - 快速验证(支持Fortnite/Rust/Valheim模式)
  • scripts/stability-optimizer.js
    - 缓存与批量更新
  • scripts/damage-propagation.js
    - 损伤状态、连锁坍塌
  • scripts/physics-engine-lite.js
    - 可选的写实物理引擎

Multiplayer (references/multiplayer-networking.md)

多人网络(参考references/multiplayer-networking.md)

  • scripts/delta-compression.js
    - Only send changed state
  • scripts/client-prediction.js
    - Optimistic placement with rollback
  • scripts/conflict-resolver.js
    - Handle simultaneous builds
  • scripts/building-network-manager.js
    - Complete server/client system
  • scripts/delta-compression.js
    - 仅发送变更状态
  • scripts/client-prediction.js
    - 带回滚的乐观放置
  • scripts/conflict-resolver.js
    - 处理同时建造操作
  • scripts/building-network-manager.js
    - 完整的服务器/客户端系统

Key Patterns

核心模式

Spatial Indexing Selection

空间索引选择

PiecesDistributionUse
<1,000AnyArray
1-5kUniformSpatialHashGrid
1-5kClusteredOctree
5k+AnyChunkManager + Octree
部件数量分布情况适用方案
<1,000任意数组
1-5k均匀SpatialHashGrid
1-5k集群Octree
5k+任意ChunkManager + Octree

Physics Mode Selection

物理模式选择

  • Arcade (Fortnite): Connectivity only, instant collapse, best for combat
  • Heuristic (Rust/Valheim): Stability %, predictable, best for survival
  • Realistic: Full stress/strain, expensive, best for engineering sims
  • 街机模式(Fortnite风格):仅检查连通性,即时坍塌,最适合战斗类游戏
  • 启发式模式(Rust/Valheim风格):稳定性百分比,可预测,最适合生存类游戏
  • 写实模式:完整应力/应变计算,性能消耗高,最适合工程模拟类游戏

Multiplayer Pattern

多人网络模式

Server-authoritative with client prediction. Use delta compression for sync.
采用服务器权威+客户端预测模式,使用增量压缩实现同步。