구현 내용
1. 멀티 전투 구현
PhotonAnimatorView 동기화를 통해 전투 애니메이션 적용
https://kkln2486.tistory.com/435
public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info)
{
// 데이터 보내기 (isMine == true)
if (stream.IsWriting)
{
stream.SendNext(transform.position);
stream.SendNext(transform.rotation);
stream.SendNext(new Vector3(transform.forward.x, 0, transform.forward.z));
stream.SendNext(GameManager.I.DataManager.PlayerData.Atk);
stream.SendNext(GameManager.I.DataManager.PlayerData.SkillAtk);
stream.SendNext(GameManager.I.DataManager.PlayerData.Def);
}
// 데이터 받기 (isMine == false)
else
{
_playerPosition = (Vector3)stream.ReceiveNext();
_playerRotation = (Quaternion)stream.ReceiveNext();
PlayerDirection = (Vector3)stream.ReceiveNext();
Atk = (float)stream.ReceiveNext();
SkillAtk = (float)stream.ReceiveNext();
Def = (float)stream.ReceiveNext();
}
}
상대 Player의 데미지, 방어력 등을 적용해서 넉백을 구현하기 위해 상대 Player의 위치, 회전 데이터 전송에서 사용했던 OnPhotonSerializeView 함수로 데이터 전송하고 넉백을 구현했다.
https://kkln2486.tistory.com/429
트러블 슈팅
1. PhotonAnimatorView 동기화 시, 씹힘 현상
연속적으로 애니메이션이 실행되면 동기화가 어느정도 되지만, 한번씩 위와 같이 상대 PC에서는 동기화가 되지 않아서 애니메이션이 실행되지 않는다.
Synchronize Parameters 또한 모두 Continuous로 설정했기 때문에 추가적인 개선 방법이 있다면 업데이트 하도록 하겠다.
'1인 개발 > Push And Slash' 카테고리의 다른 글
푸쉬앤슬래시 개인 프로젝트 27일차 (0) | 2024.06.20 |
---|---|
푸쉬앤슬래시 개인 프로젝트 26일차 (0) | 2024.06.15 |
푸쉬앤슬래시 개인 프로젝트 24일차 (0) | 2024.06.13 |
푸쉬앤슬래시 개인 프로젝트 23일차 (0) | 2024.06.13 |
푸쉬앤슬래시 개인 프로젝트 22일차 (0) | 2024.06.12 |