안녕하세요 빈 공간 이동에서 에러가 발생해서요. 영웅 소환을 할 경우 client쪽에서 아래쪽 가운데에 계속 소환이 됩니다. 원인은 클라이언트가 시작 시 홀더가 생성될 때 모두 아래쪽 가운데에서 생성되고 있었습니다. 강의를 세번이나 보고 확인했는데 틀린 곳을 찾지 못하겠어요. 깃헙 주소도 부탁드려요.
안녕하세요 강사님. 강의 잘 보고 있습니다. 지금 섹션 4. Multiplay 의 몬스터 스폰 영상을 보고 있는데, Spawner 로직과 관련하여 궁금한 점이 있어 글을 남기게 되었습니다. 영상 중에 강사님께서 “상대방의 몬스터는 위쪽에, 자신의 몬스터는 아래쪽에 나오는 것을 볼 수 있다.” 라고 설명해주셨는데요, 제가 직접 클라이언트 쪽 스폰 로직을 수정하여 테스트해본 결과, 호스트와 클라이언트 각각에서 상대방이 요청한 몬스터가 화면의 하단에 표시되는 것으로 확인되었습니다. 물론 제가 아직 섹션 4. Multiplay 의 몬스터 스폰 영상까지만 본 상태이므로, 이후 강사님께서 정정해주셨을 수도 있습니다. 다만 혹시라도 같은 부분에서 궁금증을 가지실 수강생들을 위해, 가능하시다면 이 내용을 한 번 확인해주시면 감사하겠습니다. 제가 잘못 이해한 부분이 있다면 언제든 말씀 부탁드립니다. 항상 좋은 강의 제공해주셔서 감사합니다. 좋은 하루 되세요! [Spawner에서 수정한 부분] [클라이언트에서 본 각각의 몬스터] Client 0 즉, 호스트의 요청으로 스폰된 몬스터가 상대방인 클라이언트의 입장에서 아래쪽에 보이는 모습. Client 1 즉, 클라이언트 자신의 요청으로 인해 스폰된 몬스터가 상단에 위치한 모습 [호스트에서 본 각각의 몬스터]
Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues. UnityEngine.Transform:set_parent (UnityEngine.Transform) Object_Pool:Return (UnityEngine.GameObject,System.Action`1<UnityEngine.GameObject>) (at Assets/00_Scripts/Mng/Pool_Mng.cs:66) Base_Mng/<Return_Pool_Coroutine>d__8:MoveNext () (at Assets/00_Scripts/Mng/Base_Mng.cs:69) UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr) public void Return(GameObject obj, Action<GameObject> action = null) { pool.Enqueue(obj); //풀안으로 새로운 오브젝트가 들어감. obj.transform.parent = parentTransform; //obj.transform.parent.SetParent(parentTransform, false); //이거는 오류가나타남 //obj.transform.parent.SetParent(parentTransform, true); //true이든 false이든.. 오류발생 obj.SetActive(false); if(action != null) { action?.Invoke(obj); } } transform의 parent 속성대신에 SetParent 를 쓰라고 경고메세지가 나타나는데요 Parent of RectTransform is being set with parent property. Consider using the SetParent method instead, with the worldPositionStays argument set to false. This will retain local orientation and scale rather than world orientation and scale, which can prevent common UI scaling issues. 근데 /obj.transform.parent.SetParent(parentTransform, false) 이런식으로 사용했더니, HIT_TEXT가 풀로 반환되면서 부모인 Layer1도 같이 반환되어서 UnityException: Transform child out of bounds Base_Canvas.Holder_Layer ( System.Int 32 value) (at Assets/00_Scripts/Base_Canvas.cs:28) HIT_TEXT.Init (UnityEngine.Vector3 pos, System.Double dmg, System.Boolean Critical) (at Assets/00_Scripts/HIT_TEXT.cs:76) Monster+<>c__DisplayClass6_0.<GetDamage>b__0 (UnityEngine.GameObject value) (at Assets/00_Scripts/Monster.cs:113) Object_Pool.Get (System.Action 1[T] action) (at Assets/00_Scripts/Mng/Pool_Mng.cs:58) Monster.GetDamage (System.Double dmg) (at Assets/00_Scripts/Monster.cs:111) Bullet.Update () (at Assets/00_Scripts/Bullet.cs:83) ------------------------------- Layers의 자식이 Layer3밖에 남지않아서 Base_Canvas 스크립트의 public Transform Holder_Layer(int value) { return LAYER.GetChild(value); 함수 호출시에 에러가 나더라구요 결국에는 그냥 transform.parent = parentTransform. 로 사용하고있는데 SetParent를 사용하라고 계속 경고메세지가 뜹니다. ㅠㅠ SetParent(parentTransform, ture) 이던, false이던 Canvas>Layer1>HitText, 에서 Pool로 반환될때 Layer1도 같이 반환됩니다. Layer0>"COIN_PARENT"도 마찬가지로 Layer0도 같이 반환됩니다. 그냥 경고메세지를 띄울수밖에없는건가요?
안녕하세요. 저는 이 게임을 조금만 변형하여 출시해 보고 싶은데요. 만약 이 게임을 출시한다면 제가 바꿔야 하는 것들이 어떤 것일까요? 제가 생각해보자면 각종 캐릭터 및 이미지 자료 정도로 생각이 되는데요. 게임에 스토리와 흐름을 조금만 변형해서 가져가도 되는 것인지 궁금합니다.
제가 확실히 이해한 것이 맞는지 체크하고 싶어 질문 드려요. NetworkObject는 생성시 Instantiate함수만으로도 양쪽에 동기화 되어 생성된다. (생성만 되는 것인지 이동시 위치까지 동기화 되는건이지 궁금합니다.) ServerRpc함수 : 이 함수는 client의 작업은 client에서 하는 것이 아니라 host가 대리처리해 주어야 하기 때문에 client만 주로 호출할 일이 많다. ClientRpc함수 : host가 작동시킨 것들을 clinet에게 전달하거나 ServerRpc함수에 작업한 것을 다시 양쪽에 동기화해서 전송해주는 역할을 한다. 이 함수는 host와 client컴퓨터 양쪽에서 모두 실행된다. 위에 두 함
안녕하세요! 영웅소환 부 강의를 듣고 Ui 팝업 생성을 구현했습니다. 하지만 버튼을 누를 때마다, 팝업 clone이 계속 생성됩니다. 요부분 싱글턴 처리라던지, 이미 해당 팝업이 열려있는지 여부를 확인하는 부분과 같은 방어 로직 내용이 있는 강의가 있나요? 있다면 강의가 꽤 길어 제가 못찾고 있는 것 같아요 ㅠㅠ 강의 너무 잘 듣고 있습니다~ 그리고 제가 게임개발 인강에 기대했던 부분이 로딩시에 서버에서 리소스 다운받는 것, 저녁 이벤트 보상 같은 앱 푸시 어떻게 구현했나 궁금했는데요. 뒷 강의에 있는지 또는 추후에 강의하실 예정인지 문의드려요!
Library\PackageCache\ com.unity.multiplayer.tools \NetVis\Configuration\OwnershipSettings.cs(41,24): error CS0103: The name 'CustomColorSettings' does not exist in the current context multiplay 열심히 보고 있는데요. 시작부터 이런 에러가 나와서 앞으로 나가지를 못 하고 있네요.
ui 생성할 때 메모리 관련 질문 있습니다. 강의를 쭉 듣는 중입니다. UI 생성시에는 프리팹 제작, Instantiate(Resources.Load<>("UI/xxxx"))로 ui 생성하고 팝업 안에 아이템이 있는 경우에는 전부 생성 사용 종료 후 destroy 하는 방식 으로 이해했습니다. gameObject 생성 때 Object Pool 방식 구현 강의에서 메모리 관련해서 얘기 주셨는데요, 이런 ui 생성,destroy사용방식이 메모리 부하는 따로 없을까요? 방치형 게임에서 유아이도 많이 눌러서 많이 일어날거라 생각이 들어서요. SetActive로 관리하면 어떤지.. 다른 방법이 없나?? 궁금하여 문의드립니다.
만약에 로딩씬에서 온갖 싱글턴 매니저를 초기화한 후 메인씬으로 넘어가는 로직을 만든 경우, 매니저 오브젝트들이 전부 로딩씬에 배치해서 메인씬에서 개발할때는 Hierarchy 창에 아무것도 안보이고, 개발 모드에 들어가도 로딩씬을 거치지 않으니 아무 매니저도 안생길것 같은데, 이럴때는 어떻게 해결할수 있나요?
안녕하세요 선생님 잘 다녀오셨나요 ? ?? 😃 만들던 게임 날라가서 복습 한다 생각하고 처음부터 다시 하고 있습니다 ...... 캐릭터 소환이 안됩니다 시뮬레이터에서 소환버튼이 잘 눌려서 소환가능한데 game 창에서는 소환버튼 클릭이 안됩니다 canvas 설정이나 그런게 필요한가요 ... 시뮬에서는 잘 소환되는데 game창에서는 소환이 안됩니다 이유를 모르겠습니다;;
안녕하세요! 강의를 시청하면서 가챠시스템을 배웠는데요 다름이 아니라 클라이언트에서만 가챠시스템을 운용한다면 위조나 보안에 취약하다는 생각이 들었습니다 따라서 앞서 배운 강의내용인 파이어베이스와 연동을 해서 가챠시스템을 연동하면 좋겠단 생각을 했는데 그럴 경우, 어떤 식으로 내용을 구성해야 효율적으로 관리할 수 있을지 의견을 여쭙고자 합니다.