inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

git으로 협업할 때 conflict 발생

미해결

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

java 협업시 git을 써 보다가 유니티 작업을 git으로 협업을 하려고 하니 어려운 점이 있는데 도움 부탁드립니다. git으로 clone해서 작업하고 머지할 때 동일한 씬을 수정한 경우 컨플릭이 많이 발생합니다. 씬의 경우 컨플릭이 발생해도 사람이 작성한 코드가 아니다 보니 컨플릭을 해결하기가 어렵습니다. 씬 컨플릭이 발생하지 않게 git을 사용하는 방법이 있을까요?

  • C#
  • unity
prokimssam 댓글 1 좋아요 1 조회수 531

send 과정에서 멀티스레딩에 관한 질문입니다

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

//양질의 수업 감사합니다. 데이터를 보내는 과정은 수업에서 크게 send() // 데이터를 큐에 넣고 보내는 사람이 없으면 직접 보냄 register_send() // 비동기로 send 실행 on_send() // 데이터 전송 후 콜백 함수 총 3가지 과정입니다 근데 여기서 lock 경합 상태를 방지하기 위해 누군가가 보내고 있으면 큐에 데이터를 넣기만 하고 다른 일을 하러 가고 실제로 보내는 스레드는 단 1개로 설계한 것처럼 보이는데 큐에 데이터를 넣는 과정도 lock 안에 있어서 데이터를 보내는 스레드가 일을 마칠 때까지 큐에 데이터 못 넣고 대기 상태에 빠지지 않나요? 그래서 결국엔 lock 경합을 예방하는데 도움이 되는지 궁금하네요 뭔가 send_queue 이 자원은 object key를 따로 만들어서 딱 이 녀석만 상호배제해야 할 것처럼 생각이 드네요

  • C#
  • unity
  • 네트워크
우웅 댓글 1 좋아요 5 조회수 466

모델 Rig 타입은 어떻게 확인할수있나요?

미해결

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

강의에서 사용하시는 모델이 ㅇ없어서 다른 모델을 다운받았는데 애니메이션이 안먹히네요. 휴머노이드로 검색해서 다른걸로 한번 더 받아서 해도 먹통이고 유니티쟝을 갖다넣으면 되긴하는데.. 1. rig이 다른 경우 말고 또 어떤 경우에 호환이 되지 않는건가요?? 제가 받은 모델의 rig타입을 체크할 수 있는 방법이 있을까요? 구글님은 fbx??파일 확인하라는데 그런 파일은 없어요..ㅠㅠ

  • C#
  • unity
강한 바다사자 댓글 1 좋아요 0 조회수 341

go = new GameObject(name = "@Managers"); 버그

미해결

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

