유니티 빌드 문제
-
게시물 수정 , 삭제는 로그인 필요
게임을 빌드하고 플레이만 하면 캐릭터 움직임 쪽에서 문제가 생깁니다 다른 전체적인 코드에는 문제가 없으며 PlayerController에서 문제가 생기는거 같습니다.
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.SearchService;
public class PlayerController : MonoBehaviour
{
public static PlayerController instance;
[Header("Movement Value")]
public float CurrentSpeed;
public float WalkSpeed;
public float SprintSpeed;
public float CrouchSpeed;
public float MouseX = 0;
public float MouseSensX;
[Header("Bool Value")]
public bool Sprint;
public bool Crouch;
//Aother-----------------------------------------------------------------------------//
Rigidbody rb;
CapsuleCollider CC;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
CC = GetComponent<CapsuleCollider>();
instance = this;
CurrentSpeed = WalkSpeed;
Sprint = false;
Crouch = false;
}
// Update is called once per frame
void Update()
{
//Controller();
}
private void FixedUpdate()
{
CamControl();
HandleMovement();
}
/*public void Controller()
{
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
Vector3 moveDir = new Vector3(h, 0, v);
transform.position += CurrentSpeed * Time.deltaTime * transform.TransformDirection(moveDir);
if (StateManager.instance.STBAR.value > 0 && h > 0 || h < 0 || v > 0 || v < 0)
{
if (!Sprint && Input.GetKeyDown(KeyCode.LeftShift) && !Crouch && StateManager.instance.STBAR.value > 0)
{
CurrentSpeed = SprintSpeed;
Sprint = true;
}
if (Sprint && Input.GetKeyUp(KeyCode.LeftShift) && !Crouch)
{
CurrentSpeed = WalkSpeed;
Sprint = false;
}
if (Sprint && StateManager.instance.STBAR.value > 0 && !Crouch)
{
StateManager.instance.SteminaMinus();
}
if (StateManager.instance.STBAR.value > 0 && h == 0 && v == 0 && Sprint)
{
}
}
if (h == 0 && v == 0 && Sprint)
{
CurrentSpeed = WalkSpeed;
Sprint = false;
}
if (StateManager.instance.STBAR.value <= 0 && !Crouch)
{
CurrentSpeed = WalkSpeed;
Sprint = false;
}
if(Input.GetKeyDown(KeyCode.C) && !Crouch)
{
CurrentSpeed = CrouchSpeed;
this.gameObject.transform.position += new Vector3(0, -1, 0);
this.gameObject.transform.localScale = new Vector3 (1.8f, 0.9f, 1.8f);
Crouch = true;
}
if(Input.GetKeyUp(KeyCode.C) && Crouch && !Sprint)
{
CurrentSpeed = WalkSpeed;
this.gameObject.transform.position += new Vector3(0, 0, 0);
this.gameObject.transform.localScale = new Vector3(1.8f, 1.8f, 1.8f);
Crouch = false;
}
if (Input.GetKeyUp(KeyCode.C) && Crouch && Sprint)
{
CurrentSpeed = SprintSpeed;
this.gameObject.transform.position += new Vector3(0, 0, 0);
this.gameObject.transform.localScale = new Vector3(1.8f, 1.8f, 1.8f);
Crouch = false;
}
}*/
private void HandleMovement()
{
float h = Input.GetAxisRaw("Horizontal");
float v = Input.GetAxisRaw("Vertical");
Vector3 moveDir = new Vector3(h, 0, v).normalized;
transform.position += CurrentSpeed * Time.deltaTime * transform.TransformDirection(moveDir);
bool isMoving = h != 0 || v != 0;
// Handle Sprinting
if (!Sprint && Input.GetKeyDown(KeyCode.LeftShift) && !Crouch && isMoving && StateManager.instance.STBAR.value > 0)
{
StartSprinting();
}
if (Sprint && (Input.GetKeyUp(KeyCode.LeftShift) || StateManager.instance.STBAR.value <= 0 || Crouch))
{
StopSprinting();
}
if (Sprint && isMoving && StateManager.instance.STBAR.value > 0 && !Crouch)
{
StateManager.instance.SteminaMinus();
}
// Handle Crouching
if (Input.GetKeyDown(KeyCode.C) && !Crouch)
{
StartCrouching();
}
if (Input.GetKeyUp(KeyCode.C) && Crouch)
{
StopCrouching();
}
if (!isMoving && Sprint)
{
StopSprinting();
}
}
private void StartSprinting()
{
CurrentSpeed = SprintSpeed;
Sprint = true;
}
private void StopSprinting()
{
CurrentSpeed = WalkSpeed;
Sprint = false;
}
private void StartCrouching()
{
CurrentSpeed = CrouchSpeed;
transform.position += new Vector3(0, -1, 0);
transform.localScale = new Vector3(1.8f, 0.9f, 1.8f);
Crouch = true;
}
private void StopCrouching()
{
CurrentSpeed = Sprint ? SprintSpeed : WalkSpeed;
transform.position += new Vector3(0, 1, 0);
transform.localScale = new Vector3(1.8f, 1.8f, 1.8f);
Crouch = false;
}
public void CamControl()
{
MouseX = Input.GetAxisRaw("Mouse X") * MouseSensX;
transform.eulerAngles += new Vector3(0, MouseX, 0);
}
}
using System.Collections.Generic;using Unity.VisualScripting;using UnityEngine;using UnityEngine.SearchService;public class PlayerController : MonoBehaviour{public static PlayerController instance;[Header("Movement Value")]public float CurrentSpeed;public float WalkSpeed;public float SprintSpeed;public float CrouchSpeed;public float MouseX = 0;public float MouseSensX;[Header("Bool Value")]public bool Sprint;public bool Crouch;//Aother-----------------------------------------------------------------------------//Rigidbody rb;CapsuleCollider CC;// Start is called before the first frame updatevoid Start(){rb = GetComponent<Rigidbody>();CC = GetComponent<CapsuleCollider>();instance = this;CurrentSpeed = WalkSpeed;Sprint = false;Crouch = false;}// Update is called once per framevoid Update(){//Controller();}private void FixedUpdate(){CamControl();HandleMovement();}/*public void Controller(){float h = Input.GetAxisRaw("Horizontal");float v = Input.GetAxisRaw("Vertical");Vector3 moveDir = new Vector3(h, 0, v);transform.position += CurrentSpeed * Time.deltaTime * transform.TransformDirection(moveDir);if (StateManager.instance.STBAR.value > 0 && h > 0 || h < 0 || v > 0 || v < 0){if (!Sprint && Input.GetKeyDown(KeyCode.LeftShift) && !Crouch && StateManager.instance.STBAR.value > 0){CurrentSpeed = SprintSpeed;Sprint = true;}if (Sprint && Input.GetKeyUp(KeyCode.LeftShift) && !Crouch){CurrentSpeed = WalkSpeed;Sprint = false;}if (Sprint && StateManager.instance.STBAR.value > 0 && !Crouch){StateManager.instance.SteminaMinus();}if (StateManager.instance.STBAR.value > 0 && h == 0 && v == 0 && Sprint){}}if (h == 0 && v == 0 && Sprint){CurrentSpeed = WalkSpeed;Sprint = false;}if (StateManager.instance.STBAR.value <= 0 && !Crouch){CurrentSpeed = WalkSpeed;Sprint = false;}if(Input.GetKeyDown(KeyCode.C) && !Crouch){CurrentSpeed = CrouchSpeed;this.gameObject.transform.position += new Vector3(0, -1, 0);this.gameObject.transform.localScale = new Vector3 (1.8f, 0.9f, 1.8f);Crouch = true;}if(Input.GetKeyUp(KeyCode.C) && Crouch && !Sprint){CurrentSpeed = WalkSpeed;this.gameObject.transform.position += new Vector3(0, 0, 0);this.gameObject.transform.localScale = new Vector3(1.8f, 1.8f, 1.8f);Crouch = false;}if (Input.GetKeyUp(KeyCode.C) && Crouch && Sprint){CurrentSpeed = SprintSpeed;this.gameObject.transform.position += new Vector3(0, 0, 0);this.gameObject.transform.localScale = new Vector3(1.8f, 1.8f, 1.8f);Crouch = false;}}*/private void HandleMovement(){float h = Input.GetAxisRaw("Horizontal");float v = Input.GetAxisRaw("Vertical");Vector3 moveDir = new Vector3(h, 0, v).normalized;transform.position += CurrentSpeed * Time.deltaTime * transform.TransformDirection(moveDir);bool isMoving = h != 0 || v != 0;// Handle Sprintingif (!Sprint && Input.GetKeyDown(KeyCode.LeftShift) && !Crouch && isMoving && StateManager.instance.STBAR.value > 0){StartSprinting();}if (Sprint && (Input.GetKeyUp(KeyCode.LeftShift) || StateManager.instance.STBAR.value <= 0 || Crouch)){StopSprinting();}if (Sprint && isMoving && StateManager.instance.STBAR.value > 0 && !Crouch){StateManager.instance.SteminaMinus();}// Handle Crouchingif (Input.GetKeyDown(KeyCode.C) && !Crouch){StartCrouching();}if (Input.GetKeyUp(KeyCode.C) && Crouch){StopCrouching();}if (!isMoving && Sprint){StopSprinting();}}private void StartSprinting(){CurrentSpeed = SprintSpeed;Sprint = true;}private void StopSprinting(){CurrentSpeed = WalkSpeed;Sprint = false;}private void StartCrouching(){CurrentSpeed = CrouchSpeed;transform.position += new Vector3(0, -1, 0);transform.localScale = new Vector3(1.8f, 0.9f, 1.8f);Crouch = true;}private void StopCrouching(){CurrentSpeed = Sprint ? SprintSpeed : WalkSpeed;transform.position += new Vector3(0, 1, 0);transform.localScale = new Vector3(1.8f, 1.8f, 1.8f);Crouch = false;}public void CamControl(){MouseX = Input.GetAxisRaw("Mouse X") * MouseSensX;transform.eulerAngles += new Vector3(0, MouseX, 0);}}
#유니티 빌드 #유니티 빌드 오류 #유니티 빌드 세팅 #유니티 빌드 해상도 설정 #유니티 빌드 용량 줄이기 #유니티 빌드 후 디버그 #유니티 빌드 해상도 고정 #유니티 빌드 후 오류 #유니티 빌드 후 실행 안됨 #유니티 빌드 시간 단축