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

Whenever I look down my character moves on its own

$
0
0
For my game, I want to have a grappling gun, but I had an issue where if I look down (not fully) my character starts moving to the left, here is the grapple gun code using UnityEngine; public class GrapplingGun : MonoBehaviour { private LineRenderer lr; private Vector3 grapplePoint; public LayerMask whatIsGrappleable; public Transform gunTip, camera, player; private float maxDistance = 100f; private SpringJoint joint; void Awake() { lr = GetComponent(); } void Update() { if (Input.GetMouseButtonDown(0)) { StartGrapple(); } else if (Input.GetMouseButtonUp(0)) { StopGrapple(); } } //Called after Update void LateUpdate() { DrawRope(); } /// /// Call whenever we want to start a grapple /// void StartGrapple() { RaycastHit hit; if (Physics.Raycast(camera.position, camera.forward, out hit, maxDistance, whatIsGrappleable)) { grapplePoint = hit.point; joint = player.gameObject.AddComponent(); joint.autoConfigureConnectedAnchor = false; joint.connectedAnchor = grapplePoint; float distanceFromPoint = Vector3.Distance(player.position, grapplePoint); //The distance grapple will try to keep from grapple point. joint.maxDistance = distanceFromPoint * 0.8f; joint.minDistance = distanceFromPoint * 0.25f; //Adjust these values to fit your game. joint.spring = 4.5f; joint.damper = 7f; joint.massScale = 4.5f; lr.positionCount = 2; currentGrapplePosition = gunTip.position; } } /// /// Call whenever we want to stop a grapple /// void StopGrapple() { lr.positionCount = 0; Destroy(joint); } private Vector3 currentGrapplePosition; void DrawRope() { //If not grappling, don't draw rope if (!joint) return; currentGrapplePosition = Vector3.Lerp(currentGrapplePosition, grapplePoint, Time.deltaTime * 8f); lr.SetPosition(0, gunTip.position); lr.SetPosition(1, currentGrapplePosition); } public bool IsGrappling() { return joint != null; } public Vector3 GetGrapplePoint() { return grapplePoint; } }

Viewing all articles
Browse latest Browse all 592

Trending Articles



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