public void Reset() { rb.velocity = Vector3.zero; FiringSolution fs = new FiringSolution(); Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity); if (aimVector.HasValue) { rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange); } }
public void FindPosition() { Nullable <Vector3> aimVector = balistics.Calculate(player.transform.position, target.transform.position, muzzleV, Physics.gravity); Nullable <float> ttt = balistics.GetTimeToTarget(player.transform.position, target.transform.position, muzzleV, Physics.gravity); POI.x = player.transform.position.x + (aimVector.Value.x * muzzleV * ttt.Value); POI.y = 0; POI.z = player.transform.position.z + (aimVector.Value.z * muzzleV * ttt.Value); Debug.Log(POI); target.transform.position = POI; Debug.Log(target.transform.position); }
//Call Time.timeScale to readjust time // Start is called before the first frame update void Start() { rb = GetComponent <Rigidbody>(); FiringSolution launchSolve = new FiringSolution(); Nullable <Vector3> launchVector = launchSolve.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity); if (launchVector.HasValue) { travelTime = launchSolve.ttt; rb.AddForce(launchVector.Value.normalized * launchForce, ForceMode.VelocityChange); } }
void Start() { Time.timeScale = myTimeScale; rb = GetComponent <Rigidbody>(); FiringSolution fs = new FiringSolution(); Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity); if (aimVector.HasValue) { rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange); } }
// Start is called before the first frame update void Awake() { target = GameObject.FindGameObjectsWithTag("Player")[0]; Time.timeScale = myTimeScale; // allow for slowing time to see what's happening rb = GetComponent <Rigidbody>(); FiringSolution fs = new FiringSolution(); Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity); if (aimVector.HasValue) { rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange); } }
public void Launch(float force) { print(target.transform.position); FiringSolution fs = new FiringSolution(); Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, force, Physics.gravity); if (aimVector.HasValue) { rb.AddForce(aimVector.Value.normalized * force, ForceMode.VelocityChange); } else { Launch(force * 1.25f); } print(force); }
void Start() { //targets = GameObject.FindGameObjectsWithTag(targetTag); Debug.Log(targetIndex); Debug.Log(targets[0]); Time.timeScale = myTimeScale; rb = GetComponent <Rigidbody>(); FiringSolution fs = new FiringSolution(); Nullable <Vector3> aimVector = fs.Calculate(transform.position, targets[targetIndex].transform.position, launchForce, Physics.gravity); if (aimVector.HasValue) { rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange); } }
// Start is called before the first frame update void OnEnable() { Time.timeScale = myTimeScale; // allow for slowing time to see what's happening rb = GetComponent <Rigidbody>(); //Disable animation convenience settings on rigidbody rb.useGravity = true; rb.isKinematic = false; FiringSolution fs = new FiringSolution(); Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity); if (aimVector.HasValue) { rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange); } fireAudio.Play(); Invoke("ActivateCamera", 0.2f); }
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { FiringSolution fs = new FiringSolution(); Nullable <Vector3> aimVector = fs.Calculate(transform.position, target.transform.position, launchForce, Physics.gravity); if (aimVector.HasValue) { rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange); } } if (Input.GetKeyDown(KeyCode.R)) { rb.isKinematic = true; transform.position = startPos; rb.isKinematic = false; } }
// Update is called once per frame void Update() { if (landed) { rb.transform.position = target[targetNum].transform.position; } if (Input.GetKeyDown(KeyCode.H)) { landed = false; Nullable <Vector3> aimVector = fs.Calculate(transform.position, target[targetNum].transform.position, launchForce, Physics.gravity); if (aimVector.HasValue) { rb.constraints = RigidbodyConstraints.None; justCollided = false; rb.AddForce(aimVector.Value.normalized * launchForce, ForceMode.VelocityChange); } else { Debug.Log("No value: target Num is " + targetNum); } } }