묻고 답해요
169만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
System.InvalidOperationException 이러한 오류가 나옵니다.
System.InvalidOperationException: 'The ThreadLocal object is not tracking values. To use the Values property, use a ThreadLocal constructor that accepts the trackAllValues parameter and set the parameter to true.' 코드를 작성했는데 이러한 오류가 나옵니다.제가 작성한 코드에 오타를 뒤져봐도 찾을 수가 없습니다.혹시 어떠한 경우에 이런 오류가 생기나요 100% 로 오류가 나옵니다.public static ThreadLocal<SendBuffer> CurrentBuffer = new ThreadLocal<SendBuffer>( () => { return new SendBuffer(ChunkSize); }, trackAllValues: true); 찾아보니 스레드 로컬 커런트 버퍼를 만들 때 이렇게 해주면 오류가 사라지긴 합니다.왜 이런 문제가 발생하는 건가요?
-
해결됨[유니티6] 따라하면서 배우는 고박사의 2D 플랫포머 게임 제작
적에게 닿은상태로 있을때
적에게 닿고 체력이 깎인다음 닿은상태를 유지하면 체력이 깎이지 않습니다 닿은상태에서 벗어난뒤 다시 닿으면 체력이 깎이지만 어색하다고 생각됩니다 적에게 닿은상태를 유지해도 무적시간이 끝난뒤에 다시 피격되도록 하는방법이 없을까 궁금합니다 EnemyCollider 에서 OnTriggerEnter2D 로 체력이 깎이도록 되어있는데 어떻게 하면 좋을까요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
3D 체력바의 Canvas가 같이 보이는 현상이 있습니다.
캔버스의 설정은 영상을 보고 똑같이 따라했고 설정도 똑같이 했는데 이런 현상이 있습니다. 답변 주시면 감사하겠습니다!
-
해결됨C# TCP/IP 소켓 프로그래밍
22:38 메세지 박스가 안뜨는 문제
실습을 진행하다 22:38에 떠야하는 메시지 박스가 안뜨는 문제가 발생하여 글 남깁니다.디버깅을 통해서 알 수 있는 사실은 정상적으로 서버에서 SendAsync 한 데이터를 클라이언트 Singleton의 ReceiveAsync 메서드에서 받는다는 사실입니다. ( 스레드 풀의 작업자 스레드가 응답받습니다. )하지만, LoginForm의 주 스레드와 작업자 스레드는 병렬적으로 실행되며 LoginForm의 roomList.ShowDialog()가 호출되는 순간 ReceiveAsync 를 실행하던 작업자 스레드가 중단됩니다.결국, MessageBox.Show(packet.Code.ToString()); 가 호출되기 전에 작업자 스레드가 중단되며, 메시지 박스가 뜨지 않습니다.왜 해당 작업자 스레드가 종료되는 지 궁금합니다. header의 크기를 잘못 지정한 문제였습니다.header의 크기를 2로 지정하여 해당 크기만큼만 Receive 소켓에서 읽어야 했는데, 그 이상 읽어서 이후 ReceiveAsync에서 더 이상 읽을 데이터가 없기 때문에 스레드가 중단된 것이었습니다. ㅡㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
코드 중간중간마다 GetComponent<>로 컴포넌트 가져오는 부분 질문입니다.
저의 얕은 지식으로는 GetComponent<>가 비교적 무거운 작업으로 알고 있습니다. 이 영상에서 보면 업데이트문에서 계속 GetComponent<Collider>로 콜라이더 컴포넌트를 가져오게끔 코딩하셨는데, 저였으면 전역변수로Coliider parentCollider; parentCollider= parent.GetComponent<Collider>();Vector3.up * (parentCollider.bounds); 이런식으로 했을거 같거든요?전 항상 배울 때 스탠스가 "아 저분이 저렇게 코딩한 건 다 이유가 있겠지? 내 코딩은 뭔가 비효율적일거야" 하고 저를 낮추고 가는 경향이 있거든요.혹시 저렇게 하신 특별한 이유가 있으셨는지 궁금합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
패치는 어떻게해야되나요?
안녕하세요 강의 너무 잘듣고있습니다.!만약 windows로 배포를 하게 된다면 패치가 됐는지 어떻게 판단해서 unity exe를 windows에 update 할 수 있나요?
-
미해결[실전 게임 코드 리뷰] 유니티 캐주얼 게임 (엘리스팡)
어드레서블을 사용할 때 UI에 들어가는 스프라이트들은 안올려도 괜찮은가요?
에셋 번들을 사용할 때 UI 프리팹을 에셋 번들에 업로드 해두어도 거기에 사용된 스프라이트들을 안올리면 이미지들이 전부 하얀 박스로 나와서 이것들을 전부 에셋 번들에 업로드를 해주었었는데 해당 프로젝트에 어드레서블을 보니 따로 스프라이트를 올려두진 않았더라구요. 이렇게 사용 해도 딱히 문제가 없어서 이렇게 하신건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
DontDestroyOnLoad 해제관련 질문입니다!
DontDestroyOnLoad 상태가 아닌 위쪽에 있는 오브젝트에 한번이라도 붙었다가 나오면 DontDestroyOnLoad 상태가 해제된다고 하셨는데 어떤원리인지 알수있을까요?
-
해결됨[C#/.NET 8.0]어서와, Blazor Server는 처음이지?
PostgreSQL 문의
안녕하세요 PostgreSql 설치 중 12버전 이상은 아래와 같은 에러로 설치가 안됩니다.구글에서 저와 같은 현상으로 인한 해결책은 11을 설치하는 것인데 11 설치 후 backupFile Restore가 실패합니다ㅠㅠ BinaryPath도 다 지정했습니다.그런데도 failed가 나는건 15 bacupfile과 11의 호환성 문제일까요?ㅠㅠ Assembly강의도 들어야하는데 이거 때문에 진도가 나가지가 않습니다 도와주세요ㅜㅜ
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
BroadcastEvent 관련
BroadcastEvent 관련해서, 사실상 어떤 이벤트가 발생할 때마다 거의 모든 구독자들이 호출되는 상황인데, 이렇게 되면 코드 작성 당시에는 편할지 몰라도 너무 많은 계산 역량을 낭비하게 되는 게 아닌지 궁금합니다. 아니면 어차피 대부분의 호출은 맨 처음 if문(enum 타입 체크)에서 바로 종료되니 생각보다 부하가 없는건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
소캣 통신 데이터 유실 궁굽합니다!
안녕하십니까. 강의너무잘 듣고있습니다. 서버를 공부하면서 데이터가 유실되면 어떤 방식으로 진행해야하는지 궁굼해서 문의드립니다.tcp/ip특성상 안전성이 높아서 유실이 안되는 걸로 알고있는데 유실될 가능 성도있나요?데이터 유실이된다면 어떻게 처리해야하나요?데이터 유실이 실무에서도 일어나나요?일반적으로 데이터 유실이란게 tcp/ip에서 데이터가 끊어져서 들어오는걸 말하는 건가요? 만약 데이터 유실처리 방법으로 유실 유무를 판단하여 다시 서버에서 요청을 하는 로직을 만든다면 일반적으로 재전송 패킷을 따로만드나요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
게임제작 컴퓨터 사양 질문
안녕하세요 강의 보고 열심히 공부하고있씁니다 우르르 용사단 이나 지금 저희가 하고 있는 프로젝트 스케일 정도는 컴퓨터사양 대충 어느정도 가 편안하게 렉없이 제작가능할까여 다른게임 비교하면 2D게임 탕탕 특공대 정도 스케일 정도요컴퓨터 구매할때 참고 하고 싶어서요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Managers 경고가 왜 뜨는지 잘 모르겠습니다.
내용은 아래 입니다.You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all UnityEngine.MonoBehaviour:.ctor () SoundManager:.ctor () (at Assets/Scripts/Managers/SoundManager.cs:9) Managers:.ctor () (at Assets/Scripts/Managers/Managers.cs:14) UnityEngine.GameObject:AddComponent<Managers> () Managers:Init () (at Assets/Scripts/Managers/Managers.cs:43) Managers:get_Instance () (at Assets/Scripts/Managers/Managers.cs:9) Managers:get_Resource () (at Assets/Scripts/Managers/Managers.cs:18) BaseScene:Init () (at Assets/Scripts/Scenes/BaseScene.cs:19) GameScene:Init () (at Assets/Scripts/Scenes/GameScene.cs:11) BaseScene:Awake () (at Assets/Scripts/Scenes/BaseScene.cs:12)
-
미해결Do it! C# 프로그래밍 입문
Macbook
안녕하세요 맥북 사용중인데 강의 보는데 지장 없을까요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
Managers.cs 질문
public static DataManager Data { get { return Instance?._data; }}와같은 프로퍼티들이 스태틱으로 되어있던데 스태틱이어야하는 이유가 따로 있을까요?그냥 외부에서 호출 할때 Manager.Instance.DataManager로 호출해도 되는데 이렇게 하신 의도가 궁금합니다. 또 위의 Data 프로퍼티의 정의에 보면 return _data가 아니라Instance?._data로 하셨는데 이건 C# 7.0문법인 ?을 사용하려고 그렇게 하신건가요?
-
미해결[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)
1주차 스크립트 질문입니다
1. 강의를 듣고 선언된 두 딕셔너리의 용도라고 주석을 달았는데 맞을까요?2. LoadAllAsync 메서드- 주어진 label에 대해 모든 리소스를 비동기적으로 로드하고, 로드 상태를 콜백을 통해 알려주는 기능 수행LoadAsync 메서드 - key에 맞는 개별적인 리소스 로드 이렇게 해석했는데 맞나요??3.동기 작업의 결과 - opforeach문의 내용 - 스프라이트만 따로(우선적으로) PrimaryKey로 체크를 하고 로드 [사유 : 폰 이슈] else문에서 그외의 스프라이트가 아닌 것들을 로드
-
미해결C# TCP/IP 소켓 프로그래밍
에러 관련하여 질문 있습니다.
안녕하세요, 실습을 따라 진행하던 도중 질문드릴 것이 생겨 여쭤봅니다.해당 강의의 커리큘럼 중 채팅 프로그램 세션에서 로그인 강의를 끝까지 듣고 그대로 입력해 실행해 봤을 때, 강의 영상처럼 영어를 입력하면 입력값이 길든 짧든 오류가 나지 않습니다.그러나 한글로 입력하면 아래의 사진과 같이 아이디, 닉네임 이렇게 짧게만 입력해도 오류가 납니다. 왜 이런 것인지 이유와 그 해결책을 알고 싶습니다.감사합니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Add Animation Event 추가할 때 Inspector 부분에 문제가 있습니다
3:34초에Function, Float, int, String, Object 등 모든 변수가 나와야하는데아무것도 없고No Function Selected 상태입니다수업을 그대로 따라하고 있어서따로 코드 친건 없고이전까지는 모두 다 똑같이 실행되었습니다어떻게 해결해야할까요?? 유니티는 2022.3.21f1 LTS 버전입니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
3D fps 제작 중 질문이 있습니다.
모든 계산은 서버에서 하고실제로 클라이언트는 보여주는 역할만 한다고 배웠습니다.여기서 궁금한점이 있는데유니티는 collider를 만들어서 충돌처리를 하는데서버는 따로 유니티를 통해 키는것이 아니라서 collider게산이 쉽지 않을 것 같다는 생각이 들었습니다. 총의 충돌판정을 검사할 때 총알의 현재위치와 총알의 이전위치를 이용해서 선을 만든 후 충돌처리를 하려고 하는데 여기서 플레이어의 머리 몸통 다리 팔을 각각 collider로 나누고싶다면 직접 서버에서 머리 몸통 팔 다리 위치와 collider를 구상하고 collider를 직접 구현하고.. Raycast를 직접 구현해서 사용한다충돌 계산 및 유니티 기능 이용을 목적으로 하는 클라이언트를 따로 제작한 후 각 위치에 collider를 직접 생산하고 유니티에 있는 기능을 이용한다.플레이어의 모든 위치는 동기화 되어있을테니 총알을 쏜 당사자의 컴퓨터에서 충돌판단을 한 후 서버로 충돌여부를 전달한다보통 어떤 방식이 맞는건가요? 흔히 실무자들이 말하는 모든 계산을 서버에서 한다는 말이 당장 개개인의 클라이언트에선 collider조차 만들지 않는다는 느낌인건가요? 그리고 만약 점프를 한다면점프에서 계산마다 올라가고 내려가는걸 서버에서 직접 계산한 후 (9.8중력, 이동속도 등..) 각 플레이어에 동기화시켜주는게 맞는걸까요?아니면 각 클라이언트의 Rigidbody를 이용해서 계산된 높이값을 서버로 전달하는게 맞는걸까요? 로컬상 이동 - 서버로 전달 - 동기화로컬상 이동명령 - 서버에서 이동계산 - 동기화 및 블랜딩 이 강의에선 2번케이스 같은데 3d게임은 1번이 더 나은 것 같기도 하고 해서 질문드립니다.
-
미해결유니티 AR로 만드는 FPS 게임
자동완성 기능은 어떻게 추가 하나요 ?
C# 스크립트 작성시 오타가 많이 나는데 자동완성 기능은 어떻게 추가하나요 ?