Quantcast
Channel: Questions in topic: "gun"
Viewing all articles
Browse latest Browse all 592

Why is my gun stretching out when I pick it up?

$
0
0
When my gun is picked up, the transform changes from 0.02 on all axes to 1 on all axes. If it helps, here is my pick up system script: using System.Collections; using System.Collections.Generic; using UnityEngine; public class PickUpSystem : MonoBehaviour { public GunSystem gunScript; public Rigidbody rb; public BoxCollider coll; public Transform player, gunContainer, fpsCam; public float pickUpRange; public float dropForwardForce, dropUpwardForce; public bool equipped; public static bool slotFull; private void Start() { //Setup if (!equipped) { gunScript.enabled = false; rb.isKinematic = false; coll.isTrigger = false; } if (equipped) { gunScript.enabled = true; rb.isKinematic = true; coll.isTrigger = true; slotFull = true; } } private void Update() { //Check if player is in range and "E" is pressed Vector3 distanceToPlayer = player.position - transform.position; if (!equipped && distanceToPlayer.magnitude <= pickUpRange && Input.GetKeyDown(KeyCode.E) && !slotFull) PickUp(); //Drop if equipped and "Q" is pressed if (equipped && Input.GetKeyDown(KeyCode.Q)) Drop(); } private void PickUp() { equipped = true; slotFull = true; //Make weapon a child of the camera and move it to default position transform.SetParent(gunContainer); transform.localPosition = Vector3.zero; transform.localRotation = Quaternion.Euler(Vector3.zero); transform.localScale = Vector3.one; //Make Rigidbody kinematic and BoxCollider a trigger rb.isKinematic = true; coll.isTrigger = true; //Enable script gunScript.enabled = true; } private void Drop() { equipped = false; slotFull = false; //Set parent to null transform.SetParent(null); //Make Rigidbody not kinematic and BoxCollider normal rb.isKinematic = false; coll.isTrigger = false; //Gun carries momentum of player rb.velocity = player.GetComponent().velocity; //AddForce rb.AddForce(fpsCam.forward * dropForwardForce, ForceMode.Impulse); rb.AddForce(fpsCam.up * dropUpwardForce, ForceMode.Impulse); //Add random rotation float random = Random.Range(-1f, 1f); rb.AddTorque(new Vector3(random, random, random) * 10); //Disable script gunScript.enabled = false; } }
If anyone could help me that would be great :)

Viewing all articles
Browse latest Browse all 592

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>