using System.Collections; using System.Collections.Generic; using JetBrains.Annotations; using UnityEngine; public class Managers : MonoBehaviour { private static Managers s_instance; public static Managers instance {get {init(); return s_instance; }} // Start is called before the first frame update void Start () { init(); } // Update is called once per frame void Update() { } static void init() { if (s_instance == null) { GameObject go = GameObject.Find("@Managers"); if (go == null) { go = new GameObject(name = "@Managers"); go.AddComponent<Managers>(); } DontDestroyOnLoad(go); s_instance = go.GetComponent<Managers>(); } } } Managers.cs(29, 37): [CS0120] static이 아닌 필드, 메서드 또는 속성 ' Object.name '에 개체 참조가 필요합니다. 이런 오류가 뜨는데 어떻게 수정해야 될까요? 제가 놓친 부분이 있을까요?

  • C#
  • unity
Link 댓글 1 좋아요 0 조회수 468

EventSystem 에러

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요 루카스님 강의를 듣고 있다가 위 사진과 같은 에러가 나옵니다. 커뮤니티 게시판에 저와 똑같은 에러를 가지는 분의 글을 보고 말씀해주신 대로 해당 경로에 EventSystem이 있는지 확인해 보았는데 위 사진과 같이 있습니다. 아무리 해도 해결이 안되어 질문 남깁니다. 감사합니다.

  • C#
  • unity
준준 댓글 1 좋아요 0 조회수 307

7강에서 마지막 이미지 추가하는 부분...

미해결

C# WPF .NET Core(7.0)

안녕하세요. 강의 잘 보고 있습니다. 다름이 아니라 7강 마지막에서 이미지 추가하는 부분에 해당 이미지 속성창에서 "빌드 작업" -> "없음"을 "리소스" 로 변경하면 실행 시 적용되는 부분에 대해 설명 추가하면 좋았을 것 같습니다. (해당 속성을 "리소스"로 변경하지 않으면 실행 시 이미지가 나타나지 않습니다.) 약간 아쉬움이 남는 부분인 것 같아서 의견을 드려 보았습니다. 좋은 강의 감사합니다. ^^

  • C#
  • mariadb
  • mvvm
  • wpf
  • xaml
프리코딩 댓글 1 좋아요 0 조회수 391

Json으로 데이터를 관리하는 방법에 대해 질문이 있습니다.

해결됨

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

안녕하세요, 루키스님. 강의에서 다뤄주신 부분은 아니지만, 학교에서 다른 학생분들과 프로젝트를 하는 중에 Json으로 데이터를 관리하려는데 궁금한 부분이 생겨서 혹시나 싶어 여쭤봅니다... 구글 스프레드시트에 데이터를 관리하면서 Json으로 불러와서 사용하고 있는데요. 현업에서도 Json으로 데이터 관리를 많이 하시나요? 기본타입이 아닌 Enum이나 Class타입인 데이터같은 경우, 시트에 문자열로 작성하고 Unity에서 사용할 때에는 리플렉션을 사용하여 동적으로 변환시키나요? 다른 분들 작업하신 시트를 봤을 때에는 모든 시트에 첫 열을 index값으로 설정하셨던데, 어차피 Dictionary로 읽어온다면 유닛의 이름이나, 몬스터의 이름같은 값으로 첫 열을 설정하면 사용하기 더 편하지 않나요? 데이터의 첫 열을 index로 설정하는 이유가 궁금합니다. 강의에서 다루시지 않은 부분에 대해 질문드려서 죄송합니다.. 구글에 검색해보면 "이렇게 이렇게 한다"라는 내용 뿐이지 왜 이렇게 하는지 납득할만한 내용을 찾을 수가 없더군요.

  • C#
  • unity
댓글 1 좋아요 0 조회수 629

비동기 함수와 lock 의 관계에 대한 질문입니다

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

lock(key) { bool pending = recvAsync() if(pending == false) //콜백 함수 } 이런 상황에서 비동기 함수가 pending == true면 흐름이 끊긴다고 할까요? 대기 중인 상태 랄까요 어쨋든 이런 상황에서는 다른 스레드가 lock 안으로 들어올 수 있나요?? 질문을 다시 정리하면 스레드 1이 위의 코드에서 pending 이 true 인 상태면 lock 을 빠져나가서 스레드2가 lock 안으로 들어 올 수 있나요 아니면 스레드가 1 이 lock 안에 계속 있는 판정이라서 스레드2 가 lock 안으로 들어올 수 없나요??

  • C#
  • unity
  • 네트워크
우웅 댓글 2 좋아요 0 조회수 492

RegisterSend 의 NullReferenceException 오류

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

유니티에서 NetworkManager static Instance를 통해 Send를 하면 다음과 같은 오류가 발생합니다. 어떤 이유인지 알 수 있을까요? ㅠㅠ ServerSession에서 로그를 찍으면 문제가없습니다.

  • C#
  • unity
pizza303 댓글 1 좋아요 0 조회수 243

게임 장르에 따른 서버 선택 여쭤보고 싶은 게 있습니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요. 게임서버 웹서버 강의 두 개를 듣고 있는 수강생입니다. 강의를 마치고 작은 방치형 게임을 하나 만들어 보고자 합니다. 게임 설계에 따라 전부 다르겠지만, 보통 방치형 게임은 웹서버, 게임 서버 중에 어떤 서버방식으로 사용되는지 알 수 있을까요? 제가 만들 게임은 온라인 서버에서 싱글플레이어로 진행되는 게임이기에 실시간 연결서버가 필수는 아닐 것으로 보입니다. 다만, 미래지향적으로 컨텐츠에 따라 게임서버가 좋지 않을까 싶은데 보통 방치형 게임에서는 웹서버를 사용하는지, 게임서버를 사용하는지, 어떤 형태로 설계되는지 궁금합니다. 실제 개발 환경 경험이 없다보니... 정보를 얻기 쉽지 않네요.

  • C#
  • unity
짜짠형 댓글 1 좋아요 0 조회수 323

Transform 과 관련하여 질문드립니다.

미해결

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

안녕하세요. Transform을 받아오는 방법으로는 캐싱된 _transform 을 가져오기 해당 컴포넌트가 붙은 오브젝트의 transform을 gameObject.transform으로 가져오기 다른 오브젝트의 transform 을 .transform 으로 가져오기 GetComponent<Transform> 이렇게 4개 정도 있을 것 같은데 각각의 퍼포먼스 차이가 궁금합니다. 1번은 당연히 빠를 것 같은데, 234번에 어떠한 차이가 있는 걸까요? 캐싱을 하는 것이 기본적으로 유의미한지, 혹은 특수한 상황을(ex. 반복문) 제하면 크게 유의미하지 않은지도 궁금합니다. transform.find와 GameObject.find 에 성능적 차이가 있다면 어떤 부분인지도 궁금합니다. 그리고 이와 같은 Unity 내장 함수의 퍼포먼스적 측면은 어디서 확인할 수 있을까요? 유니티 스크립팅 api에서는 이런 부분을 다루지 않는 것 같아 질문드립니다.

  • C#
  • unity
강승연 댓글 1 좋아요 0 조회수 351

ArgumentException 에러가 생겼습니다.

미해결

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

ArgumentException: An item with the same key has already been added. Key: 1 System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <1c8569827291471e9db0dcd976e97952>:0) System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <1c8569827291471e9db0dcd976e97952>:0) RPG.Data.StatData.MakeDict () (at Assets/02.Scrips/Data/Data.Contents.cs:28) RPG.Managers.DataManager.Init () (at Assets/02.Scrips/Managers/DataManager.cs:21) RPG.Managers.Managers.Init () (at Assets/02.Scrips/Managers/Managers.cs:53) RPG.Managers.Managers.get_Instance () (at Assets/02.Scrips/Managers/Managers.cs:10) RPG.Managers.Managers.get_Resource () (at Assets/02.Scrips/Managers/Managers.cs:23) RPG.Scenes.BaseScene.Init () (at Assets/02.Scrips/Scenes/BaseScene.cs:22) RPG.Scenes.GameScene.Init () (at Assets/02.Scrips/Scenes/GameScene.cs:14) RPG.Scenes.BaseScene.Awake () (at Assets/02.Scrips/Scenes/BaseScene.cs:15) 이렇게 에러가 생겼는데 이미 Dictionary가 생겨났다는데 Init()함수 순서 문제인건지 모르겠습니다.

  • C#
  • unity
용현박 댓글 1 좋아요 1 조회수 1683

Addressable 에러납니다...

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

Addressable설치 하고 에디터 Play하면 위와 같은 에러가 발생합니다... 버전 업/다운을 해봐도 마찬가지네요... 찾아보니 대략 이런 내용인거 같은데 해결을 못하겠네요 https://forum.unity.com/threads/addressablesgroupwindow-missing-styles-in-2022-3-1.1445899/

  • C#
  • unity
  • object-pooling
BBAKK 댓글 2 좋아요 0 조회수 1156

강의 다운로드 질문

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

안녕하세요 루키스님! 혹시 강의 다운로드는 못하나요?? 제가 군인이라서 태블릿으로 보려면 강의를 다운 받아서 볼 수 밖에 없어서요.. ㅎ 좋은 강의 감사합니다

  • C#
BBokGames 댓글 1 좋아요 0 조회수 407

GetComponent 할때 AddComponent 질문입니다!

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

항상 예외나 문제가될 사항에 준비하라고 말씀해주셧는데 GetComponent 를 해서 어떤 컴포넌트를 가져올때 if (GetComponent == null ) { AddComponent<>(); } 이런식으로 만약 추가가안되있다면 추가해주는 방식을 추가해주는거는 어떤가요? 너무 사용이 많아져서 오버된 행동일까요??

  • C#
  • unity
  • object-pooling
김망 댓글 1 좋아요 0 조회수 433

NetworkStream에는 SendBuffer와 RecvBuffer와 같은 기능이 없나요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요. PacketSession까지 강의를 보다가 NetworkStream에는 SendBuffer와 RecvBuffer와 같은 기능이 없는지 궁금해져서 글을 적었습니다. 데이터를 암호화할 때 SslStream에 NetworkStream을 넣어서 암호화를 하는 걸로 알고 있습니다. 그러가다 문득 아래와 같은 궁금점들이 생겼습니다. 암호화를 했던 데이터를 받아서 복호화하려면 암호화되었던 바이트 배열을 모두 받아야 복호화를 할 수 있지 않나? 데이터를 다 받은 다음 복호화하려면 NetworkStream이나 SslStream에 이미 SendBuffer, RecvBuffer 같은 기능이 있어야 되지 않나? SslStream는 굳이 데이터를 다 받지 않아도 복호화가 가능한가? 제 질문을 끝까지 읽어주셔서 감사합니다.

  • C#
  • unity
  • 네트워크
쾌할한 도마뱀 댓글 1 좋아요 0 조회수 315

싱글(클라이언트) 게임

미해결

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

안녕하세요. 싱글 게임을 출시하려는 꿈나무?입니다. 온라인 게임 출시에는 전혀 관심이 없는데 그러면 Part3에서 진도를 멈춰도 개발이 가능한가요?

  • C#
  • unity
이린개발자 댓글 1 좋아요 0 조회수 413

Destroy 함수 질문

미해결

유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발

Object 클래스 안에 static 함수로 있다면, Random.Range(0,10); 과 같이 클래스이름.함수이름() Object.Destroy(object); 이렇게 호출해야 하는게 아닌가요?? 헷갈리네요 ㅠ

  • C#
  • unity
재민 댓글 1 좋아요 0 조회수 430

knight 애니메이션을 실행하면 아래와 같이 땅속에 박힙니다.

미해결

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

AssetStore에서 knight를 받을 수 없어서 강사님의 공유 코드에서 Knight 복사해 왔습니다. 그런데, 아래와 같이 애니메이터 컴포넌트를 넣고 실행시키면 나이트가 아래로 떨어집니다. 애니메이터를 끄고 실행하면 knight가 잘 서 있습니다. 어디를 확인해 봐야 할까요? 애니메이션을 확인해보니 애니메이션도 땅으로 꺼져있습니다. 이 애니의 몸체를 올리는 방법이 있을까요?

  • C#
  • unity
prokimssam 댓글 1 좋아요 0 조회수 756

인기 태그

인프런 TOP Writers

주간 인기글