Unity_2기 내일배움캠프 TIL

Unity_2기 13주차 (230130)

잼잼재미 2024. 1. 30. 20:19

씬 병합 진행, Player 부력 추가 및 아이템 수정 작업을 진행했다.

 

 

트러블 슈팅


1. 적가 움직일 때, 적이 고정이 안됨

 

적을 배의 자식 오브젝트로 넣었지만 배가 움직일때 자연스럽게 움직이는 것이 아닌 여러가지 물리 작용을 받는다. 

 

 

private void OnTriggerStay(Collider other)
{
    if(transform.CompareTag("Enemy"))
    {
        if (other.CompareTag("EnemyShipArea") && transform.parent.gameObject.GetComponent<Follow_Player>().IsMove && !IsFix)
        {
            Debug.Log("Enemy 위치고정");
            ShipLocalPosition = transform.localPosition;
            IsFix = true;
        }
    }
}

 

Player의 배가 움직일 때, 동료를 고정하는 것과 비슷하게 구현했다. 적이 적배의 구역에 있다면 localPosition을 저장해서 위치를 고정하고 Idle 상태를 유지하는 방법으로 구현했다. 

 

 

 

그리고 적 배가 멈추게 되면 다시 Idle 상태에서 Walk 상태로 바뀌도록 했다. 해결 완료!

 

 

회고


오전에 전체 병합을 진행했는데 배를타고 맵으로 갈 때, 생각보다 렉이 많이 걸렸다. 처음에는 맵을 터레인으로 크게 만들어서 렉이 걸리는 줄 알았는데 그것보다는 배가 물 위에서 작용하는 코드가 지면과 닿으면서 코드의 충돌 때문에 렉이 발생한 것 같다. 게임 자체가 용량이 크고 무겁기 때문에 최적화와 리팩토리가 꼭 필요하다고 느꼈다.

'Unity_2기 내일배움캠프 TIL' 카테고리의 다른 글

Unity_2기 13주차 (230201)  (0) 2024.02.02
Unity_2기 13주차 (230131)  (1) 2024.02.01
Unity_2기 13주차 (230129)  (0) 2024.01.29
Unity_2기 12주차 (230126)  (1) 2024.01.26
Unity_2기 12주차 (230125)  (2) 2024.01.25