Я изучаю, как использовать Unity3D.
У меня есть эта сцена, где элементами являются два изображения PNG (два черных круга), с которыми я связал свойство Rigidbody (без гравитации).
С помощью скрипта я связал контроллер горизонтальной оси, и он работает: Iможно управлять центральным кругом с помощью клавиатуры.
Теперь я пытаюсь связать постоянную силу.Мой сценарий выглядит следующим образом.Но это работает только вдоль оси Y.Я не могу заставить его работать вдоль горизонтальной оси.
Сценарий:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CircleController : MonoBehaviour {
float MaxSpeed = 10f;
Rigidbody rigid2D;
public Vector3 tensor;
// Use this for initialization
void Start()
{
rigid2D = GetComponent<Rigidbody>();
rigid2D.AddForce(new Vector3(0,10,0), ForceMode.Force);
}
// Update is called once per frame
void FixedUpdate()
{
float move = Input.GetAxis("Horizontal");
rigid2D.velocity = new Vector2(move * MaxSpeed, rigid2D.velocity.y);
}
}
Может кто-нибудь помочь мне понять, почему я не могу приложить силу вдоль этой оси?
В частности, когда я выполняю сценарий с этой инструкцией: rigid2D.AddForce(new Vector3(0,10,0), ForceMode.Force);
, я вижу, что центральный круг движется навстречу другому.Это правильно.
Вместо этого, когда я выполняю его с помощью этой инструкции rigid2D.AddForce(new Vector3(10,0,0), ForceMode.Force);
, центральный круг остается неподвижным.