멀티스레드 이해도 질문
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 강사님 멀티쓰레드 부분을 봤는데 여기서 개념적인 부분만 이해했고 코드도 이게 뭐하는건지만 이해 했는데 요정도만 알고 다음 스탭으로 넘어가도 될까요? 아니면 좀 깊게 이해 한 후에 다음 장을 넘어가는게 좋을까요?
- C#
- unity
- 네트워크
174만명의 커뮤니티!! 함께 토론해봐요.
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 강사님 멀티쓰레드 부분을 봤는데 여기서 개념적인 부분만 이해했고 코드도 이게 뭐하는건지만 이해 했는데 요정도만 알고 다음 스탭으로 넘어가도 될까요? 아니면 좀 깊게 이해 한 후에 다음 장을 넘어가는게 좋을까요?
해결됨
[Unity6] 나만의 서바이벌 게임 만들기
Text Object 를 만들고 애니메이션으로 좌표 를 정하고 prefab에 등록해서 사용하려는데 자꾸 첫 위치에만 TextObject들이 생성 됩니다 애니메이션에 Destory만 넣으면 정상적으로 캐릭터 주변에 TextObject가 생성되는데 어느 곳을 봐야 할까요?
해결됨
[Unity6] 나만의 서바이벌 게임 만들기
Material 'Opaque_M' has a missing parent with GUID: ffa1ddcbeccdb954fa4dd4547bab8262. UnityEngine.Renderer:get_material () Building_OBJ/<CompletedCoroutine>d__20:MoveNext () (at Assets/00_Scripts/Building/Building_OBJ.cs:92) UnityEngine.MonoBehaviour:StartCoroutine (System.Collections.IEnumerator) Building_OBJ:BuildCompleted () (at Assets/00_Scripts/Building/Building_OBJ.cs:74) Building_OBJ/<SliderFillCoroutine>d__22:MoveNext () (at Assets/00_Scripts/Building/Building_OBJ.cs:141) UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr) 코드는 아래와 같습니다 private IEnumerator CompletedCoroutine() { float current = 0.0f; float percent = 0.0f; float emissionStart = 1.0f; float emissionEnd = 20.0f; Color startColor = Color.white; Color endColor = Color.black ; while (percent < 1.0f) { current += Time.deltaTime; percent += current / 1.0f; float lerpEmission = Mathf.Lerp(emissionStart, emissionEnd, percent); renderer.material.SetColor("_EmissionColor", startColor * lerpEmission); yield return null; } 에서 float lerpEmission = Mathf.Lerp(emissionStart, emissionEnd, percent); 이 부분에서 오래가 발생합니다 chat gpt에 물어보니 Opaque_M(또는 Transparent_M)이 Material Variant인데 부모 GUID가 유실됨. 부모 GUID가 유실되었다고 하네요
미해결
[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스
안녕하세요 강사님. 매번 좋은 강의 감사합니다. 프로젝트강의를 진행하면서 도움을 받고자 전체 프로젝트 소스를 받을 수 있을까요?? 이메일 dandy83ten@gmail.com
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
while (parent[y, x].Y != y || parent[y, x].X != x) 이 while 문에서 NullReferenceException 예외가 걸리는경우. Initialize 함수를 확인해보시길 바랍니다. public void Initialize(int PosY, int PosX, Board board) { PosY = PosY; PosX = PosX; _board = board; BFS(); } 이부분을 이렇게 수정하시거나 public void Initialize(int posY, int posX, Board board) { PosY = posY; PosX = posX; _board = board; BFS(); } 또는 this. 으로 수정해도 되네요.
미해결
[유니티 실전 프로젝트] Burger Please 모작
안녕하세요~ 언제나 고급진 강의 감사합니다. 3D오랜만에 해서 헷갈리는데요. Perspective를 주로 사용했던것 같은데 여기서는 직교투영으로 세팅이 되어 있는데 왜 그런걸까요? 2D 할때 직교투영으로 많이 했었는데 3D에서 직교투영으로 하는 이유가 궁금합니다~
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
500 vs 500을 본적이 없다고 하셨는데 최대 몇명까지 다수 PK가 되는 걸 보셨나요? 인원수는 2D와 3D 게임이냐에 따라 달라지기도 하나요?
미해결
C# WPF .NET Core(7.0)
안녕하세요 강사님! 좋은 강의 감사드립니다. 업무랑 여러 상황들 때문에 강의를 못듣고 있다가 어느새 강의 종료일이 다가오고 있는데 혹시 강의 연장이 가능할지요 ㅠㅠ?
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
18. Skill AI 보고 이어서 19. Protobuf 이식 (코드 리뷰)강의를 보는데, "지난 시간에 이러이러한 강의를 했다" 라는 말씀을 하시는데 지난 시간에 서버 관련 강의가 아예 없었어서.. 이어지지가 않네요.. 어떻게 된 것인지 모르겠어서 혼란 스럽네요 ㅠㅠ 중간에 이어지는것이 없고 19번째 강의를 보려니 무슨 말씀이신지 잘 따라가지를 못하겠어요.. 갑자기 저 파일은 왜 지우시며,, 저게 뭐지 싶어서.. 혹시 제가 뭔가 못찾고있으려나요..?ㅠ
해결됨
유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
private void ConvertFirestoreDictToData(Dictionary<string, object> dict) { EquippedWeaponData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedWeaponData"]); EquippedShieldData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedShieldData"]); EquippedChestArmourData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedChestArmourData"]); EquippedBootsData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedBootsData"]); EquippedGlovesData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedGlovesData"]); EquippedAccessoryData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedAccessoryData"]); InventoryItemDataList = ConvertDictToInventoryList((List<object>)dict["InventoryItemDataList"]); if(dict.TryGetValue("EquippedWeaponData", out var equippedWeaponDataValue) && equippedWeaponDataValue is Dictionary<string, object> equippedWeaponDataDict) EquippedWeaponData = ConvertDictToUserItemData(equippedWeaponDataDict); if (dict.TryGetValue("EquippedShieldData", out var equippedShieldDataValue) && equippedShieldDataValue is Dictionary<string, object> equippedShieldDataDict) EquippedShieldData = ConvertDictToUserItemData(equippedShieldDataDict); if (dict.TryGetValue("EquippedChestArmourData", out var equippedChestArmorDataValue) && equippedChestArmorDataValue is Dictionary<string, object> equippedChestArmorDataDict) EquippedChestArmourData = ConvertDictToUserItemData(equippedChestArmorDataDict); if (dict.TryGetValue("EquippedBootsData", out var equippedBootsDataValue) && equippedBootsDataValue is Dictionary<string, object> equippedBootsDataDict) EquippedBootsData = ConvertDictToUserItemData(equippedBootsDataDict); if (dict.TryGetValue("EquippedGlovesData", out var equippedGlovesDataValue) && equippedGlovesDataValue is Dictionary<string, object> equippedGlovesDataDict) EquippedGlovesData = ConvertDictToUserItemData(equippedGlovesDataDict); if (dict.TryGetValue("EquippedAccessoryData", out var equippedAccessoryDataValue) && equippedAccessoryDataValue is Dictionary<string, object> equippedAccessoryDataDict) EquippedAccessoryData = ConvertDictToUserItemData(equippedAccessoryDataDict); if (dict.TryGetValue("InventoryItemDataList", out var inventoryItemDataListValue) && inventoryItemDataListValue is List<object> inventoryItemDataList) InventoryItemDataList = ConvertDictToInventoryList(inventoryItemDataList); } 위와 같이 수정하셨는데, trygetvalue로 체크하는것으로 바꾸었으니 아래와 같은 부분을 지워주는게 맞지 않나요? 안그러면 중복 처리 되는게 아닌가요? EquippedWeaponData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedWeaponData"]); EquippedShieldData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedShieldData"]); EquippedChestArmourData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedChestArmourData"]); EquippedBootsData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedBootsData"]); EquippedGlovesData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedGlovesData"]); EquippedAccessoryData = ConvertDictToUserItemData((Dictionary<string, object>)dict["EquippedAccessoryData"]); InventoryItemDataList = ConvertDictToInventoryList((List<object>)dict["InventoryItemDataList"]);
해결됨
AI 시대의 혁신적인 게임 개발 입문 with Unity6
기존에 VISUAL STUDIO 2022 를 사용중인데 VISUAL STUDIO CODE를 써야 더 좋을까요
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
강의 코드에서 _onAcceptHandler에 +=로 onAcceptHandler를 등록해주고 있는데, 어차피 액션 함수는 한 번만 변수에 할당해두고 이후 통신할 때마다 재사용되는 구조잖아요? 그렇다면 =로 해도 될 것 같은데, +=를 사용한 특별한 이유가 있을까요?
해결됨
[Unity6] 나만의 서바이벌 게임 만들기
Inventory #1강의 31분 28초경 오류 납니다 Assets\00_Scripts\UI\PART\INVENTORY.cs(27,23): error CS1503: Argument 1: cannot convert from 'UnityEngine.GameObject' to 'Item_Panel' go가 gameObject가 아니라는 오류 같은데 어떻게 해야할까?
미해결
2. 유니티가 어려운 입문자를 위한 입문용 게임 제작
문제 1.기즈모 라인이 scene 화면에서 안보이고 game 화면에서만 보입니다 문제 2 - 해결완료 ! - 문제 3. 스크립트 작성후 저장하니 CommandBuffer: built-in render texture type 3 not found while executing (SetRenderTarget depth buffer) UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&) 이 오류가 생기기 시작했습니다 game창에서 기즈모를 끄고 하니 오류가사라지는데 계속 기즈모를 끈 상태에서 작업해야 할까요 ?
해결됨
유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
public virtual void ShowUI() { if (!m_UIOpenAnim) { m_UIOpenAnim.Play(); } m_OnShow?.Invoke(); m_OnShow = null; } 위 함수에서 선생님 말씀으로는 m_UIOpenAnim이 있다면 플레이라고 하시는데 적는 코드는 위 처럼 m_UIOpenAnim가 널일 때 플레이라고 적혀있습니다
미해결
[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
현재 21강 화염구 강의를 시청하고 있습니다. 23분 51초에 가면 CardSelector.cs 의 SelectCard 메소드를 보는 장면이 있는데, 이 부분에서 if(i == value) { cards[i].SetAnimation("Card_Select"); MANAGER.SESSION.SelectedCard(cards[i].card); cards[i].StarCheck(); } 이렇게 코드가 있습니다. 그런데 cards[i].StarCheck() 이 메소드는 제가 이전 강의를 둘러봐도 안보이더라구요. 18강 카드 DataBase 강의의 SelectCard 메소드 수정하는 부분에서는 전혀 StarCheck 메소드가 나타나지않았는데, 위에 말한 23분 51초 장면에서는 저 코드가 떡하니 존재하네요. 혹시 이 코드는 중요한 부분이 아닌가요? 아니면 코드가 어떻게 되는지 알려주실 수 있나요? /// 09-16 추가 혹시 제가 잘못봤나싶어서 다시 강의를 보았지만 확실히 18강에서 card.cs 의 초기화 메소드 부분에 코드를 작성할 때 StarCheck 메소드는 없었습니다. 19강에서는 SkillFrame 스크립트만 소개하는 부분이였고, 20강의 10분 39초쯤에 가보면 card.cs에 갑자기 StarCheck 메소드가 이미 들어있습니다. 원래 19강에 있어야했던 것인지 모르겠지만, 현재 31강을 들은 시점에서, 31강의 10분 57초쯤으로 가시면 StarCheck 메소드 코드 전체가 나옵니다. 이 부분을 보고 직접 수정해야할 듯 합니다.
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings. UnityEngine.Input.GetKey (UnityEngine.KeyCode key) (at <88b3b0a97d794d04b5f7cb0271c4f6e6>:0) NewMonoBehaviourScript.Update () (at Assets/scripts/PlayerController.cs:15) 이런식으로 뜨는데 왜그럴까요 ㅠㅠ
미해결
[유니티 실전 프로젝트] Burger Please 모작
문 열리고 닫는 걸 구현할 때 애니메이션 쓰는 건 별로인가요?
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
플레이어부터 에셋 써야하는데 자료가 없어요 ㅠㅠ
미해결
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSharp { class Player { } } 이렇게 생성 하셨는데,Net 8로 따라 만들고 있는데 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSharp { internal class Player { } } 인터널이 class 앞에 붙네요.. 왜인가요