В настоящее время я разрабатываю игру в единстве с использованием сценариев c #, и у меня возникла небольшая проблема.Я пытаюсь дать одному из моих игровых объектов постоянную скорость / скорость без влияния других факторов гравитации, сопротивления или каких-либо других физических характеристик, кроме скорости.Я просмотрел руководство по Unity, чтобы найти какие-либо классы, которые могли бы помочь мне в этом, и мне показалось, что я нашел один класс, который справился бы с работой: https://docs.unity3d.com/ScriptReference/Rigidbody-velocity.html
Я отредактировал его, чтобы сделать егоподходит для моей игры, так как это игровой объект, скорость которого не зависит от игрока, но каждый раз, когда я запускаю игру на тестовом экране, ничего не происходит (объект остается статичным).Мне было интересно, если кто-нибудь знает класс в Unity или C #, который занимается этой проблемой или вообще знает, как я могу это сделать.И то, и другое одновременно влияет на все игровые объекты, появляющиеся на экране, или только на несколько избранных?А во-вторых, мне также было интересно, как я могу преобразовать вектор скорости твердого тела2 из мировой точки в точку экрана?
Большое спасибо.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BallSpeed : MonoBehaviour
{
public Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
rb.velocity = new Vector2(0, 100);
}
}
Expected result: The game object moves upwards with a speed of 100.
Actual result: Nothing happens.