묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
텍스트 변환 Mark에 대하여 질문이 있습니다.
EffectAction에서public string BuildDescription(Effect effect, string description, int stackActionIndex, int stack, int effectIndex){ var stringsByKeyword = GetStringsByKeyword(effect); if (stringsByKeyword == null) return description; if (stack == 0) // ex. description = "적에게 $[EffectAction.defaultDamage.0] 피해를 줍니다." // defaultDamage = 300, effectIndex = 0, stringsByKeyword = new() { { "defaultDamage", defaultDamage.ToString() } }; // description.Replace("$[EffectAction.defaultDamage.0]", "300") => "적에게 300 피해를 줍니다." description = TextReplacer.Replace(description, "effectAction", stringsByKeyword, effectIndex.ToString()); else // Mark = $[EffectAction.Keyword.StackActionIndex.Stack.EffectIndex] description = TextReplacer.Replace(description, "effectAction", stringsByKeyword, $"{stackActionIndex}.{stack}.{effectIndex}"); return description;}여기 부분에서 왜 굳이 스택 0번째 인걸 구분하고 Effect에서 여기에서public string BuildDescription(string description, int effectIndex){ Dictionary<string, string> stringsByKeyword = new Dictionary<string, string>() { { "duration", Duration.ToString("0.##") }, { "applyCount", ApplyCount.ToString() }, { "applyCycle", ApplyCycle.ToString("0.##") } }; description = TextReplacer.Replace(description, stringsByKeyword, effectIndex.ToString()); description = Action.BuildDescription(this, description, 0, 0, effectIndex); // 여기부분에 질문이 있습니다 여기에서 0번째 것을 구분하고 var stackGroups = StackActions.GroupBy(x => x.Stack); foreach (var stackGroup in stackGroups) { int i = 0; foreach (var stackAction in stackGroup) description = stackAction.BuildDescription(this, description, i++, effectIndex); }// 여기에서 1스택이상 스킬의 텍스트를 전부 변환해주는데 return description;} EffectStackAction에서public string BuildDescription(Effect effect, string baseDescription, int stackActionIndex, int effectIndex) => action.BuildDescription(effect, baseDescription, stackActionIndex, stack, effectIndex);이렇게 까지 분리해서 텍스트로 변환하는지 여쭤보고 싶습니다.그냥 0번째부터 텍스트를 변환하면 안되는건지 질문이 있습니다.
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
SingletonBehaviour 클래스의 where 제약 관련해서 질문 드립니다.
안녕하세요. 섹션 2의 SingletonBehaviour 강의 수강 중 궁금한 점이 생겨 질문 남깁니다.해당 클래스가 MonoBehaviour의 성격을 띄게 하기 위해서 클래스에 MonoBehaviour를 상속시키는 것 까지는 이해가 되었습니다.그러나 뒤에 다시 SingletonBehaviour<T>에 대한 제약의 필요성이 충분히 이해되지 않아 모호하게 느껴졌습니다. 앞으로 SingletonBehaviour를 상속 받을 클래스에 구현을 강제하는 것인지, 아니면 성능 상의 제가 알지 못하는 이점이 있는 것인지 궁금합니다.해당 SingletonBehaviour 클래스가 아니더라도, 클래스 설계에 있어 이와 같은 재귀적인 형태의 where 제약이 어떤 의미 또는 의도가 있는 것인지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
DeadLock 테스트를 해봤지만, 정상작동?
visual studio 2022로 작업하고 있습니다.Interlocked(9강), Lock(10강), DeadLock(11강)에서 디버깅을 하면서 무한루프 또는 DeadLock(11강)에 디버깅이 안되는 것을 따라해보고 있었습니다.이전 컴파일러 최적화 강의(6강)를 따라하면서 Debug모드를 relase로 할 때 visual studio에서 3가지의 선택사항이 나왔었습니다. 취소해도 다시떠서 디버깅을위해 내꺼를 제외하고? 를 선택했었습니다.(항목이 기억이 나지 않네요.. 뭐라고 검색해야할지도 모르겠고 프로젝트를 새롭게 만들어도 해당사항은 나오지 않았습니다..) 그러고 나서 영상처럼 이부분이 문제입니다 하는 부분들이 저는 이상이 없더라고요여기서 중단점 잡아도 안잡히는 문제가 있다고 합니다. 그래서 WaitAll에서 스레드를 찾고 문제점을 찾으셨지만 제가 따라할 때는 중단점으로 넘어왔습니다. 제 생각에는 시간이 지나면서 C#이 업데이트 됐거나, 2019가 아닌 2022로 해서 해당 문제가 안생기는 걸까요? 이것 뿐만 아니라 이전꺼에서도 나왔는데 크게 문제될건 없지만 답답함에 질문드려봅니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
11분 6초 Array.Copy 질문
Array.Copy(Encoding.Unicode.GetBytes(this.name), 0 , segment.Array, count, nameLen);여기서 count가 아니라 segment.Offset + count가 되야 하는거 아닌가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
new Span<byte>에서 3번째 인자(length) 질문
success &= BitConverter.TryWriteBytes(new Span<byte>(s.Array, s.Offset + size, s.Count - count)이런 코드가 있는s.Count - count가 아니라그냥 type의 사이즈만큼 주면 안되는건가요? 우리가 필요한 부분은 딱 사이즈만큼 이라고 생각해서 그렇습니다!s.Count - count 는 4094? 이런식으로 나오는굳이 그만큼 받아와야 하는지 궁금합니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
Render Texture 관련 문의
안녕하세요. 강의 잘 수강하고 있습니다. 다름이 아니라 Render Texture에서 RawImage에 Texture #Heroes 를 넣었을 때 모양이 저와는 다르게 나와서 문의드립니다.강사님과 동일한 값으로 카메라 및 Circle 컴포넌트 값을 입력해도 저는 아래와 같은 모습이 나옵니다.반면 영상에서는 Circle이 더 작게 표시되는데, 혹시 이유가 궁금해서 질문 드립니다.감사합니다.
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
UI 연동방식에 대해서 질문드립니다.
하나의 예시를 들자면 HP를 UI에 표시할때 저는 Playercontroller에서 프로퍼티로 set를 해주었는데 강사님께서 올려주신 프로젝트를 보니 action을 통해서 해당 UI 스크립트에서 처리하신 것 같더라구요..제가 한 방식으로 구현을 해도 되는지 궁금해서 질문을 드립니다...강사님께서 하신 방식은 어디서 구독 신청을 해줬는지 찾기가 너무 어렵더라구요 ㅠㅠ
-
미해결따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 02
블록 상하로 데칼코마니가 되고 있습니다.
게임에서 블록을 배치 하면 상하가 반전 되어 컬러가 찍히네요; 어디서 잘못 되었는지 찾기가 힘듭니다 ㅠ,.ㅠ. 블록을 아래쪽에 배치 하면 포그라운드 컬러가 뒤집혀서 데칼 코마니가 되고 있어요; 어느 부분을 봐야 할까요
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
Destroy() 지연 파괴에 관하여
QuestSystem구현 강의에서 12:51쯤에 Destroy(quest, Time.deltaTime)을 사용했는데 바로 파괴해도 될 것 같은데 한 프레임을 쉬는 이유가 있나요?즉시 파괴할 경우 이벤트나 다른 참조하는 곳에서 error가 날까봐 그런건가요?
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
SingletonBehaviour 수업 마지막 부분에 질문이 있습니다.
해당 수업 마지막에 솔루션 빌드를 하셨는데 이유가 궁금합니다.유니티에서 코드를 작성하고 에디터로 돌아와 리로드를 하는것과 솔루션 빌드를 하는것에 차이가 있는지 궁금합니다!
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
스킬 구현 질문
잘 듣고 있습니다 강사님. 롤로 치면 그레이브즈 Q 를 구현하고 싶은데 Action을 Spawn Skill Object Action으로 하고 비슷한 파티클을 써서 해보니제 위치에서 나가는게 아니라 클릭한 기준으로 직선으로 나가더라구요 여러가지 방법을 시도 해보고 있는데 어떻게 해야할지 조언 부탁 드립니다!
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
마우스 오른쪽 버튼 및 키보드 입력이 받아지지 않습니다.
안녕하세요.강의에서 제공되는 코드를 수정하며 만들고 싶은 게임을 만들려고 하는데요 롤과 유사한 조작 방식으로 만들고 싶은데 마우스 오른쪽 버튼이랑 키보드 입력이 안 받아지네요.정말 아무것도 수정안하고 MyHero.cs 에서 Input.GetMouseButton(0) 요 부분을 0에서 1로 바꾸기만 해도 아무런 동작이 되질 않습니다. 모바일용 프로젝트라 마우스 오른쪽 버튼 및 키보드 입력이 받아지지 않는 건가 의심이 되어 빌드 세팅을 확인해 보니 빌드 세팅은 또 PC로 되어있어서 알쏭달쏭한 상황입니다. 어떤 부분을 수정하면 좋을까요?
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
강의 영상 2.5 객체 중 객체와 class관련 질문입니다
using System.Collections;using System.Collections.Generic;using UnityEngine;public class ObjectExample : MonoBehaviour{// 인스턴스화: 클래스를 이용해 객체를 생성// new 클래스_이름(); void Start(){Human John = new Human();}} 해당 수업을 그대로 따라가고있는데강의 영상에서는 Human John 부분이 색깔이 변했는데 저는 그대로 Human 부분이 하얀색으로 색이 변하지 않았습니다.오류 문구는 다음과 같습니다."오류(활성) CS0246 'Human' 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요." 무엇이 잘못된 것인지 알 수 있을까요??
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
스킬 구현 강의 영상 화질 관련
안녕하세요!이번에 올려주신 스킬 구현 강의 부분의영상 설정이 720p 까지만 되어 있습니다.영상 화질 설정과 관련해서 확인 부탁드립니다.참고로 작은(부분) 화면에서는 화질이 괜찮아보이나전체 화면 시에는 글씨가 많이 뭉개져 보이니영상 확인 시에는 전체 화면으로 체크해주시면확실하게 확인이 가능할 것 같습니다.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
Action & Delegate
영상을 보다보면 delegate을 쓰는 상황도 있고, UnityAction을 쓰는 상황도 있는데요.두 개가 물론 차이가 있지만 기능적으로는 비슷한 쓰임으로 사용되는 것 같은데 어디에 delegate를 사용하고 UnityAction을 사용하는지에 대한 기준이 있으신가요?? 아니면 편한 것으로 사용하는 것인가요??저도 코드를 작성해보다가 명확한 해답을 찾지 못해서 의견을 듣고자 질문드립니다.추가로 event와 UnityEvent도 쓰임이 비슷한 것으로 알고 있는데 사용할 때 기준이 있는지 알고싶습니다!감사합니다
-
해결됨새싹부터 시작하는 Unity 게임 개발
캐릭터 이동 구현 rotation 값 변경
강의 자체에서는 Scale 값을 음수로 변경해서 캐릭터의 방향을 전환했는데 혼자서 rotation 값으로 방향 전환을 해보려다 실패해서 질문 남깁니다.position : 오브젝트의 현재 위치eulerAngles : 오브젝트의 회전 각도localScale : 오브젝트의 크기이 내용을 기반으로if(Input.GetKey(KeyCode.RightArrow)) { transform.Translate(speed * Time.deltaTime, 0, 0); transform.eulerAngles= new Vector3(0f, 0f, 0f); } else if (Input.GetKey(KeyCode.LeftArrow)) { transform.Translate(-speed * Time.deltaTime, 0, 0); transform.eulerAngles= new Vector3(0f, 180f, 0f); } 코드를 이렇게 작성했는데 캐릭터 자체의 방향 전환만 되고방향키대로 움직이지 않습니다.Rotation 값으로 캐릭터의 방향 전환을 하려면 어떻게 코드를 수정해야 할까요?
-
해결됨두고두고 써먹는 유니티 VR
안녕하세요 VR기기 게임에 대해서 질문할게요!
안녕하세요 VR기기 게임에 대해서 질문할게 있는데요 강의를 듣고 VR기기 오큘러스 퀘스트2 로 빌드하여게임를 만들고 있는데 다른 VR기기에도 연동이 될까요??아니면 다른 VR기기용으로 또 만들어야하나요??XR interaction toolkit으로 만들었다면 steam, vr관련 앱에게임 출시가 불가한가요?
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
수업자료질문
수업자료에서 파일을 다운받았는데 studyfile.gz를 다운받으니 유니티 프로젝트가 아니고 이상한 폴더가 가득있어요. ㅠㅠ . 참 열심히 듣겠습니다~
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
헉!!! ㅠㅠㅠ 몰랐어요 구현하고 싶은거있었는데
안녕하세요 구현하고 싶은 스킬있는데 스킬 보다는 약간 시스템이긴합니다 헤헤 늦었겠죠 ??다음에는 꼼꼼하게 봐야 겠어요 ㅠㅠ 좋은강의 감사합니다
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)
typeof 와 GetType
DataTransformer.cs 에서ParseExcelDataToList 함수 안에 typeof와 GetType을 혼용해서 사용하시는 것을 보고 궁금해서 찾아보다가 질문드립니다. typeof의 경우에 컴파일 타임에 형식의 메타 데이터를 참고해서 Type 형식을 뱉어주고GetType의 경우에 인스턴스의 형식을 런타임에 가져오는 경우 사용하는 걸로 알고 있는데요.위 함수에서 typeof(LoaderData)를 통해 Type을 가져오더라구요. 이 경우에 제네릭 타입 매개변수는 컴파일 시점에 정확한 형식을 모르기 때문에 GetType을 사용하는 것이 적절하지 않을까요?