No longer using playerMovememt.js. I’m not using Playcanvas physics. Check the scripts under the CharacterDemo entity. Those are using custom collision codes from altern codebase ( which included terrain engine core code) exported out from haxe. Ellipsoid Collision/movement and Raycasting queries are made with altern.EllipsoidCollider and altern.Raycaster respectively.
The collision scene engine is based Fast 3D raycasting/collision Library / Scripts preview If the size of the world is just that (like in the example you gave)… a regular Model/mesh would be better. In fact, i think you are already using a static mesh (a combination of models). In which case, use the examples found in the link above instead.
Regarding TerrainLOD and collision engine, however, i haven’t hooked it up to also recognise nodes with terrainLOD script in order to link collision to those terrain as well (the core altern codebase actually supports this so it’s only a matter of scripting within Playcanvas). Need to come up with an official example that integrates parsing combined collision graph from playcanvas scene graph + terrainLODs/other subtrees nodes support (manage multiple terrainLODs as part of a much larger world as well…). Also need to see what sort of development/level-design workflow would work best as well when it comes to manually placing objects on such large LOD terrains within/outside editor.