Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Vector3 gravityUp = myPlayerGO.transform.position - new Vector3(0,0,0);
- gravityUp.Normalize();
- myRigidbody.AddForce(gravityUp * Gravity * myRigidbody.mass);
- if(Grounded >= 1)
- myRigidbody.drag = 0.1f;
- else
- myRigidbody.drag = 1.0f;
- Quaternion quatern = Quaternion.FromToRotation(transform.up, gravityUp);
- transform.rotation = quatern * transform.rotation;
- CameraLookAt.transform.position = transform.position + transform.up;
- if(myRigidbody.velocity.magnitude < MoveSpeed() && Grounded >= 1)
- {
- myRigidbody.AddForce(myPlayerGO.transform.forward * VAxis * MoveSpeed());
- myRigidbody.AddForce(myPlayerGO.transform.right * HAxis * MoveSpeed());
- }
- if(Jumping == true && Grounded >= 1)
- {
- myRigidbody.velocity = myRigidbody.velocity + (myRigidbody.transform.up * JumpSpeed);
- Jumping = false;
- }
- if(PlayerIsCombative || (!PlayerIsCombative && MouseButton2))
- {
- MouseX += MouseXAxis * 5f;
- MouseY -= MouseYAxis * 5f;
- if (MouseY < -360) MouseY += 360;
- if (MouseY > 360) MouseY -= 360;
- }
- if(MouseScrollAxis < -0.01f || MouseScrollAxis > 0.01f)
- {
- desiredDistance = Mathf.Clamp(Distance - MouseScrollAxis * 5f,0.5f,10f);
- preOccludedDistance = desiredDistance;
- distanceSmooth = 0.05f;
- }
- int count = 0;
- do
- {
- Vector3 direction = new Vector3(0, 0, -preOccludedDistance);
- Quaternion rotation = Quaternion.Euler(MouseY, MouseX, 0);
- if(desiredDistance < preOccludedDistance)
- {
- Vector3 pos = CameraLookAt.transform.position + rotation * direction;
- float nearestDistance = CheckCameraPoints(CameraLookAt.transform.position, pos);
- if(nearestDistance == -1 || nearestDistance > preOccludedDistance)
- desiredDistance = preOccludedDistance;
- }
- Distance = Mathf.SmoothDamp(Distance, desiredDistance, ref velDistance, distanceSmooth);
- direction = new Vector3(0, 0, -Distance);
- desiredPosition = CameraLookAt.transform.position + direction;
- count++;
- }
- while(CheckIfOccluded(count));
- CheckCameraPoints(CameraLookAt.transform.position, desiredPosition);
- myPlayerCameraGO.transform.position = desiredPosition;
- myPlayerCameraGO.transform.LookAt(CameraLookAt.transform.position,gravityUp);
- myPlayerCameraGO.transform.RotateAround(CameraLookAt.transform.position,gravityUp,MouseX);
- myPlayerCameraGO.transform.RotateAround(CameraLookAt.transform.position,myPlayerCameraGO.transform.right,MouseY);
- if(((HAxis != 0 || VAxis !=0) && MouseButton2) || PlayerIsCombative)
- {
- transform.Rotate(gravityUp,rotoffset + (MouseXAxis*5f),Space.World);
- rotoffset = 0f;
- }
- else if(MouseButton2)
- rotoffset = rotoffset + (MouseXAxis*5f);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement