Jump to content

Moving an entity to a specific point.


Go to solution Solved by Josh,

Recommended Posts

Posted

How can I move an entity to a specific point?.

I have a camera that is positioned at the point of collision of a beam in a third person camera.

The idea is that after the collision it returns to the pivot of the camera, but I want it not to do it quickly but slowly, until it reaches the position of that pivot.

Any suggestions?

 

 

Astrocuco.thumb.png.c76e0fb3de2d6e437e7dca099625e11e.png

Murphy's Law: We don't fix bugs, we document them as features. – Murphy Games

Posted

I'm just waiting for a friendly command like MoveToPoint... 

I'll have insomnia tonight.

 

 

Astrocuco.thumb.png.c76e0fb3de2d6e437e7dca099625e11e.png

Murphy's Law: We don't fix bugs, we document them as features. – Murphy Games

  • Solution
Posted
void MoveToPoint(Entity* entity, const Vec3& target, const float speed)
{
    Vec3 current = entity->GetPosition(true);
    float d = current.DistanceToPoint(target);
    if (d < speed)
    {
    	entity->SetPosition(target,true);
    }
    else
    {
    	entity->SetPosition(current + (target - current).Normalize() * speed, true);
    }
}

 

  • Like 1

Let's build cool stuff and have fun. :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...