Unity3d 使用物理2D拖动播放器对象
我想拖动一个玩家对象,将即将到来的障碍物扔到路上。为此,我需要握住玩家对象并使用它,我需要在游戏中遇到即将到来的障碍 基本上,目前我正在从事这类游戏: 目前,我正在尝试使用此设置来击中障碍物:Unity3d 使用物理2D拖动播放器对象,unity3d,Unity3d,我想拖动一个玩家对象,将即将到来的障碍物扔到路上。为此,我需要握住玩家对象并使用它,我需要在游戏中遇到即将到来的障碍 基本上,目前我正在从事这类游戏: 目前,我正在尝试使用此设置来击中障碍物: void Update() { Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Rigidbody2D.position = mousePos; } 以下是检查器设置: 尽
void Update()
{
Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Rigidbody2D.position = mousePos;
}
以下是检查器设置:
尽管如此,球员的击球还是不平稳。多次在玩家对象内固定障碍物
那么如何使这个打击正确呢?就像我在评论中说的,你需要将刚体设置为运动学,因为它在移动,你在代码中修改它的位置,而不是通过物理模拟 点效应器应用恒定力而不是接触力,需要移除 如果您正在获取“隧道”,则需要将碰撞检测设置为“连续”。如果出现极端反弹或其他故障行为,请尝试更改physic材质上的质量和属性
在FixedUpdate中更新位置,而不是更新。移除PointEffector组件。确保刚体设置为运动学。不,这些更改不会在你击中即将到来的障碍物时将其扔掉。请检查参考游戏视频,以便您更好地理解这一点。-如果我做了运动模拟,那么当你击球时,所有的东西都会弄混。