게시글
질문&답변
2024.11.22
유니티6로 배우는 실전 멀티플레이 디펜스의 [로비생성] 편에 질문있습니다.
안녕하세요! 일단 답변이 늦은 점 죄송합니다. 강의 새소식에 보시면 깃허브 링크가 있습니다. 해당 링크로 현재까지 작업된 코드들을 확인 가능하십니다! 문제가 지속된다면pinous.g@gmail.com메일로 프로젝트를 보내주시면 확인 후 해결 도움 드릴 수 있습니다.
- 0
- 3
- 12
질문&답변
2024.11.20
섹션4-로비생성 작업 중(32:26)중 첫 실행시 [Vivox]: System.ArgumentException: 'server' is null or empty 오류 발생합니다.
안녕하세요 🙂 현재 오류 내용은 서버 주소 혹은 IP주소가 비어있거나 null 상태일 때 발생합니다.서버가 제대로 실행되지 않거나 혹은 유니티 포트 자체가 연결되지 않았을 때 발생하는걸로 생각됩니다. 정확한 오류 해결을 위하여 프로젝트 파일을 pinous.g@gmail.com 로 보내주시면 프로젝트를 파악하여 오류 파악에 도움을 드릴 수 있을 것 같습니다.
- 0
- 2
- 24
질문&답변
2024.11.18
씬의 기즈모 조절
안녕하세요 🙂(사진) 해당 이미지처럼 Scene View 오른쪽 상단에서 조절이 가능합니다.붉은색 원으로 표시된 부분이 기즈모를 On/Off 할 수 있는 공간이고, 화살표 버튼을 클릭해서 씬 내에 어떠한 기즈모를 표시 해 줄지 선택 할 수 있으니 참고 부탁드리겠습니다 🙂
- 0
- 2
- 26
질문&답변
2024.11.15
근접 공격 강좌에서 NRE이 발생하는데 시점 문제로 발생한 문제인지 이슈를 쳐내기가 곤란합니다.
안녕하세요, 괜찮으시다면 pinous.g@gmail.com으로 프로젝트 전체를 보내주실 수 있으실까요? 직접 파악하여 컴포넌트 설정에서의 문제가 혹시 있을지 파악을 좀 해보도록 하겠습니다 🙂
- 0
- 2
- 62
질문&답변
2024.11.08
애니메이션
안녕하세요! 넵,저는 5프레임으로 나누어서 하고 있는데 아무래도 직접 보시면서 원하시는 스타일대로 맞추어주시는게 가장 좋습니다 ㅎㅎ 기준은 따로 존재하지 않습니다 :)
- 0
- 2
- 57
질문&답변
2024.11.05
파이어베이스 유저 저장 주기가 고민되요.
안녕하세요 🙂일단 파이어베이스는 각 유저의 요청 단위로 처리가 진행됩니다. 또한 요청이 이루어 졌을 때 자동적으로 변화된 부분을 처리 후 다른 데이터는 확인 작업만 거치게 됩니다. 데이터 사용량은 현재로써는 크게 걱정하지 않으셔도 될 것 같습니다 🙂물론 유저가 많아질수록 파베 비용이 높아지기는합니다. 이 부분이 걱정되신다면 자동 저장 주기를 조금 느리게 처리하시는걸 권장 드리겠습니다. 자동 저장이 없게끔 처리하시면 생각하지 못했던 오류 혹은 버그들이 발생 할 수 있으니 저는 저장 주기를 늦추는걸 추천드리겠습니다! OnApplicationPause() 기능을 활용하시는걸 추천드리겠습니다! OnDestroy를 제가 사용한 이유는 라이프사이클을 설명하는 과정에서 손쉽게 설명드릴 수 있을거라 판단하여서 사용을 진행한 것이고, 추후 빌드 진행 전에는 앱이 일시정지 되었을때인 OnApplicationPause() 기능을 활용할 예정입니다. (OnApplicationPause는 안드로이드 홈버튼을 눌렀을때에도 동작하니 이 점 참고부탁드립니다 😃 )또한 또 다른 방법으로는 로컬 저장을 추천드립니다.강제 종료 시 데이터를 잃지 않으려면, 데이터베이스 저장을 수행하기 전에 우선 로컬에 데이터를 저장한 후, 앱이 다시 시작할 때 파이어베이스와 동기화하도록 설정할 수 있습니다. 이 방식은 데이터 손실을 방지하면서 강제 종료에도 대비할 수 있는 좋은 방법입니다. 다만 해당 방식에 대한 구현 예제는 따로 만들지 않을 예정이며, 로컬에 저장하는 PlayerPrefs와, json기능을 활용하신다면 충분히 가능 하실 것 같습니다 🙂
- 0
- 1
- 43
질문&답변
2024.11.04
Animator오류
안녕하세요! 해당 오류는 파라미터 설정에 ATTACK이라는 트리거가 없기때문에 나타납니다. ATTACK이름의 트리거를 애니메이터에서 만들고, 이미지 속 화살표에서 해당 트리거를 불러오는지 확인 부탁드리겠습니다 😃(사진))
- 0
- 2
- 38
질문&답변
2024.11.03
네트워크 오브젝트 설정
(네트워크 프리팹에 앱을 등록하는 부분은 원래는 수동이 맞습니다 ㅎㅎ 다만 유니티6에서부터인지 어느 시점부터 자동으로 되더라구요, 지금 진행하신 부분이 사실 정석적인 부분이니 걱정 안 하셔도 될 것 같습니다 :))
- 0
- 3
- 45
질문&답변
2024.11.03
네트워크 오브젝트 설정
안녕하세요!!주말에는 답이 낮을 수 있는 점 양해 부탁드맂니다 ㅜㅜ 아마 제 생각에는 prefab화가 늦어지면서 생긴 이슈 같습니다! 영상 내부에서도 제가 따로 프리팹으로 오브젝트를 생성하지 않았던 부분이 있는데. NetworkObject 및 NetworkBehaviour를 사용하시는 전제조건을 프리팹으로 오브젝트를 등록해야 한 다는 점 기억해주시면 좋을 것 같습니다. 또한 각자의 컴퓨터 환경에따라서 해당 값들은 전부 다를 수 있으니 이 점 참고부탁드립니다..! 혹여 프로젝트 진행하시다 생기는 또 다른 오류는 편하게 질문 부탁드리겠습니다 :)
- 0
- 3
- 45
질문&답변
2024.11.01
NetworkVariable<>, ClientNetworkTransform 사용 질문
안녕하세요!1. 말씀주신대로 NetworkVariable을 사용하면 동기화가 자동으로 이루어지기는 합니다. 다만 현재 저희 게임같은경우에는 모든 클라이언트에 매 프레임마다 자동적으로 동기화를 하게 되면 오히려 낭비일 수 있습니다.공격과, 피해, 그리고 유저가 소환을 통해서 각각 서버에 요청하고 클라이언트가 이를 받아오는 작업인 ServerRpc, ClientRpc는 데이터 소모를 줄이는 데 유용합니다.2. ClientNetworkTransform역시도 동기화에 매우 유용하지만, 현재 저희의 오브젝트들은 이미 정해진 위치를 자동으로 움직이는 로직을 사용하고 있습니다. 커스텀으로 경로가 정해져있는 저희 게임 같은 경우에는 직접 위치를 설정하고 필요한 순간에만 데이터를 전송하여 제어하는것이 더 나을 것 같다고 판단하였습니다.(설명을 덧붙여서 저희 게임은 스폰을 통해서 몬스터가 상단 혹은 하단에 배치되면 정해진 경로를 따라서 알아서 이동을합니다. 그렇기에 굳이 몬스터의 위치를 동기화 하는 ClientNetworkTransform을 사용하지 않아도 생성된 위치만 Client들에게 보내주면 알아서 움직여서 해당 기능을 포함하면 데이터 낭비가 우려된다고 볼 수 있습니다.)네트워크 동기화를 수동으로 처리하는 과정에서 클라이언트와 서버 간의 데이터 흐름을 직접 제어해 보는 것은 네트워킹 이해에 큰 도움이 됩니다. 자동 동기화 기능은 편리하지만, 동작 방식을 충분히 이해하지 않으면 버그가 발생했을 때 원인을 파악하기 어렵기 때문에 학습 초반에는 ServerRpc와 ClientRpc를 활용해보는 것이 좋은 경험이 될 수 있습니다.따라서 NetworkVariable과 ClientNetworkTransform을 사용하면 더 간단하게 동기화를 할 수 있지만, 프로젝트의 특성과 최적화, 그리고 세밀한 제어의 필요성에 따라 수동으로 RPC를 활용하는 경우가 많습니다. 나중에 프로젝트가 복잡해질수록 이러한 선택이 중요한 차이를 만들 수 있습니다. 물론 위에 내용은 제 개인적인 의견이며 질문주신 답을 드린겁니다. 이 부분 참고 부탁드리겠습니다 🙂 또한 좋은 피드백 감사드립니다 (__)
- 0
- 2
- 61