묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
장비의 옵션을 불러오는 부분에서 질문이 있습니다.
JSON 에서 데이터를 불러오고 장비 아이콘을 클릭 하였을때 장비의 아이콘과 옵션의 수치가 표시되는 부분이 궁금하여 뜯어보다가 질문이 생겼습니다.무기의 경우에는 HP보너스 스탯이 존재하지 않아도 JSON에서 0을 부여하고 추후에 UI_EquipmentinfoPopup에서 HP 스탯이 0인지 아닌지를 판별하여 장비의 아이콘과 옵션 수치를 표시하고 있는것을 확인 했어요.그런데 장비의 옵션 수치가 2개를 넘어서 더 여러가지가 되었을 경우에도 이런 방식으로 처리하는것이 효율적일까요? 아래 코드를 스위치문으로 변경하여 스탯에 맞는 아이콘과 옵션을 찾던가 JSON 구조 자체를 변경해야될것 같은데 어떤 방향으로 해야할지 잘 모르겠어서 선생님의 조언을 구합니다.
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
안녕하세요. 7월 예정강의에 대해 질문이 있습니다.
유니티 & 웹서버(키우기 게임 + 웹서버) 강의가 7월 예정으로 들었는데 항상 강의 전달 말쯤에소식이 들렸는데 이번엔 아직 소식이 없어서 질문드립니다!관련해서 예정이 있으신건가요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
이 강의는 아직 완성되지 않은 강의인가요?
영상에서도 설명을 들었는데 갓챠부분이나 서버연동 부분에 대한 언급도있었고 3~4개월짜리 짧은 프로젝트로 계획중이라고 하신걸 들었는데 차후 이 강의에 추가 영상이 올라오나요? 미완성인 부분이 어떤 부분들이 있고 (EX. 갓챠, 서버연동, 그외??) 영상 업로드 계획은 언제쯤인지 궁금합니다!
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
sprite가 load되지 않습니다 2
6월 15일 같은 질문이 나왔었는데요,해당 질문글에 답변으로 적어주신 방법을 써서 스프라이트로 변환해서 잘 돌아가긴 하는데요, 아직 이해가 되지 않아 추가질문 드립니다.강의에서는 texture로 받지 않기 위해 ResourceManager.cs에서 키값을 EXPGem_01.sprite[EXPGem_01]으로 바꾸는 과정을 거쳤는데요, 그럼에도 불구하고 왜 변환이 안된 건가요? 강의에서는 잘 작동하는 것처럼 보입니다만,..혹시 유니티 버전에 따라 작동을 안하는 것일까요? 현재 22.3버전으로 쓰고 있습니다. 강의상 10분쯤에 해당내용 있습니다.감사합니다.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
비주얼스튜디오 솔루션탐색기 관련 질문입니다
안녕하세요, 비주얼스튜디오 툴과 관련하여 질문이 있습니다.강의영상 내 루키스님 비주얼스튜디오를 보면 솔루션에 프로젝트가 1 프로젝트의~라고 뜨는데요, 저는 83개의 프로젝트가 포함되었다고 나옵니다.아래 사진처럼 Assembly-CSharp 이외의 프로젝트들을 언로드하면 빌드에러가 나는 문제가 생기는데요, 강의하시는 화면내 솔루션은 어떻게 프로젝트가 1개만 로드되어있는지 궁금합니다.감사합니다. 그리고, 좋은 강의 만들어주셔서 감사합니다.제가 오랫동안 찾던 이상적인 개발강의이기에, 정말 감사히 생각하며 듣고 있습니다.건강하세요.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
소스 자료를 다운받아보니, Addressables group 이 하나도 없습니다.
[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작마지막 올려주신 소스 자료를 다운받아보니,Addressables group 이 하나도 없습니다.버전이 맞지 않아서 발생한 문제인가 생각하여,강의에서 사용한 2021.3.19f1 으로 실행해봐도 동일하게 에러가 발생합니다.
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
sprite가 load가 되지않습니다
Managers.Resource._resources 에 아래 동작으로 sprite를 넣었는데 막상 저장된 곳을보면 sprite가 아닌 texture입니다 string loadKey = key; if (key.Contains(".sprite")) loadKey = $"{key}[{key.Replace(".sprite", "")}]"; // 리소스 비동기 로딩 시작. var asyncOperation = Addressables.LoadAssetAsync<T>(loadKey); 그래서 젬의 sprite가 변경이되지않습니다..코드는 첨부된걸로 해봐도 동일한데 유니티문제일까요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
안녕하세요 마지막 버전 프로젝트는
안녕하세요 마지막 프로젝트는 게임이 실행이 안되는거같은데아직 미완성이라 그런건가요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
섹션2 매니저 강의 중 프로퍼티로 인스턴스 리턴하는 부분 질문
싱글턴 구현을 위해 public static Managers Instance 프로퍼티를 만들고 Managers로 리턴하는것 까진 이해했습니다.근데, 다른 매니저 구현하는 부분에서DataManager _data = new DataManager(); 로인스턴스화 한 후,public static DataManager Data { get return Instance?._data;}}프로퍼티를 통해 리턴하는 부분이 이해가 안됩니다.강의에서는 싱글턴으로 구현된 매니저에 다른 매니저들을 붙이는 거라고 말씀하셨는데, 리턴문이 이해가 안되네요.?. 는 널체크고 사실상 Instance._data; 로 해도 실행은 잘되는것 같아서 저것만 가지고 질문을 드리자면Data 프로퍼티를 호출하면 Instance 프로퍼티에 _data 에 담긴 인스턴스를 입력(set)하고 리턴을 한다는건지..(근데 그와중에 Instance 프로퍼티에 set은 또 없고..)Instance 프로퍼티에서 get해서 가져오고 뭔가?를 해서 인스턴스를 리턴하는거같은데, 구문이 이해가 안가네요.. (문법실력이 부족한거같아서 구글링을 아무리해도 찾을수도 없네요 ㅜㅜ)보통 이렇게 점을 찍어서 하는건 클래스 내부 요소를 요청하거나 메서드 체이닝을 하거나 할 때 쓰는거 아닌가 싶은데,Instance라는 프로퍼티에 점을 찍은후 생성한 _data 인스턴스를 이어서 코딩하는건 도저히 이해가 안가네요 ㅠㅠ어떤부분을 제가 공부하면 이해가 잘될까요. 아 그리고 추가 질문 하나더 드리자면.. Data 프로퍼티를 통해 Instance를 거쳐 리턴되는 값은 DataManager 형식일텐데, Instance는 Managers 형식인데 어떻게 저렇게 리턴이 가능한건가요? 그냥 클래스 인스턴스끼리는 된다고 생각하면되나요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
텍스쳐에서 스프라이트로 변경하는 것 관련 질문입나디
젬 떨구기 강좌에서 png를 adrressable로 긁어올 때 png 대신 내부의 이름으로 읽는다는 부분을 이해했습니다.궁금한 점은 스프라이트 시트처럼 특정 텍스쳐 안의 다수의 스프라이트가 존재할 때 그 이름 별로 로드할 수 있는 방법이 있는 지 입니다.key값으로 걸어보니 스프라이트 시트의 이름으로 걸리고 하부 아이템들의 이름을 탐색할 방법을 못찾아서 일단은 임시로 리소스 폴더에 보관후 리소스 loadAll을 하는 중인데 addressable로도 관리할 방법이 있는 지 알고 싶습니다.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
에셋 출처 질문
선생님 안녕하세요. 강의 너무 잘듣고 있습니다.다름이 아니라, 실제로 간단하게 출시를 해보려고 하는데 강의에서 사용하신 플레이어의 EgoSword와 다른 파티클 에셋들이 유니티 에셋스토어에서 구입 후 사용하신 에셋이라면 어떤 에셋인지 궁금해서 질문을 드리게 되었습니다.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
apk 로 빌드해서 폰에 넣으면 실행이 안되네요.
아직 완성본이 아니어서 그런것 같습니다만, 안드로이드로 빌드했을 때, 타이틀 화면에서 멈추고, 실행이 안됩니다. 참고Addressable Labels 는 모두 설정되어 있으며, Build & Load Paths 는 Local 로 되어 있습니다.Addressable content successfully built (duration : 0:00:04.284)
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
xml 로드 문제
안녕하세요.코딩을 시작한 지 얼마 안 되어 공부 겸 실제 게임 발매를 경험하기 위해 강의를 수강한 학생입니다.잘 따라가던 도중에 '젬 떨구기' 강의 부분에서 xml 파일이 로드되지 않는 문제가 발생하였는데요. 이를 수정하기 위해 구글링부터 시작해서 챗GPT4에 물어보는 등 여러 시도를 해보았으나, 도저히 저 혼자 힘으로는 해결이 어려워 고심 끝에 질문 글을 남기게 되었습니다. Addressables Groups에는 강사님이 하신 것과 동일하게 프리팹, xml, png 파일 등을 등록하고 Label을 PreLoad로 설정한 상태이고, 코드는 제가 쓴 코드가 혹시 문제가 있나 싶어 강의 자료로 첨부해 두신 코드로 덮어씌워봤는데도 아래와 같이 xml 파일 로드 시 null이 반환되는 상태입니다. 현재 진행 중인 프로젝트가 문제가 있을까 싶어 새 프로젝트를 만든 후 폴더 경로부터 시작해서 모든 과정들을 다시 진행해 보았으나 동일한 에러가 발생하더군요. 되도록이면 제 스스로 이 문제를 해결해 보려고 했지만 유니티란 툴도 처음이고, 코드를 배운 것도 이번이 처음인지라 들이는 시간에 비해 도저히 진척이 없어서 염치 불구하고 이렇게 글 남깁니다. 바쁘시겠지만 확인 부탁 드리겠습니다.좋은 강의 만들어 주셔서 감사합니다. NullReferenceException: Object reference not set to an instance of an objectDataManager.LoadXml[Loader,Key,Item] (System.String name) (at Assets/@Scripts/Managers/Core/DataManager.cs:43)DataManager.Init () (at Assets/@Scripts/Managers/Core/DataManager.cs:21)GameScene.StartLoaded () (at Assets/@Scripts/Scenes/GameScene.cs:22)GameScene.<Start>b__0_0 (System.String key, System.Int32 count, System.Int32 totalCount) (at Assets/@Scripts/Scenes/GameScene.cs:13)ResourceManager+<>c__DisplayClass5_2`1[T].<LoadAllAsync>b__1 (T obj) (at Assets/@Scripts/Managers/Core/ResourceManager.cs:86)ResourceManager+<>c__DisplayClass4_0`1[T].<LoadAsync>b__0 (UnityEngine.ResourceManagement.AsyncOperations.AsyncOperationHandle`1[TObject] op) (at Assets/@Scripts/Managers/Core/ResourceManager.cs:69)DelegateList`1[T].Invoke (T res) (at ./Library/PackageCache/com.unity.addressables@1.21.12/Runtime/ResourceManager/Util/DelegateList.cs:75)UnityEngine.Debug:LogException(Exception)DelegateList`1:Invoke(AsyncOperationHandle`1) (at ./Library/PackageCache/com.unity.addressables@1.21.12/Runtime/ResourceManager/Util/DelegateList.cs:79)UnityEngine.ResourceManagement.Util.DelayedActionManager:LateUpdate() (at ./Library/PackageCache/com.unity.addressables@1.21.12/Runtime/ResourceManager/Util/DelayedActionManager.cs:162)
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
Projectile이 _lifeTime뒤에 사라지지 않는데 어떻게 처리하면 좋을까요...?
게임을 실행했을 때, ProjectileController의 _lifeTime(10초) 뒤에 투사체가 없어지지 않아서 SkillController에서 Despawn 하는 부분에 breakpoint를 잡고 실행해봤습니다.확인해보니 ObjectManager에서 type이 아래 사진처럼 SkillController로 잡히더라구요.그래서 else if (typeof(T).IsSubclassOf(typeof(SkillController))) { ... }조건문에 들어가지 않고 Despawn 함수가 끝나는거 같은데 어떻게 수정하면 좋을까요...?처음엔 SkillController에서 CoDestroy함수를 아래와 같이 바꿔볼까 했는데IEnumerator CoDestroy(float delaySeconds) { yield return new WaitForSeconds(delaySeconds); if (this.IsValid()) { Managers.Object.Despawn(this as ProjectileController); } }나중에 n초 뒤에 사라지는 장판형 스킬을 관리하는 다른 Controller를 만들어야 한다고 한다면 위와 같은 코드처럼 강제로 캐스팅 하면 안될거같고,ObjectManager의 Despawn 함수에else if (type == typeof(ProjectileController)) { Projectiles.Remove(obj as ProjectileController); Managers.Resource.Destroy(obj.gameObject); }위와 같은 코드를 추가한다고 해도 어짜피 type == SkillController 라서 저 조건에도 맞지 않더라구요ㅠㅠ 어떻게 고칠지 감이 안잡혀서 질문 드립니다!
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
안녕하세요! 마지막에 올라와있는 프로젝트는 현재 최종 완료된 버젼인가요?
안녕하세요! 마지막에 올라와있는 프로젝트는 현재 최종 완료된 버젼인가요?
-
해결됨[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
캐릭터가 여러명이라면...
루키스님 유니티 3강을 완료하고 게임을 만들어 보려고 하다가 막막하던 참에 신규 강의가 나와서 기쁜맘으로 학습중입니다! 이번 강의에서 강조하신 객체들끼리 참조하는 부분이 너무 어려워요. 유저가 관리하는 캐릭터가 여러명일때는 어케 구조를 만들어야 하는지 감이 안잡힙니다. 예를 들어 탕탕 특공대 "용병단" 이라서 유저가 여러 캐릭터를 조작한다면 어떤 캐릭터를 유저가 사용할지 모르니 드래그 앤 드롭 방식도 맞지 않는것 같고 Find를 사용하는 방식도 캐릭터가 많이 질수록 비효율적인것 같고 이럴땐 어떻게 구조를 만들어야하나요? 데이터 매니저 클래스에 리스트나 딕셔너리를 만들어서 객체들을 통째로 들고있다가 필요할때마다 불러서 참조하는게 맞는 접근방식일까요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
Utils에 있는 GetOrAddComponent 질문이 있습니다.
강의 34분 10초에서 PlayerController를 가져올 때GameObject go = Managers.Resource.Instantiate("Slime_01.prefab"); go.name = "Player"; PlayerController controller = go.GetOrAddComponent<PlayerController>();그냥 자연스럽게 go 뒤에 GetOrAddComponent 함수를 사용하시던데 이렇게 되는 이유가 뭔가요...?PlayerController controller = Utils.GetOrAddComponent<PlayerController>(go);저는 위에 코드처럼 호출해서 사용해야 한다고 생각했습니다.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
[Adaptive Performance] Adaptive Performance is disabled via Settings.
[Adaptive Performance] Adaptive Performance is disabled via Settings. 테스트 플레이중에 자꾸 이 메세지가 나와서 거슬리는데요 에디트 - adaptive Performance에 들어가서 해결하려고했느데 Android Provider 체크박스는 체크가 되지않고 Adaptive Performance Provider Management error. Failure reason: Error Message: Unable to add package [com.unity.adaptiveperformance.google.android]: Cannot find a version of package [com.unity.adaptiveperformance.google.android] compatible with this Unity version (2021.3.16f1)..Error installing package 이런 오류만 발생합니다 삼성 안드로이드 프로바이더는 체크가 되서 체크를 하는데 그래도 같은 메세지가 출력됩니다. 이유가 무엇인가요??
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
스프라이트 강의 자료는 어디있나요
강의 목록 최하단부에 있는 소스코드 자료는 너무 양이 방대해서 거기서 스프라이트만 임포트하기가 좀 부담스럽더군요. 분명히 스프라이트만 따로있는 강의 자료 다운로드가 있을것같은데 찾기 어렵습니다.