For some reason when I pick up an object, the object shortens and widens…
I honestly don’t know what else to say.
This is my script:
using UnityEngine;
using System.Collections;
#pragma warning disable 0414
namespace CarryingItems {
public class PickUp : MonoBehaviour {
private float RayCastLength = 2.15f;
public LayerMask RayMask;
private float OffsetDropPosition = 2;
// The parent.
private GameObject UtilityProps;
// Where to place the item.
private GameObject Hand;
// The object I'm carrying.
public GameObject CarriedObject;
// The character and camera.
private GameObject Character;
private GameObject CameraMain;
// The children the objects consist of.
private GameObject Handle;
private GameObject HandleExtra;
private GameObject BladeHolder;
private GameObject Blade;
private bool ItemPickedUp;
public bool LookingAtObject;
private RaycastHit FilterHit;
public bool ItemInHand;
void Awake() {
ItemInHand = HandHeldCollider.ItemInHand;
UtilityProps = GameObject.Find("UtilityProps");
Hand = GameObject.Find("ItemHand");
Character = GameObject.Find("PlayerCharacter");
CameraMain = GameObject.Find("MainCamera");
}
void Update() {
CarriedObject = GameObject.FindWithTag("PickedUp");
if(ItemPickedUp == false) {
LookingAtObject = Physics.Raycast(CameraMain.transform.position, CameraMain.transform.forward, out FilterHit, RayCastLength, RayMask.value);
}
if (Input.GetKeyDown("e")) {
if(ItemPickedUp == false) {
if(FilterHit.rigidbody.gameObject != null) {
ItemPickUp();
}
}
else if(ItemPickedUp == true){
ItemDrop();
}
}
}
void ItemPickUp() {
if (LookingAtObject == true) {
FilterHit.rigidbody.gameObject.tag = "PickedUp";
CarriedObject.transform.parent = Character.transform;
CarriedObject.GetComponent<Rigidbody>().useGravity = false;
CarriedObject.GetComponent<Rigidbody>().isKinematic = true;
CarriedObject.transform.position = Hand.transform.position;
CarriedObject.transform.rotation = Hand.transform.rotation;
ItemPickedUp = true;
CarriedObject.transform.GetChild(1).gameObject.GetComponent<Collider>().enabled = false;
CarriedObject.transform.GetChild(2).gameObject.GetComponent<Collider>().enabled = false;
CarriedObject.transform.GetChild(3).gameObject.GetComponent<Collider>().enabled = false;
}
}
void ItemDrop() {
CarriedObject.transform.parent = UtilityProps.transform;
CarriedObject.transform.position = CameraMain.transform.position + CameraMain.transform.forward*OffsetDropPosition;
CarriedObject.transform.rotation = Character.transform.rotation;
CarriedObject.GetComponent<Rigidbody>().useGravity = true;
CarriedObject.GetComponent<Rigidbody>().isKinematic = false;
ItemPickedUp = false;
CarriedObject.transform.GetChild(1).gameObject.GetComponent<Collider>().enabled = true;
CarriedObject.transform.GetChild(2).gameObject.GetComponent<Collider>().enabled = true;
CarriedObject.transform.GetChild(3).gameObject.GetComponent<Collider>().enabled = true;
CarriedObject.gameObject.tag = "Carryable";
CarriedObject = null;
}
}
}