Я понял, что объект, когда он удерживается, не следует относительно myHands. Кроме того, вы можете бросать объект на неопределенный срок.
Для получения дополнительной информации:
- При удержании объекта объект не обновляет свое положение до myHands.transform.position;
- Кроме того, нажимая F, вы можете продолжать нажимать его, и он будет просто продолжать двигаться вперед.
using TMPro;
using Unity.VisualScripting;
using UnityEngine;
using static UnityEngine.GraphicsBuffer;
public class PickUpObject : MonoBehaviour
{
[Header("Pickup")]
public Transform hand;
public float pickupDistance = 3f;
public LayerMask pickupMask;
[Header("UI")]
//public TextMeshProUGUI pickupText;
[Header("Throw")]
public float throwForce = 8f; // Throw force
public ForceMode throwForceMode = ForceMode.VelocityChange; // Add force immediately
GameObject heldObject;
Rigidbody heldRb;
bool isHolding;
void Start()
{
/*if (pickupText != null)
pickupText.gameObject.SetActive(false);*/
}
void Update()
{
/*if (InputManager.Paused)
return;*/
// If holding something
if (isHolding)
{
if (!Input.GetKey(KeyCode.E))
Drop();
if (Input.GetKey(KeyCode.F))
Throw();
/*if (pickupText != null)
pickupText.gameObject.SetActive(false);*/
return;
}
/*if (gameObject.transform.position.y isHolding;
public GameObject GetHeldObject() => heldObject;
}
Подробнее здесь: https://stackoverflow.com/questions/799 ... to-myhands
Мобильная версия