묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
각 파트별 연관성이 있나요?
특정 파트를 들을 때 그 이전 파트를 안 들어도 진행하는 데 문제없을지 알고 싶어요.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
prefab호출이 되지 않습니다..
(사진)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이벤트핸들러를 이용하지 않는 이유
SocketAsyncEventArgs args = new SocketAsyncEventArgs(); args.Completed += OnConnectedCompleted; args.RemoteEndPoint = endPoint; args.UserToken = socket;이벤트 핸들러를 이용하지 않고 바로 대입한 이유가 있을까요?
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
TCP 수신시 순서보장에 질문있습니다!
안녕하세요.루키스님 1회독마치고 2회독을 하는중 궁금한점이 생겨 글남기게되었습니다.만약 클라가 패킷을 보내는 순서를 A -> B 라고 했을때, 서버에서 패킷을 수신해보니 A, B둘다 패킷이 부족하여 다음 패킷을 대기중이라 했을때두번째 패킷을 받아보니 B는 부족한 패킷을 채워 완전체가 되고 A는 아직 부족하다고 했을때클라에서는 A -> B 순으로 명령하여 패킷을 전송했지만 A의패킷은 아직 수신대기중이고 B의 패킷은 전부 수신되었을때B의 패킷을 컨텐츠영역으로 보내 클라에게 전송하는걸까요?그럼 클라에서의 명령이 A->B가 아닌 B->A로 실행되는것일까요..?만약, B->A 로 클라가 실행된다면 정상적으로 A->B로 실행하게끔 하는방법이 있을까요..?문뜩 궁금해서 여쭤보게되었습니다. 답변해주신다면 감사하겠습니다!
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
인증서버에서 rank update 시 이슈가 있어 질문드립니다.
ranking update 시에,클라이언트 측 패킷 값이 인증서버에 제대로 전송이 안됩니다.이곳저곳 다 확인해봤는데 원인을 모르겠네요..[클라이언트][인증서버]
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
InvalidOperationException 에러에 대해 궁금한점
영상을 보고 난 후 이런 툴을 제 프로젝트에 적용시켜 혼자 만들어 보고 있었는데이렇게 사용시에 foreach 문에서 InvalidOperationException이 발생 하였습니다. (foreach를 도는 중에는 원소 값을 건드리면 안되어 발생하는 에러)영상 23분에 보면은 x버튼을 눌렀을 때 database에서 원소 값을 remove 시키는데 이 부분에선 발생하지 않던데 이건 무슨 차이 때문에 발생하지 않는건가요?
-
해결됨유니티 머신러닝 에이전트 완전정복 (기초편)
3DBall 학습 중 문제
이런 식으로 잘 실행이 되었는데 이 이후에 이런 문제가 떠버리네요 환경 문제라고 나오는 거 같은데 전혀 모르겠습니다,,
-
해결됨유니티 머신러닝 에이전트 완전정복 (기초편)
mlagents-learn --hlep
학습 하기 전 mlagents-learn --hlep를 실행했는데 이런 문제가 생기네요,, 혹시 어떤 문제일지 알 수 있을까요?
-
해결됨새싹부터 시작하는 Unity 게임 개발
Start문 자동완성
start문 작성 할 때 강의영상 처럼 자동완성이 안나오는데 설정 하는 방법이 따로 있는건가요???
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
프리팹은 보통 어느팀에서 제작하나요?
HeroList 강의를 수강하는 중 문득 궁금해져서 질문 드립니다. 예를들어 강의에서 다룬 UI_GameScene 프리팹을 작업한다고 할 때프리팹은 아트나, 기획팀에서 제작 후 전달받아 프로그래밍팀이 작업하는 방식인지아니면 리소스나 프리팹 구조만 전달받아 프리팹 제작부터 프로그래밍팀이 담당하는지 궁금합니다. 회사마다 차이는 있겠지만 팀이 세분화 되어있는 대기업 기준이라면 어떻게 작업하는지 궁금하네요.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
StateMachine 가독성
코드 상에서 일일이 Transition을 만들고 하다 보니 가독성이 딸리는 느낌이더라구요 그래서 그런데 혹시 강의 뒤에 StateMachine의 가독성을 높이기 위한 방법이 나오나요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
Addressable에서 Sprite를 로드할 때 중복된 Primary키 문제가 발생합니다.
Dictionary에서 중복된 키 값으로 에러가 나서 확인해보니 sprite를 로드할 때, sprite와 Texture2D를 따로 로드하면서 Primary키가 중복되어 발생하는 문제였습니다.설정값이 잘못 되었거나 잘못된 리소스를 사용하고 있는 걸까요?
-
해결됨새싹부터 시작하는 Unity 게임 개발
2D Object에 Square가 안나옵니다 ㅠ
사진처럼 Pixel Perfect Camera만 나오고 Square가 안나오는데 어떻게 해야 하나요?학습에 관련된 상세한 질문을 남겨주세요 🙂그 외에도 여러분들이 자체적으로 게임을 개발하면서 생긴 여러 오류들도 남겨주신다면 제가 아는 선에서 최대한 답변드리겠습니다 ! 😃
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
OnSendCompleted 에서 질문이 있습니다.
OnSendCompleted에 보면if (_sendQueue.Count > 0) RegisterSend();이 부분이 필요한 부분인지 궁금합니다. void Send(byte[] sendBuff) 이 함수 안에서 이미 lock(_lock) 가 걸려있고OnSendCompleted에서도 lock(_lock) 가 걸려있는데요. lock 로 인해서 한쪽이 작업중이면 다른 한쪽은 lock이 풀릴때까지 대기중일거 같아서요
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
이벤트로 연결할 함수들은 무조건 PointerEventData를 추가해주어야하나요?
지금 구조 상 UI_EventHandler에서 클릭이벤트를 처리하는 함수가 매개변수로 PointerEventData타입을 받게 되어있는데질문 1. 그렇다면 UI_Popup에 정의한 ClosePopupUI()함수도 닫기버튼을 눌렀을때 닫으려면 아래와 같이 수정해서 사용하면 되는걸까요?using System.Collections; using System.Collections.Generic; using Managers; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.PlayerLoop; namespace UI.Popup { public class UI_Popup : UI_Base { protected enum Buttons { CloseButton } public override void Init() { Manager.UI.SetCanvas(gameObject, true); } public virtual void ClosePopupUI(PointerEventData pointerEventData) { Manager.UI.ClosePopupUI(this); } } }질문 2. 매개변수로 PointerEventData가 아닌 다른 것도 함께 매개변수로 넘기고 싶은 경우에는 이렇게 그에 맞는 ActoinHandler를 일일이 추가하는 방법말고 다른 방법은 없을까요?public class UI_EventHandler : MonoBehaviour, IPointerClickHandler, IDragHandler, IBeginDragHandler, IEndDragHandler { public Action<PointerEventData> OnClickHandler = null; public Action<PointerEventData> OnRightMouseBtnClickHandler = null; public Action<PointerEventData> OnBeginDragHandler = null; public Action<PointerEventData> OnDragHandler = null; public Action<PointerEventData,UI_InvenItemSlot> OnInvenHandler = null; public Action<PointerEventData> OnEndDragHandler = null; public void OnDrag(PointerEventData eventData) //오브젝트를 드래그 중일때 매프레임 호출 { OnDragHandler?.Invoke(eventData); } public void OnDrag(PointerEventData data, UI_InvenItemSlot slot) { OnInvenHandler?.Invoke(data, slot); }
-
미해결C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)
델리게이트를 이용하여 멀티캐스트를 할 때, 같은 타입만 담을 수 있나요?
ExampleDelegate ed = Hello;ed += Bye;ed(); 에서 Bye 매서드에 매개 변수가 있거나 반환 타입이 있으면 담을 수 없나요? 여러 번 해봐도 붉은색 밑줄만 나오네요. 제가 잘못 한 건지 원래 안 되는 건지.. 궁금합니다.
-
해결됨비전공자도 쉽게 시작하는 증강현실(AR)로 나만의 고양이 만들기
Adaptive Performance Samsung 다운로드 받으라는 오류
안녕하세요^^강의에서 처음에 demo project는 잘 실행되는데 그 다음부터 진행되는 늑대프로젝트부터 Adaptive Performance 패키지가 이미 다운로드 되어 있음에도 불구하고 Adaptive Performance Samsung 을 다운로드 받으라며 빌드가 안 됩니다. ㅜㅜ 그러나 정작 패키지매니저에는 Adaptive Performance Samsung은 없는데요...ㅜㅜ 하... 강의 초반부터 막혔는데 이거 어떻게 해결해야 할까요? 구글링, ChatGPT 해봐도 답을 못 찾겠습니다.
-
해결됨[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
섹션1 - UI, Data 강의 화면 원래 안보이나요?
수강 시작했는데 섹션1 UI, Data 강의 화면이 안나오네요
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
UI 리소스 사용문의
몬스터랑 나머지 리소스 전부 UI랑 사용해도 문제없나요 ??
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
enum을 이용한 UI자동화를 한 경우는 값이 자주 바뀌어야하면 비효율적인가요?
안녕하세요! 강사님이번 프로젝트에서 더 나아가 rpg 연습 프로젝트를 하는 도중 인벤토리 구현을 하는데 있어서 궁금한 것이 있어 질문 남깁니다.아래처럼 슬롯 UI를 구현해서 이제 Clear일때는 text,와 image를 지워주고 update에는 또 새로운 값을 대입해주거나 해야하는데 그때마다 Get~= null, Get~= stack++;이런식으로 해주어야하는건가요? 클래스 멤버변수로 Text stackText 를 하나 선언해서 Init할때 stackText = Get~ 이런식으로 받아놓고 사용하면되는걸까요?다루어야할 데이터가 늘어나면 enum형에 있는만큼 더생기니까 뭔가 바인딩하려고 enum형에 다 선언을 해놨는데 변수를 하나 더 만드는 거 같아 이런식으로 사용하는게 맞는지 모르겟습니다. 머리를 굴려서 생각해본 결과 SetInfo를 값을 변화시켜야할때마다 호출하는 방식으로 해놓긴했습니다ㅠㅠusing System.Collections; using System.Collections.Generic; using TMPro; using UI; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class UI_InvenItemSlot : UI_Base { enum Images { ItemImage } enum Texts { ItemStackText } void Start() { Init(); } public override void Init() { Bind<GameObject>(typeof(Texts)); Bind<GameObject>(typeof(Images)); //클릭했을 때, 장착 바뀌기 이런 이벤트 함수 만들어서 연결 } private void OnClickSlot() { } private void ClearSlot() { // image =null //itemstacktext= null } private void UpdateStackText() { } private void SetInfo(Sprite image, int stackCnt) { GetText((int)Texts.ItemStackText).text = stackCnt.ToString(); GetImage((int)Images.ItemImage).sprite = image; } //슬롯 인덱스 // 슬롯 아이템 보유 여부 // 슬롯 접근 가능 여부 -> 다른 종류 아이템이거나 꽉찼으면 접근 X // 아이템 이미지 // 수량 텍스트 //기능 // 아이템 이미지 변경/ 보이기/ 숨기기 // 수량 텍스트 변경/보이기/숨기기 // 슬롯 접근가능 여부 변경 }