inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

component.name에는 T 컴포넌트를 가진 게임 오브젝트의 이름이 와야 하는데, 게임 오브젝트의 이름이 아닌 컴포넌트의 이름이 옵니다. 예를 들면 FindChild<Button>이라면, component.name에 Button이 와, FindChild 함수가 계속 null만 return하는 상황입니다. (아래에 코드 첨부) 코드 문제가 아니라 오브젝트 이름 문제였네요,,ㅠㅠ 해결했습니다 UIButton.cs using System; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class UIButton : MonoBehaviour { // 타입별로 오브젝트를 저장 Dictionary<Type, UnityEngine.Object[]> _objects = new Dictionary<Type, UnityEngine.Object[]>(); [SerializeField] TextMeshProUGUI text; // Button 오브젝트의 이름들을 enum으로 저장 enum Buttons { PointButton, } enum Texts { PointText, ScoreText, } private void Start() { Bind<Button>(typeof(Buttons)); // enum은 Buttons인데, Button 컴포넌트를 가진 오브젝트에 매핑해주세요라는 의미 Bind<Text>(typeof(Texts)); Get<Text>((int)Texts.ScoreText).text = "Bind Test"; } void Bind<T>(Type type) where T : UnityEngine.Object { // 1. 딕셔너리에 enum 요소 수만큼 빈 object 배열 넣어주기 string[] names = Enum.GetNames(type); // enum값들이 names에 string으로 담김 UnityEngine.Object[] objects = new UnityEngine.Object[names.Length]; _objects.Add(typeof(T), objects); // 2. 실질적인 컴포넌트(오브젝트) 찾기 for (int i = 0; i < names.Length; i++) { objects[i] = Util.FindChild<T>(gameObject, names[i], true); } } T Get<T>(int idx) where T : UnityEngine.Object { UnityEngine.Object[] objects = null; if (_objects.TryGetValue(typeof(T), out objects) == false) return null; return objects[idx] as T; } int score = 0; public void OnButtonClicked() { score++; text.text = $"Point : {score}"; } } Util.cs using Unity.VisualScripting; using UnityEngine; public class Util { // go는 최상위 오브젝트 / recursive는 그 자식뿐만 아니라 자식의 자식도 계속 파고들며 찾을건지 여부 public static T FindChild<T>(GameObject go, string name = null, bool recursive = false) where T : UnityEngine.Object { if (go == null) return null; if (recursive == false) { for (int i = 0; i < go.transform.childCount; i++) { Transform transform = go.transform.GetChild(i); if (string.IsNullOrEmpty(name) || transform.name == name) { T component = transform.GetComponent<T>(); if (component != null) return component; } } } else { foreach (T component in go.GetComponentsInChildren<T>()) { if (string.IsNullOrEmpty(name) || component.name == name) return component; } } return null; } }

  • C#
  • unity
더머더머 댓글 2 좋아요 0 조회수 174

공부 방향에 대해 궁금한 점이 있습니다.

미해결

[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템

안녕하세요. 좋은 강의 잘 보고 있습니다. 완전 초보의 입장에서 이 강의에서 뿐만이 아니라 지금까지 공부해 오면서 쭉 궁금했던 부분이 있는데요. 강사분처럼 숙련자 분들은 작성한 스크립트들의 관계성이라던가 함수 내용들을 머릿속에 다 기억을 하고 계시는지 궁금합니다. 저의 경우에는 강의 하시는 내용 자체는 하나의 스크립트 분량이 작아서 그때 그때 이해는 되는데요. 이 테스크 강의에서만 봐도 스크립트가 12개가 만들어지는데 이렇게 만들어진 클래스들간의 관계나 함수 같은 것들을 전부 기억하기에는 무리가 있는데 이게 정상인지 비정상인지를 알고 싶습니다. 앞으로 계속 공부를 해 나간다면 이러이러한 부분이 늘게 될거다 하는 부분이 있을까요? 주변에 길잡이를 해줄 사람이 없으니 이런 부분이 불투명하고 어렵게 느껴집니다. 머릿속의 생각을 제대로 표현하지 못하고 너무 중구난방 쓰여진 거 같은데 제 생각이 최대한 잘 전달 되길 바랍니다.

  • unity
nasukwang 댓글 2 좋아요 0 조회수 173

Interpolation & Server Tick Frequency

해결됨

[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)

Hey, I have a question server in main loop dont limit execution time, everything happen withouth deltatime only base on JobSerializer Timer. So in the end we dont really know if server is working with 200 ticks per second or 15. Does this approach isnt affecting player objects latency? Does _lastSendTick = System.Environment.TickCount64; is enough to interpolate beetween player last postion and current? static void GameLogicTask() { while (true) { GameLogic.Instance.Update(); Thread.Sleep(0); } }

  • C#
  • unity
  • mysql
  • MMORPG
  • ef-core
  • asp.net-web-api
Frontal Achivment 댓글 2 좋아요 0 조회수 193

거절 버튼 action에서 RPC 관련 질문

해결됨

[Unity] 멀티플레이 게임 필수 기능 구현 - 서버 & 데이터 관리까지!

Action No에서 Action NO = () => { ToastPopUPManager.Instance.Initialize("파티 초대를 거절하였습니다ㅠㅠ"); photonView.RPC("IgonrePartyInvite", PhotonHelper.GetPlayer(inviterID), inviterID); }; 강의에서는 IgnorePartyInvite의 인자로 TargetPlayerIndex를 넘겨주는데, 저는 실행이 안 되서 inviterID로 넘겨주니 정상적으로 실행 되더라구요. 해당 action이 RPC안에서 정의 된 거라서 상대 기준에서 다시 내 기기로 함수를 실행시키기 위해서는 inviterID로 넘겨주는 게 맞지 않나요..? RPC관련 개념이 아직 미숙해서 질문해봅니다.

  • unity
  • firebase
  • photon
  • photon-pun
  • firestore
배준엽 댓글 2 좋아요 0 조회수 129

Stun 로직 관련해서 문제가 발생합니다.

미해결

절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스

BehaviorGraph - Stun 로직 에서 15분 45초에 만든 사망 시 폭발 로직이 저는 폭발하고 5초뒤에 사라질 때 다시 폭발하는 현상이 발생하는데 이유가 뭘까요..

  • C#
  • unity
백구 댓글 2 좋아요 0 조회수 219

Inventory #1

해결됨

[Unity6] 나만의 서바이벌 게임 만들기

양질의 강의 감사드립니다. 강사님과 같은 정상적인 플레이 시에는 특별한 문제가 없습니다. 나무를 베고 아이템을 획득하고 갯수가 잘 들어오고 이어서 아이템 획득했을 때도 그렇구요. 하지만, 먼저 I key 를 누르고 빈 창을 연 상태에서 나무를 베면 아이템이 들어오지 않는데요. 다시 I key 를 여러번 토글해 보아도 마찬가지구요. 이어서 나무를 베어도 아이템이 획득 되지 않는데, 무슨 문제 인지 궁금합니다.

  • C#
  • unity
bluesoul 댓글 2 좋아요 0 조회수 125

SkillData 구조체 질문

미해결

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

갑자기 궁금해져서 질문드려봅니다. SkillData, EffectData등이 struct로 구현되어 있는데, struct 내부에 참조타입이 많은 상황이잖아요? 이럴 경우 struct 내부의 참조타입이 얕은 복사가 일어날 수 있어 에디터의 추가 버튼에서 DeepCopySerializeReference 메소드를 구현해 사용 중인 것 같은데, SkillData, EffectData등을 class로 구현해 IClonable을 상속받아 Clone 메소드로 추가시키는 것과 어떤 차이가 있을지, struct로 구현을 하신 이유가 있는지 등이 궁금합니다.

  • unity
  • modules
MOOOON 댓글 1 좋아요 0 조회수 141

Bullet, AimDot 코드 질문

해결됨

절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스

오브젝트 풀링 - PoolManager 구축 32분 15초 5초 뒤에 사라지게 하는 invoke를 사용했는데, 총알 발사 후 물체에 맞고 사라진 후에 다시 발사되기까지 5초가 걸리지 않으면, 총알이 발사되자마자 사라지는 현상이 발생하는 것 같습니다. 이러한 현상을 해결하는 방법이 있을까요? 인터페이스 활용한 피격 데미지 구현 6분 56초 Update에서 실행되던 Aim Dot 색 바꾸는 코드를 Fire로 옮기면 Fire할 때만 색이 바뀌는데, 해당 부분만 다시 업데이트문으로 옮겨주면 될까요?

  • C#
  • unity
백구 댓글 2 좋아요 1 조회수 173

Item 연출 13:24 - Asset Manager 를 거쳐서 데이터를 가져오는 이유

해결됨

[Unity6] 나만의 서바이벌 게임 만들기

안녕하세요. 좋은 강의 감사드립니다. Scriptable 데이터에서 가져오는게 직관적일 거 같은데 굳이 Asset manager 를 통해서 데이터를 가져오는 이유가 궁금합니다

  • C#
  • unity
bluesoul 댓글 2 좋아요 0 조회수 151

수업자료 다운로드 방법이 궁금합니다.

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

안녕하세요. 혹시 수업자료를 어떻게 다운 받는지 알 수 있을까요? 섹션 3에 [보충] 에셋 관련 에서 언급해주신 자료를 다운 받으려고 하는데, 찾기가 어렵네요. 올려주신 다른 강의 중 실전 게임 코드리뷰 엘리스팡도 소스 코드랑 아트 리소스를 제공해주신다고 되어있는데, 아무리 찾아도 다운로드 링크가 보이지 않아요. 감사합니다.

  • C#
  • unity
rfghjd 댓글 2 좋아요 0 조회수 187

강의 소스 부탁 드립니다.

해결됨

[유니티 게임 개발] 핵심 기술과 디자인 패턴

학습에 관련된 상세한 질문을 남겨주세요 🙂 그 외에도 여러분들이 자체적으로 게임을 개발하면서 생긴 여러 오류들도 남겨주신다면 제가 아는 선에서 최대한 답변드리겠습니다 ! 😃 안녕하세요 강사님 좋은 강의해 주셔서 감사합니다. 강의 보면서 순간순간 집중력이 떨어져 예제 소스를 완성 못할 때가 많습니다. 강의에 나오는 모든 예제 소스를 받을 수 있을까요?

  • C#
  • unity
  • rest-api
  • 디자인-패턴
  • json-parsing
댓글 2 좋아요 0 조회수 126

스킬트리 저장 질문입니다

미해결

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

플레이어가 스킬트리로 스킬을 찍은 후 다른 씬에서 다시 로드되면 찍은 스킬이 사라지고 스킬트리가 초기화 되어서 싱글톤 변수에 스킬트리 자체를 저장하고 로드할때 불러오는 방법을 사용할려고 했는데 잘 되지 않았습니다. 씬이 전환되면서 플레이어가 다시 생성될때에도 스킬트리 상태와 찍은 스킬을 유지하는 방법이 있을까요..

  • unity
  • modules
coffeecat0213 댓글 2 좋아요 0 조회수 183

Init() 질문

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

안녕하세요. Managers의 Init()을 static으로 선언한 이유가 있을까요?

  • C#
  • unity
랄랄라 댓글 1 좋아요 0 조회수 109

ai 리소스 제작 질문

해결됨

[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기

안녕하세요 선생님 ai 로 타일 제작 하셨는데 gpt 유로 버전 어떤거 써야 이미지 생성 가능한가요??

  • C#
  • unity
  • 유니티6
anhyeokjun 댓글 2 좋아요 0 조회수 157

오브젝트활성화 > 오브젝트 Hit 이펙트 쪽 질문입니다

해결됨

[Unity6] 나만의 서바이벌 게임 만들기

소중한 강의 감사드립니다. 23:58 public virtual void OnHit() 에 HP_Init() 을 별도로 작업해 주셨는데 그 구체적인 이유가 궁금합니다. 설명해 주신 바로는 Interaction_Hit.cs 에 public override void OnHit() 에 shakeTree 부분이 문제 된다고 하셨는데 어떤 문제인지에 대한 언급은 없으셔서요

  • C#
  • unity
bluesoul 댓글 2 좋아요 0 조회수 125

1:30 - cutdown > idle - NoneInteraction false ?

해결됨

[Unity6] 나만의 서바이벌 게임 만들기

1:30 - cutdown 에서 Idle 로 transition 할 때 NoneInteraction 이 true 가 아닌가요. 개념적으로 반대로 되어 있는거 같아서 질문 드립니다

  • C#
  • unity
bluesoul 댓글 2 좋아요 0 조회수 110

vr 이동 관련해서 질문이 있습니다

해결됨

두고두고 써먹는 유니티 VR

continuous move로 이동중인데 계단과 같은 단차가 있는 지형에서 자연스럽게 이동하는 방법이 있을까요? 추가로 여쭙고 싶은게 vr컨트롤러로 무기를 집는데 손떨림이 너무 심합니다 이 부분도 조정할 방법이 있나요? vr기기는 현재 메타퀘스트3를 사용중입니다

  • unity
  • VR/AR
  • 유니티-vr
fine4200 댓글 2 좋아요 0 조회수 204

유니티6에서 오류

해결됨

[Unity] 함께 만들어가는 방치형 게임 개발

6버전이 뭐가 많이 다른가 봅니다. 코드상에도 Init 당시에 Pool 에서 SetActive True로 바꿔지면 invoke > Init으로 연결되면서 이미 화면에 나타난 상태라서 Update돌기전에 1프레임정도 사라지기전 위치가 표시에서 떠있다가 이후 Update문을 타면서 원래자리로 찾아가는 현상이 발생했습니다. 아무리봐도 무조건 발생할것 같은 상황같았는데, 강사님 화면에서 아무리 느리게봐도 그렇게 안보이더라구요 ㅜㅜ 그래서 Init에다가 Update문에 있는 위치동기화를 1회해주었는데 Cam이 Null인상태였습니다 Start가 먹지 않는것 같아 로그를 찍어보니 Init이후에 Start가 호출이 되더라구요 그래서 Start를 Awake로 변경했더니 해결했습니다. 그리고 tr.parent 도 자꾸 warning떠서 tr.SetParent(tr~)로 변경해서 해결했습니다. 버전이 달라서 그런가 이슈가 좀 있네요ㅜㅜ

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
비타 댓글 1 좋아요 0 조회수 242

rider에서 new editor config 설정

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

제가 vs가 아니라 현재 rider를 사용 중입니다. 여기서 강의에서 하신대로 프로젝트에 New editorConfig 설정을 하고싶은데 rider에선 어떻게 해야할지 방법을 계속 찾아보아도 나오지 않아 질문을 남깁니다.

  • C#
  • unity
  • MMORPG
무한개발거북이 댓글 1 좋아요 0 조회수 200

프로젝타일 이펙트 문의

미해결

[Unity] 함께 만들어가는 방치형 게임 개발

저는 투사체 프로젝타일 (Bullet)이 씬화면에서는 빛이나는데 게임화면에서는 빛이나지 않습니다 왜그런건가요?? 사용하고있는버전은 유니티6 (6000.0.32f1)입니다.

  • C#
  • unity
  • firebase
  • 게임기획
  • json-parsing
비타 댓글 3 좋아요 1 조회수 207

인기 태그

인프런 TOP Writers

주간 인기글