Witam mam problem dotyczący trajektorii lotu piłki wyrzuconej przez gracza.
Posiadam gracza który porusza się za pomocą AddForc'a tak aby uzyskać efekt poślizgu (jak w haxballu) wrzucam skrypt:
using UnityEngine;
using System.Collections;
public class RuchForce : MonoBehaviour
{
public float moveSpeed = 10f;
public float turnSpeed = 2f;
void Update ()
{
if(Input.GetKey(KeyCode.UpArrow))
rigidbody.AddForce(transform.forward * moveSpeed);
if(Input.GetKey(KeyCode.DownArrow))
rigidbody.AddForce(-transform.forward * moveSpeed);
if(Input.GetKey(KeyCode.LeftArrow))
transform.Rotate(Vector3.up, -turnSpeed );
if(Input.GetKey(KeyCode.RightArrow))
transform.Rotate(Vector3.up, turnSpeed );
}
}
Do tego gracza dodałem pusty obiekt (sparentowałem) znajduję sie tuż przed nim (taki celownik, spawner)
Dodałem sferę czyli piłkę (rigidbody) stworzyłem zmienną hasball która po zderzeniu z tą piłką przyjmowała wartość true ( w sumie to nieistotna część) piłka oczywiście po tym znika.
Przechodząc do sedna jeśli zawodnik naciśnie "Fire1" i posiada piłkę to spawnuje sobię sferę w miejscu pustego obiektu i wystrzeliwuje prosto zgodnie z pozycją i rotacją pustego obiektu.
using UnityEngine;
using System.Collections;
public class test : MonoBehaviour {
public Transform spawner;
public GameObject ballPrefab;
public Boolean : HasBall = false;
void Update () {
if (Input.GetButtonDown("Fire1")&& HasBall == true) {
GameObject ballInstance;
ballInstance = Instantiate(ballPrefab, spawner.transform.position, spawner.rotation) as GameObject;
ballInstance.rigidbody.AddForce(spawner.forward * 30000 );
}
}
}
Wszystko działa tak jak powinno ale chciałbym aby po wciśnięciu fire1 z prawą strzałką pocisk nie leciał prosto tylko pod kątem w prawo.
Pomijając już ten warunek z strzałką chciałbym coś takiego uzyskać
ballInstance.rigidbody.AddForce(spawner.forward * 30000 && spawner.right * 30000 );
Oczywiscie wiem ,że to jest ,źle.
Ta wersja odnosi się do globala więc też odpada.
ballInstance.rigidbody.AddForce(300,300,0);
Nie ograniam jeszcze tak dobrze Unity a w dokumentacji niewiele o tym napisali więc proszę o pomoc.
Post połączony: 2015-01-19, 19:31
Głupio mi pisać ale już sobie z tym poradziłem proszę o zamknięcie.