Привет, на сцене у меня есть капсула с 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?