@kokapuk

Персонаж не может толкать объекты?

Привет, на сцене у меня есть капсула с Character Controller, пол и сфера с Rigidbody, так же есть скрипт, который двигает персонажа на wasd
using System.Collections;
using System.Collections.Generic;
using UnityEngine.SceneManagement;
using UnityEngine;

public class Player : MonoBehaviour
{
    public float speed = 4f;
    public float jumpForce = 8f;
    public float gravity = 20f;
    private Vector3 moveDir = Vector3.zero;
    private CharacterController controller;

    private void Start()
    {
        controller = GetComponent<CharacterController>();
    }

    private void FixedUpdate()
    {
        if (controller.isGrounded)
        {
            moveDir = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));
            moveDir = transform.TransformDirection(moveDir);
            if (Input.GetKey(KeyCode.LeftShift) && Input.GetAxis("Vertical") != -1)
            {
                moveDir *= 2 * speed;
            }
            else
            {
                moveDir *= speed;
            }
            
        }

        if (Input.GetKeyDown(KeyCode.Space) && controller.isGrounded)
        {
            moveDir.y = jumpForce;
        }
        moveDir.y -= gravity * Time.deltaTime;
        controller.Move(moveDir * Time.deltaTime);
    }
}

так вот, моя проблема в том, что персонаж не может толкать сферу, что бы она двигалась, это работает с другими объектами, но на них мне приходиться кидать Rigidbody и двигать ими при помощи velocity, тогда да, они могу толкать сферу. Есть ли способ это сделать через Character Controller?
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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