묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
인터페이스 클래스 사용이유
오브젝트 풀링에서 IPool이라는 인터페이스 클래스를 만든 이유가 궁금합니다.
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
multiplay부분 에러
Library\PackageCache\com.unity.multiplayer.tools\NetVis\Configuration\OwnershipSettings.cs(41,24): error CS0103: The name 'CustomColorSettings' does not exist in the current contextmultiplay 열심히 보고 있는데요. 시작부터 이런 에러가 나와서 앞으로 나가지를 못 하고 있네요.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
ui 생성 질문 있습니다.
ui 생성할 때 메모리 관련 질문 있습니다. 강의를 쭉 듣는 중입니다. UI 생성시에는프리팹 제작, Instantiate(Resources.Load<>("UI/xxxx"))로 ui 생성하고팝업 안에 아이템이 있는 경우에는 전부 생성 사용 종료 후 destroy 하는 방식 으로 이해했습니다. gameObject 생성 때 Object Pool 방식 구현 강의에서 메모리 관련해서 얘기 주셨는데요, 이런 ui 생성,destroy사용방식이 메모리 부하는 따로 없을까요?방치형 게임에서 유아이도 많이 눌러서 많이 일어날거라 생각이 들어서요. SetActive로 관리하면 어떤지.. 다른 방법이 없나?? 궁금하여 문의드립니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
소환위치질문있습니다
안녕하세요 선생님 왜 이렇게 한칸씩 밀리는 걸까요..혹시 캐릭터 피벗? 때문에 그런가요?? .. 어디를 수정해야 할지 아무리 찾아도 헷갈려서 질문합니다
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
싱글톤 매니저와 씬
만약에 로딩씬에서온갖 싱글턴 매니저를 초기화한 후메인씬으로 넘어가는 로직을 만든 경우,매니저 오브젝트들이 전부 로딩씬에 배치해서 메인씬에서 개발할때는 Hierarchy 창에 아무것도 안보이고, 개발 모드에 들어가도 로딩씬을 거치지 않으니 아무 매니저도 안생길것 같은데, 이럴때는 어떻게 해결할수 있나요?
-
미해결게임 기획자 성공 전략 가이드
루키스터디 출시
다음 루키스터디 강의 출시는 언제일까요?
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
Summon 소환
안녕하세요 선생님 잘 다녀오셨나요 ? ?? 😃 만들던 게임 날라가서 복습 한다 생각하고처음부터 다시 하고 있습니다 ......캐릭터 소환이 안됩니다시뮬레이터에서 소환버튼이 잘 눌려서 소환가능한데game 창에서는 소환버튼 클릭이 안됩니다 canvas 설정이나 그런게 필요한가요 ... 시뮬에서는 잘 소환되는데 game창에서는 소환이 안됩니다 이유를 모르겠습니다;;
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
파이어베이스로 가챠시스템을 연동시키는 것과 관련해 질문드립니다
안녕하세요! 강의를 시청하면서 가챠시스템을 배웠는데요다름이 아니라 클라이언트에서만 가챠시스템을 운용한다면 위조나 보안에 취약하다는 생각이 들었습니다따라서 앞서 배운 강의내용인 파이어베이스와 연동을 해서가챠시스템을 연동하면 좋겠단 생각을 했는데그럴 경우, 어떤 식으로 내용을 구성해야 효율적으로 관리할 수 있을지의견을 여쭙고자 합니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
안녕하세요 소스코드를 다운 받고 싶은데요.. 언제 제공 받을 수 있을까요?
안녕하세요. 게임 구현 중에서 일부분적으로 이해가 안되는 부분이 있어서 강의 학습을 시작하였습니다.다 따라쳐서 하는 기초 목적으로 수강하지 않아서, 일단 유니티 에디터에서 플레이는 되게하고 응용해보고 싶은데요. 강의 종료 후 제공된다고 글이 있는 것 같은데요.. 지금 커리큘럼이 출시?로 보이는데 다 끝난건지, 소스 코드가 언제 제공되는지 궁금합니다 ...
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
유니티6로 배우는 실전 멀티플레이 디펜스의 [로비생성] 편에 질문있습니다.
이전까진 문제없이 잘 이해하고 코드도 실행되었습니다. 그런데 [로비생성] 강의를 보고 따라했더니 오류가 발생했습니다. Unity.Services.Lobbies.LobbyServiceException: lobby code 'BARB6QOAUYDBBMLVUPZQBE' contains an invalid character 'O' (U+004F) at index 6 ---> Unity.Services.Lobbies.Http.HttpException`1[Unity.Services.Lobbies.Models.ErrorStatus]: (400) HTTP/1.1 400 Bad Request...생략...... 호스트는 잘 만들어지는데요, 다른 플레이어로 조인하려고 하면 저런 빨강 글씨의 오류가 발생합니다.인터넷에 찾아보니 외국 포럼만 나오는데요, 버그같기도 하고 그러네요. 제가 고치기 힘들어서요. 혹시 중간강의에서 코드를 통째로 올려주실 수 있나요? 저 오류때문에 코드를 실행하진 못하고, 코드 따라치면서 논리만 이해하는 식으로 공부하고 있습니다.코드를 실행하면서 게임을 돌려보는 실습까지 해보면 재밌긴 하겠지만요. 강의는 재밌게 잘 보고 있는데, 저 오류가 아쉽네요.
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
섹션4-로비생성 작업 중(32:26)중 첫 실행시 [Vivox]: System.ArgumentException: 'server' is null or empty 오류 발생합니다.
섹션4-로비생성 작업 중(32:26)중 첫 실행시 다음과 같은 오류가 발생합니다.[Vivox]: System.ArgumentException: 'server' is null or emptyParameter name: serverUnityEngine.Logger:Log (UnityEngine.LogType,string,object)Unity.Services.Vivox.VivoxLogger:LogException (System.Exception) (at ./Library/PackageCache/com.unity.services.vivox/Runtime/SDK/Utils/VivoxLogger.cs:16)Unity.Services.Vivox.VivoxServiceInternal:.ctor (string,string,string,string,bool,bool,Unity.Services.Authentication.Internal.IAccessToken,Unity.Services.Authentication.Internal.IPlayerId,Unity.Services.Authentication.Internal.IEnvironmentId) (at ./Library/PackageCache/com.unity.services.vivox/Runtime/VivoxServiceInternal.cs:140)Unity.Services.Vivox.VivoxPackageInitializer:Initialize (Unity.Services.Core.Internal.CoreRegistry) (at ./Library/PackageCache/com.unity.services.vivox/Runtime/VivoxPackageInitializer.cs:41)Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0/<<InitializeRegistryAsync>g__InitializePackageAsync|2>d:MoveNext () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core.Internal/Registry/CoreRegistryInitializer.cs:91)System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0/<<InitializeRegistryAsync>g__InitializePackageAsync|2>d> (Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0/<<InitializeRegistryAsync>g__InitializePackageAsync|2>d&)Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0:<InitializeRegistryAsync>g__InitializePackageAsync|2 (Unity.Services.Core.Internal.IInitializablePackage)Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0/<<InitializeRegistryAsync>g__TryInitializePackageAsync|0>d:MoveNext () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core.Internal/Registry/CoreRegistryInitializer.cs:63)System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0/<<InitializeRegistryAsync>g__TryInitializePackageAsync|0>d> (Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0/<<InitializeRegistryAsync>g__TryInitializePackageAsync|0>d&)Unity.Services.Core.Internal.CoreRegistryInitializer/<>c__DisplayClass3_0:<InitializeRegistryAsync>g__TryInitializePackageAsync|0 (Unity.Services.Core.Internal.IInitializablePackage)Unity.Services.Core.Internal.CoreRegistryInitializer/<InitializeRegistryAsync>d__3:MoveNext () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core.Internal/Registry/CoreRegistryInitializer.cs:48)System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Collections.Generic.List`1<Unity.Services.Core.Internal.PackageInitializationInfo>>:Start<Unity.Services.Core.Internal.CoreRegistryInitializer/<InitializeRegistryAsync>d__3> (Unity.Services.Core.Internal.CoreRegistryInitializer/<InitializeRegistryAsync>d__3&)Unity.Services.Core.Internal.CoreRegistryInitializer:InitializeRegistryAsync ()Unity.Services.Core.Internal.UnityServicesInternal/<>c__DisplayClass32_0/<<InitializeServicesAsync>g__InitializePackagesAsync|1>d:MoveNext () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core.Internal/UnityServicesInternal.cs:170)System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<Unity.Services.Core.Internal.UnityServicesInternal/<>c__DisplayClass32_0/<<InitializeServicesAsync>g__InitializePackagesAsync|1>d> (Unity.Services.Core.Internal.UnityServicesInternal/<>c__DisplayClass32_0/<<InitializeServicesAsync>g__InitializePackagesAsync|1>d&)Unity.Services.Core.Internal.UnityServicesInternal/<>c__DisplayClass32_0:<InitializeServicesAsync>g__InitializePackagesAsync|1 ()Unity.Services.Core.Internal.UnityServicesInternal/<InitializeServicesAsync>d__32:MoveNext () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core.Internal/UnityServicesInternal.cs:151)System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<Unity.Services.Core.Internal.UnityServicesInternal/<InitializeServicesAsync>d__32> (Unity.Services.Core.Internal.UnityServicesInternal/<InitializeServicesAsync>d__32&)Unity.Services.Core.Internal.UnityServicesInternal:InitializeServicesAsync ()Unity.Services.Core.Internal.UnityServicesInternal/<InitializeAsync>d__27:MoveNext () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core.Internal/UnityServicesInternal.cs:80)System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<Unity.Services.Core.Internal.UnityServicesInternal/<InitializeAsync>d__27> (Unity.Services.Core.Internal.UnityServicesInternal/<InitializeAsync>d__27&)Unity.Services.Core.Internal.UnityServicesInternal:InitializeAsync (Unity.Services.Core.InitializationOptions)Unity.Services.Core.UnityServices/<InitializeAsync>d__21:MoveNext () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core/UnityServices.cs:128)System.Runtime.CompilerServices.AsyncTaskMethodBuilder:Start<Unity.Services.Core.UnityServices/<InitializeAsync>d__21> (Unity.Services.Core.UnityServices/<InitializeAsync>d__21&)Unity.Services.Core.UnityServices:InitializeAsync (Unity.Services.Core.InitializationOptions)Unity.Services.Core.UnityServices:InitializeAsync () (at ./Library/PackageCache/com.unity.services.core/Runtime/Core/UnityServices.cs:79)NetManager/<Start>d__2:MoveNext () (at Assets/00_Scripts/Network/NetManager.cs:22)System.Runtime.CompilerServices.AsyncVoidMethodBuilder:Start<NetManager/<Start>d__2> (NetManager/<Start>d__2&)NetManager:Start () at Assets/00_Scripts/Network/NetManager.cs:22 여기 부분 코드가 await UnityServices.InitializeAsync(); 인데 어떻게 디버깅 해야 할 지를 모르겠습니다.
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
씬의 기즈모 조절
섹션3. 캐릭터 공격 시작부분에서 씬 화면에 있는 이런 기즈모들은 어디서 조절 가능한가요?
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
근접 공격 강좌에서 NRE이 발생하는데 시점 문제로 발생한 문제인지 이슈를 쳐내기가 곤란합니다.
이러한 이슈가 발생해 찾은 결과 Monster Script의 37번 째 줄인 FindClosetTarget 함수에서 타겟을 찾지 못해 NPR이 발생한 내용으로 확인되었는데Spawner에 Players를 넣어주어 플레이어인 Cleric과 Barbarian이 잡히나, 간헐적으로 Null을 return 해주는 현상이 발생하는데, 이게 Update 문 안에서 실행되어 FindClosetTarget 구문이 매우 빠른 속도로 실행되어 발생한 시점 문제인지 궁금합니다. 현재 강사분과 코드는 동일한 것으로 확인됩니다.
-
미해결PM,게임기획서 시스템기획 데이터테이블 PO 13주제 122개
안녕하세요. 강의를 듣다가 질문이 있어서 이렇게 글을 작성하게 되었습니다.
기획에 대한 좋은 강의를 해주셔서 감사합니다. 기획서를 어떻게 작성해야하는지 감이 잡히지 않았는데 전체적인 틀을 배울 수 있는 시간이었습니다. 제가 궁금한 것은 게임 외적인 이벤트에 관한 것입니다. 외적 이벤트 또한 게임 산업에서 중요한 부분을 차지한다고 생각합니다. 외적 이벤트에는 이스포츠, 다른 기업과 콜라보, 굿즈 사업같은 다양한 것들이 있는데, 저는 그 중에서 이스포츠 분야로 직업을 가지고 싶은 생각이 있습니다.질문의 내용은 이렇습니다. 이스포츠 직종에 지원할 때 포트폴리오는 어떻게 작성하는 것이 좋을까요? 그 게임의 이스포츠와 관련된 BM 모델이나 이스포츠 관련 콘텐츠에 대한 내용을 작성하는 것이 좋을까요? 읽어주셔서 감사합니다.
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
애니메이션
안녕하세요 애니메이션 작업 하실때 시간 나누어 주는거 기준이 있나요 ?? 한개당 5초씩 잡아 주는게 좋은가요 ?
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
파이어베이스 유저 저장 주기가 고민되요.
첫번째 질문..유저데이터 저장을 위해서 주기적으로 파이어베이스 리얼타임 데이터베이스에쓰기로 저장을 해주고 싶은데요.. 요즘 파이어 베이스에 관심을 가지고 이래저래 알아보고있는데1분주기로 데이터를 리얼타임데이터에 쓰기(저장)을 하게되면 유저가 적을경우는 괜찮을수있겠지만, 왠지.... 많은 유저가 접속을 한 상황에서그 유저들의 데이터가 1분마다 저장이 계속 된다면 파이어베이스 서버이용요금?? 도 엄청날것같은데일정시간마다 주기적으로 파베에 저장되게 해도 괜찮을까요?한명 유저당 파베에 아무리 자주 저장하더라도 파베 사용량 데이터량 변화는 크게 없는것인지...아직 파베에 대한 지식과 파베 요금 관련해서 아무런 개념이 없어서인지 잘 모르겠네요 ㅜㅜ ----------------------------------------------------------------------------------------두번째 질문..게임을 빌드 한 후 APK 파일을 앱플레이어(녹스, LD플레이어)에 설치후 플레이 하다가(정상적인 게임종료를 누르는게 아닌, 상단탭의 x버튼을 눌러서) 강제로 게임을 꺼버리는경우 OnDestroy 함수가 제대로 호출이 안되는건지.. 게임 데이터를 저장하지않은채로게임이 꺼지더라구요.(혹시나해서, OnApplicationQuit() 함수와 OnDestroy() 함수 내용에도 게임이 꺼지거나파괴될때 '파베에 쓰기'가 되게 코드를 짰을때, 정상적으로 백버튼을 눌러서 게임종료하겠다는버튼을 누르면 저장이 잘됬는데, 갑자기 또는 강제로 게임이 의도치 않게 게임이 꺼지게되면 데이터가 저장이 안되던데... 혹시 좋은 방법이 있을까요?? )
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
Animator오류
안녕하세요 똑같이 다 수정했는데 공격 애니가 실하지않고 사진처럼 저 오류 가나옵니다 뭐가 잘못되고있는건가요 선생님
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
네트워크 오브젝트 설정
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요 안녕하세요 선생님 Hero에게 network Object 넣었을때 hash값이 저는 0이고 선생님은 다르네요 그래서 Default network Prefabs 에 자동으로 추가되지않아서플러스 버튼 눌러서 추가하면 정상 작동되긴하나 선생님이랑 방법이 틀려서 찝찝합니다 뭐를 실수하고있는건가요
-
해결됨[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
NetworkVariable<>, ClientNetworkTransform 사용 질문
강의를 보던 중 궁금한 점이 생겼습니다. 몬스터의 체력변경을 수동으로 ServerRpc,ClientRpc를 사용했는데, NetworkVariable<>을 사용하지 않으신 이유가 있으실까요? NetworkVariable<int> 같은 형식으로 해당 변수를 선언하면 그 변수가 알아서 다른 클라이언트에게 전파되어 동기화 된다고 배웠습니다. ugs 패키지를 임포트하고나면 오브젝트에 ClientNetworkTransform 컴포넌트를 부착할 수 있더라구요. 이걸 추가하면 그 오브젝트의 TRS(이동,회전,크기) 모두 자동으로 동기화를 해주는 듯 하던데 이것을 사용하지 않으신 이유가 있으실까요? 처음 배우는 입장에서 동기화를 신경쓰기가 제일 까다로운 부분인데 이 컴포넌트를 사용하면 적어도 트랜스폼에 한정해서는 동기화에서 도움을 받을 수 있는 것처럼 보입니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
안녕하세요 초반 프로젝트 생성 버전 관련해서 질문 드립니다.(2022.3.6f1)
https://unity.com/kr/releases/editor/archive안녕하세요 강사님 ! 현재 유니티 공식 홈페이지에서 지원하는 유니티 LTS의 경우 2022.3.51이 최신으로 나와있고 이후에는 2023으로 넘어가는것 같습니다. 구글링을 통해 찾아보니 유니티 공식 홈페이지가 아니라 다른 깃허브나 외부 링크를 통해 다운로드를 받을 수는 있지만 안정성 면에서 공식 홈페이지를 통해 다운로드를 하는 것이 좋아보여서 질문을 남깁니다. 혹시 2022.3.6f1 버전을 공식 홈페이지가 아니라 다른 경로로 설치를 해야 할까요? 아니면 최신 2022인 3.5를 통해 프로젝트를 진행해도 괜찮을까요??