원클릭으로
player-controller
Documents PlayerControllerPlugin and InputPlugin, detailing how movement interacts with the procedural terrain.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Documents PlayerControllerPlugin and InputPlugin, detailing how movement interacts with the procedural terrain.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Architectural instructions for the standalone Cascaded Shadow Maps (CSM) Plugin. Explains how CSMShadowNode integrates with the lighting system and WebGPU nodes.
Outlines the DebugUIPlugin architecture and its schema-driven design for safe settings injection.
Explains how GrassPlugin maps InstancedMesh pools to QuadTreeLOD chunks, including TSL wind animations and exclusion maps.
Explains how PostProcessPlugin intercepts the Three.js pipeline for WebGPU-compatible Bloom and Color Grading.
Covers SkyPlugin and IBLPlugin, explaining procedural sun cycles and dynamic environment map baking.
Details how WaterPlugin generates dynamic, depth-based shoreline foam and TSL normal map blending.
| name | player-controller |
| description | Documents PlayerControllerPlugin and InputPlugin, detailing how movement interacts with the procedural terrain. |
The movement system is decoupled into two plugins: InputPlugin.ts for raw hardware event gathering, and PlayerControllerPlugin.ts for physics and terrain clamping.
A lightweight singleton manager that listens to keydown, keyup, and mouse events.
keys dictionary representing the current active state of movement keys (W, A, S, D, Shift, Space).The logic engine that translates input into physical movement.
camera is attached to a dummy object. Mouse input rotates the dummy object (yaw) and the camera's pitch, creating a standard First-Person/Third-Person view matrix.Because the terrain is procedural and completely displaced on the GPU, the CPU does not naturally know where the ground is.
TerrainSystem.getTerrainHeightAt(x, z).getTerrainHeightAt Implementation: The TerrainSystem looks up the specific pixel in the CPU-side Float32Array generated by the GraphGenerator, calculates the exact triangular barycentric interpolation for smooth slopes, and returns the height.y position is constantly clamped to max(terrainHeight, waterLevel) + playerHeight. This prevents the player from clipping through mountains or sinking below the ocean floor.TerrainSystem for collision data. If the graph rebuilds, the player must immediately snap to the new height.