You're right, that certainly isn't the desired behavior. The current mouse input system wasn't designed with large objects like that in mind. Currently if a clicked mesh belongs to a character, it's set to move to that character's location, but it might be best to remove this behavior and move directly to the clicked point instead.
{
const raycastPredicate=mesh=>{
if(!mesh.isEnabled() || !mesh.isVisible || !mesh.isPickable){ return false; }
if(mesh.character){
if(mesh.character.isFollower||mesh.character.isPlayer){ return false; }
}
return true;
}
mv3d.processMapTouch=mv3d.util.throttle(function(){
const intersection = mv3d.scene.pick(TouchInput.x*mv3d.RES_SCALE,TouchInput.y*mv3d.RES_SCALE,raycastPredicate);
if(intersection.hit){
const point = {x:intersection.pickedPoint.x, y:-intersection.pickedPoint.z};
mv3d.setDestination(point.x,point.y);
}
},100);
}
Here is some modified code with the undesired behavior removed, you can load it as a plugin after mv3d. I hope this works for you!
