User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.
The issue with my code is that the bullets will basically spill out of the player object but i cannot get them to shoot directly forward to hit the obstacles. Instead, as the player rolls each direction, the bullets come out the same set vector which is not what i want. I'd like the bullets to shoot along the x-axis only while instead, they shoot out of all sides depending on how the player rolls.
I've tried changing the bullet rotation and force, in the case that the bullet force altered the player direction and momentum. That failed so i removed the players forward force to test, and still no progress.
using UnityEngine;publicclassPlayerMovement:MonoBehaviour{publicRigidbody rb;publicfloat backwardForce =-60f;publicfloat forwardForce =100f;publicfloat sidewaysForce =1f;// Start is called before the first frame updatevoidStart(){
rb.AddForce(0,100,200);}// Update is called once per framevoidFixedUpdate(){//Movement force
rb.AddForce(0,0,50.0f*Time.deltaTime);if(Input.GetKey("a")){
rb.AddForce(-sidewaysForce *Time.deltaTime,0,0,ForceMode.VelocityChange);}elseif(Input.GetKey("d")){
rb.AddForce(sidewaysForce *Time.deltaTime,0,0,ForceMode.VelocityChange);}elseif(Input.GetKey("w")){
rb.AddForce(forwardForce *Time.deltaTime,0,0,ForceMode.Force);}elseif(Input.GetKey("s")){
rb.AddForce(backwardForce *Time.deltaTime,0,0,ForceMode.Force);}/*switch (Input.GetKeyDown())
{
// case Input.GetKeyDown("a"):
//a: rb.AddForce(sidewaysForce * Time.deltaTime, 0, 0);
}
}
}
publicclassBulletShoot:MonoBehaviour{//Reference to bullet emitterpublicGameObjectBullet_Emitter;//Reference to bullet prefabpublicGameObjectBullet;//Forward force of bulletpublicfloatBullet_Force;// = 10.0f;// Start is called before the first frame updatevoidStart(){}// Update is called once per framevoidUpdate(){//When "Space" key is pressed..if(Input.GetKey(
No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that
you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice
sessions to improve your knowledge and scores.
manpreet
Best Answer
3 years ago
The issue with my code is that the bullets will basically spill out of the player object but i cannot get them to shoot directly forward to hit the obstacles. Instead, as the player rolls each direction, the bullets come out the same set vector which is not what i want. I'd like the bullets to shoot along the x-axis only while instead, they shoot out of all sides depending on how the player rolls.
I've tried changing the bullet rotation and force, in the case that the bullet force altered the player direction and momentum. That failed so i removed the players forward force to test, and still no progress.