HingeJoint2D for Person and Dog to make leash
с помощью HingeJoints хочу создать обычную веревку которая не будет тянуть обьекты например
с Layer:NoJoint
Пока к GameObject Player добавил gameobject Rope и это начало веревки
дальше все прикрепляются друг к другу и последний будет dog
только у меня щас проблема такая что дог прилетает к person и персон тоже изза этого отталкивается вообщем предложите что сделать можно пожалуйста!
using UnityEngine;
namespace NifuDev
{
public class Rope : MonoBehaviour
{
public Rigidbody2D hook;
public HingeJoint2D collar;
public GameObject linkPrefab;
public int links;
public float distanceFromChainEnd = .6f;
void Start()
{
GenerateRope();
}
private void ConnectRopeToTheEnd(Rigidbody2D endRG)
{
collar.connectedBody = endRG;
collar.anchor=Vector2.zero;
collar.connectedAnchor = new Vector2(0f, -distanceFromChainEnd);
}
private void GenerateRope()
{
Rigidbody2D previousRB = hook;
for (int i = 0; i < links; i++)
{
GameObject link = Instantiate(linkPrefab, transform);
Rigidbody2D linkRB = link.GetComponent<Rigidbody2D>();
HingeJoint2D joint2D = link.GetComponent<HingeJoint2D>();
joint2D.connectedBody = previousRB;
// If it's the last link, connect it to the collar
if (i < links - 1)
{
previousRB = linkRB;
}
else
{
linkRB.gameObject.layer = LayerMask.NameToLayer("NoJoint");
ConnectRopeToTheEnd(linkRB);
}
}
}
}
}```