Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 使用物理2D拖动播放器对象_Unity3d - Fatal编程技术网

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组件。确保刚体设置为运动学。不,这些更改不会在你击中即将到来的障碍物时将其扔掉。请检查参考游戏视频,以便您更好地理解这一点。-如果我做了运动模拟,那么当你击球时,所有的东西都会弄混。