@aska322

Почему пропадает коллизия кубика, как можно исправить?

Я новичок в юнити, написал код, чтобы можно было по нажатию кнопки на клавиатуре подбирать кубик, но появилась, когда я его беру, у него полностью пропадает коллизия, он проходит через все стены, как это можно пофиксить?6040b35e0dc6e750402353.png
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DragObject : MonoBehaviour 
{
    public GameObject obj;
    private float Distance;
    public float InteractDistance = 2f;
    public Transform Parent;
    public KeyCode TakeAnObject = KeyCode.E;
    public KeyCode RemoveAnObject = KeyCode.Mouse1;
    

    void OnMouseOver ()
    {
        Distance = Vector3.Distance(obj.GetComponent<Transform>().position, transform.position);
        if (Distance < InteractDistance)
        {
            if(Input.GetKeyDown (TakeAnObject))
            {
                GetComponent<Rigidbody>().isKinematic = true;
                transform.SetParent(Parent);
            }
        }
    }
    void Update()
    {
        if (Input.GetKeyDown(RemoveAnObject))
        {
            GetComponent<Rigidbody>().isKinematic = false;
            transform.parent = null;
        }
    }
  • Вопрос задан
  • 45 просмотров
Пригласить эксперта
Ответы на вопрос 1
@pashara
Обратите внимание на установку значения поля isKinematic компонента Rigidbody.
https://docs.unity3d.com/ScriptReference/Rigidbody...
Решать задачу переноса элемента (если последний должен взаимодействовать с окружением в это время) - задача очень нетривиальная.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы