Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

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!

Thank you for your reply.

 I don't know much about the program.

 Should I add this code to the last column of the "mv3d" plugin?