Trouble Shooting_Falling Bricks
- 캐릭터가 리스폰 되지 않고 함정에 납치당하는 버그 발견
- Character Controller는 transform.position의 변경이 제대로 작동하지 않음.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerCheckPoint : MonoBehaviour
{
[SerializeField] Vector3 lastCheckPoint;
[SerializeField] LayerMask deadZone;
public Vector3 LastCheckPoint { get { return lastCheckPoint; } }
public void CheckPoint(Vector3 checkPoint)
{
lastCheckPoint = checkPoint;
}
private void OnTriggerEnter(Collider other)
{
if ((deadZone.value & (1 << other.gameObject.layer)) != 0)
{
gameObject.transform.position = lastCheckPoint;
}
}
}
- 작동할때 잠깐 Character Controller를 꺼주고, 이동이 끝나면 다시 키는 방식으로 변경
- 정상적으로 리스폰 하는 걸 확인
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerCheckPoint : MonoBehaviour
{
[SerializeField] Vector3 lastCheckPoint;
[SerializeField] LayerMask deadZone;
CharacterController characterController;
public Vector3 LastCheckPoint { get { return lastCheckPoint; } }
private void Awake()
{
characterController = GetComponent<CharacterController>();
}
public void CheckPoint(Vector3 checkPoint)
{
lastCheckPoint = checkPoint;
}
private void OnTriggerEnter(Collider other)
{
if ((deadZone.value & (1 << other.gameObject.layer)) != 0)
{
characterController.enabled = false;
gameObject.transform.position = lastCheckPoint;
characterController.enabled = true;
}
}
}