inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Part2에 대한 질문..

미해결

절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part 1)

강사님, 강의가 Part1 다음에 Part3이 나왔는데.. Part2는 어떻게 되는건지 궁금합니다.

  • C#
  • unity
  • photon
꿈냥이 댓글 1 좋아요 0 조회수 76

디버그시 발생하는 오류에 대해 질문있습니다

미해결

1. 유니티가 어려운 입문자를 위한 강의

유니티6.0 버전입니다 선생님 화면과는 조금 다른데 c#스크립트 하나 만들어주고 강의대로 hello world 작성해주었습니다 맨 오른쪽에 호환되지 않음은 왜 뜨는지 모르겠습니다 ㅠ 작성한 스크립트를 드래그하여 집어넣으면 추가할수없다는 오류가 발생합니다

  • C#
  • unity
jung95559 댓글 4 좋아요 0 조회수 151

현재 유니티 6버전 코어선택 화면에서

해결됨

1. 유니티가 어려운 입문자를 위한 강의

선생님 현재 유니티6 버전에 코어 선택화면에서 3D(built in render pipeline) 과 3D mobile 로 나뉘어져 있는데 3D mobile 로 들어가면 될까요?

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

에셋 드래그 넣을때 안되는데요.

미해결

2. 유니티가 어려운 입문자를 위한 입문용 게임 제작

이미지 드래그해서 넣을때 안되는데요 마우스 저모양되고 안되는데 어떻게하나요? .

  • C#
  • unity
jeh7977 댓글 2 좋아요 0 조회수 243

asp.net blazor 강의는 현재 계획없으신가요

해결됨

C# 프로그래밍 기초부터 실전 활용까지

C#강의는 잘보고있습니다 asp.net 라는 웹프레임워크도 관심이 생겻는데 강의찾기가 쉽지않네요

  • C#
  • .net
mo B 댓글 2 좋아요 0 조회수 103

강의 업데이트 질문

미해결

레트로의 유니티 C# 게임 프로그래밍 에센스

레트로님의 도서가 현재 기준으로, 레트로의 유니티 6 게임 프로그래밍 에센스 개정 3판까지 나와있더라고요. 혹시 인프런 강의는 해당 유니티 버전까지의 업데이트가 안될까요?

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

이 정도 서버의 객관적인 수준이 궁금합니다.

미해결

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

안녕하세요! 방금 작년부터 시작해서 1년동안 해당 강의 5회독 마쳤습니다. 문득 궁금해지는데, 이 정도 수준의 서버라면 개인적인 온라인 게임 프로젝트에 사용할 서버의 수준이 되는지 궁금합니다. 제가 게임 회사의 서버를 본 적이 없어서 궁금해지는것 같아요. 이 정도 수준의 서버를 프레임워크처럼 앞으로 사용하여 여기서 쌓아 올리면 될 것 같은데 어떤 의견이신지 답변 해주시면 감사하겠습니다!

  • C#
  • unity
  • 네트워크
아휘 댓글 2 좋아요 0 조회수 228

생성자의 이름 선언

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

생성자의 이름은 무조건 클래스 이름과 같아야 한다. 반환하는 타입은 아무것도 적혀 있으면 안된다. 아무것도 반환하지 않는 void도 사용할 수 없다.

  • C#
우장이 댓글 1 좋아요 0 조회수 89

prefab 관련 문의

미해결

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

안녕하세요. bullet을 prefab만들때 상위 wrapper를 만들어서 fbx를 자식으로 하는건 이해를 했습니다. player도 마찾가지로 wrapper를 만들고 player fbx를 자식으로 하려니 뭔가 firePos, animator등을 코드에서 찾으려니 GetComponent나 Find를 쓰기가 좀 애매하네요. 바로 자식만 찾으니... GetComponentInChildren 이런걸 쓰면 좋을지. 아니면 model을 찾고 거기서 다시 찾는지... player처럼 model에 직접 콤포넌트를 붙이는 식으로도 많이 하시나요? 어떤 방식으로 하는게 유지보수하는데 좋은지 궁금합니다.

  • C#
  • unity
굿데이 댓글 1 좋아요 0 조회수 97

카드애니메이션 관련 오류

해결됨

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

카드 애니메이터에서 한번만 Card_PointerDown, Card_PointerUP을 Play하고 계속 Empty 애니메이션만 연속적으로 Play를 합니다. 코드와 함께 Animation, Animator 인스펙터 창을 공유드리겠습니다. using UnityEngine; using UnityEngine.EventSystems; public class Card : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler { Animator animator; public void OnPointerEnter(PointerEventData eventData) { animator.Play("Card_PointerDown"); } public void OnPointerExit(PointerEventData eventData) { animator.Play("Card_PointerUP"); } private void Start() { animator = GetComponent<Animator>(); } } 나머지도 LoopTime은 껐습니다. UpdateMonde를 UnScaledTime으로 바꿨습니다.

  • C#
  • unity
  • 유니티6
댓글 1 좋아요 0 조회수 92

바둑판과 돌 등 이미지들 자료 다운 버튼이 없어요

미해결

Unity 6 혼자서 온라인 오목 게임 만들기 Unity + C# 서버 구현

18강 결과물 파일(877MB)에서에셋 폴더에서 가져오긴했습니다만 7강에서 이미지를 다운할 버튼이 없네요

  • C#
  • unity
  • 네트워크
  • 유니티6
강승진 댓글 1 좋아요 0 조회수 66

Bullet이 방향 문제가 있어요.

미해결

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

안녕하세요. 강의 잘 듣고 있습니다. 총알을 아래와 같이 쐈습니다. 총구는 void Shoot() { Debug.Log($"FirePos Position: {firePos.position}, Rotation: {firePos.eulerAngles}"); Instantiate(bulletPrefab, firePos.position, firePos.rotation); } 총알 자체는 이렇게 힘을 주었습니다. void Start() { rb = GetComponent<Rigidbody>(); rb.AddRelativeForce(transform.forward * speed); } AddForce를 하면 정확히 잘 나가는데 AddRelativeForce를 하면 2배로 각이 회전되어 날라갑니다. 0도에서는 직진, 45도에서는 90도? 이런식으로 날라가네요. 로그로 각도를 확인해봐도 생성시 전역좌표는 문제가 없어보입니다. 제가 뭔가 잘못한것일까요? 확인 부탁드립니다.

  • C#
  • unity
댓글 3 좋아요 0 조회수 164

36. Serialization #3 에서 string (name) 코드 수정 질문

해결됨

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

안녕하세요! 강의 내용은 name을 받는 과정에서 byte[] 직렬화 및 역직렬화 하기 위해 nameLen을 count하고, 이를 ArraySegment에 넣는 과정인데요. 그 과정에서 다음과 같은 코드를 사용합니다. ServerSession.cs 이고, public override ArraySegment<byte> Write() 함수 내부입니다. // string ushort nameLen = (ushort)Encoding.Unicode.GetByteCount(name); success &= BitConverter.TryWriteBytes(s.Slice(count, s.Length - count), nameLen); count += sizeof(ushort); // nameLen(2) Array.Copy(Encoding.Unicode.GetBytes(name), 0, segment.Array, count, nameLen); count += nameLen; // name(n) 여기서 Array.Copy(Encoding.Unicode.GetBytes(name), 0, segment.Array, count, nameLen); 이 부분에서 count 대신 count + segment.Offset 를 사용하는 것이 올바르지 않을까 하여 질문드립니다. 이는 for문을 포함하여 코드 실행시 서버 측에서 다음과 같이 나타나기 때문입니다. Listening... PlayerInfoReq: playerId=1001, Name=NPC Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name= Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name= Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name= Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name= Received packet: size=20, packetId=1 Client connected: [fe80::9e56:3a99:3a3a:58be%18]:55626 OnDisconnected: [fe80::9e56:3a99:3a3a:58be%18]:55626 이처럼, 첫 1회만 NPC라는 네임이 제대로 나타나는 것을 볼 수 있습니다. 그러나 count + segment.Offset 를 사용했을 경우는, 다음과 같이 제대로 나타납니다. Listening... Client connected: [fe80::9e56:3a99:3a3a:58be%18]:55458 PlayerInfoReq: playerId=1001, Name=NPC Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name=NPC Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name=NPC Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name=NPC Received packet: size=20, packetId=1 PlayerInfoReq: playerId=1001, Name=NPC Received packet: size=20, packetId=1 OnDisconnected: [fe80::9e56:3a99:3a3a:58be%18]:55458 물론 이후 리팩토링을 통해 작성한 코드에서는 전부 제대로 나타납니다. ushort nameLen = (ushort)Encoding.Unicode.GetBytes(this.name, 0, this.name.Length, segment.Array, segment.Offset + count + sizeof(ushort)); (리팩토링 코드) Offset을 사용하지 않을 경우 아마도 패킷을 덮어써서 이런 결과가 나타나는 것 같습니다.

  • C#
  • unity
  • 네트워크
Rein 댓글 2 좋아요 0 조회수 106

PlayerPrefs 에 대해서 문의드립니다.

해결됨

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

안녕하세요 이 강의 80% 이상 수강하고 다시 반복해서 듣고 있고 있는데요. 초보지만 퀄리티 높고 유익한 강의로 오늘도 많이 배우고 있습니다. 정말 감사합니다. 다름이 아니라 PlayerPrefs 에 대해서 궁금해서 문의 좀 드리려고 합니다. PlayerPrefs 에 대해서 궁금해서 구글링을 했을 때에는 PlayerPrefs 의 경우 '편하게 사용할 수는 있지만 속도가 늦고 타입에 한계가 있고 특히 보안에 취약'하다고 파악을 했습니다. 사실 만들고자 하는 게임이 속도나 타입에는 크게 영향을 받지는 않지만 나중에는 굿즈나 인벤토리 데이터까지 데이터를 관리하게 되니 보안이 문제가 될 것 같아서 문의 드립니다. 궁금한 점은 PlayerPrefs 그럼에도 실제 프로젝트에서도 사용이 되는지? 만약 사용된다면 PlayerPrefs 보안관련 작업을 따로 수행하나요? 구글링을 하면서 Easy Save 라는 에셋 사용까지 이르게 되었는데, Easy Save 툴로 암호화된 파일로 유저 데이터를 로컬과 게임 규모에 따라서 서버에 저장해서 사용하는 것이 안정성이 있다고 파악을 했는데 이것도 괜찮은 방향인지 문의드립니다.

  • C#
  • unity
  • 객체지향
Razer 댓글 2 좋아요 0 조회수 145

외부 컴퓨터와의 통신 방법이 궁금합니다

미해결

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

직접적으로 다른 컴퓨터와 통신하는 방법같은 것은 수업 커리큘럼에 나와있지 않던데 어떻게 하면 되는 건가요? 포트포워딩과 방화벽 인바운드 설정만 추가하면 외부 컴퓨터에 프로그램을 깔아서 통신할 수 있는 건가요?

  • C#
  • unity
  • 네트워크
이세진 댓글 1 좋아요 0 조회수 125

MMO 3D 게임 서버의 스킬 판정을 어떻게 하면 좋을까요?

미해결

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

3D MMO 중에서 소수점 단위로 이동하고 모든 방향을 바라볼 수 있는 게임은 스킬 판정을 어떻게 하면 좋을까요? 어려운 점은 모든 방향을 볼 수 있는 캐릭가 스킬을 사용하면 스킬 범위는 float 형태로 나와야 한다는 것 인데요. 기존 강의에서 배운 맵 좌표는 int로 관리할텐데, 3D 게임은 오브젝트 위치 정보를 float 형태로 관리하기 때문에 이 둘을 동기화 하는 방법을 떠올리는게 어려웠습니다. 루키스님 질의응답과 상상을 통해서 두 가지 방법을 생각해봤습니다.(맵에 높이는 없이 x, y 축만 생각하겠습니다.) 첫 번째 방법 서버의 맵은 2D 타일 맵(int 좌표)으로 관리하면서 캐릭터는 정밀한 위치(float 좌표)를 가지고 있어, 스킬 히트 판단 시 정밀 판단 로직을 추가한다. 아래 그림처럼 회색 캐릭터의 정확한 위치는 캐릭터가 가지고 있으며, 점유하고 있는 셀(분홍색 박스 4개)은 서버 맵에 저장합니다. 현재 서버 맵에 (0,0), (1,0), (0,1), (1,1)에는 회색 캐릭터가 (3,2)에는 빨간색 캐릭터가 있습니다. 빨간 캐릭터가 방사형 or 투사체를 발사했을 때 서버는 서버는 서버 맵에서 스킬 효과 범위에 들어갈 것 같은 예상 후보가 있는지 탐색합니다. 투사체가 닿는 범위인 (1,0), (2,0), (3,0), (2,1), (3,1) 을 대상으로 예상 후보 탐색 예상 후보 셀에 포함된 캐릭터가 있는지 확인하고 해당 캐릭터가 실제 효과 범위에 들어가는지 판단합니다. (1,0) 셀에 회색 캐릭터가 있을 수 있으니 스킬 효과 범위 min < 캐릭터 중심점 기반 히트박스 < 스킬 효과 범위 max 인지 판단 두 번째 방법 캐릭터가 점유하는 셀을 더 작게 쪼개서 캐릭터 히트 박스나 조이스틱 처럼 살짝 이동할 수도 있고, 전방향 이동에 위화감이 없도록 구현 현업에서는 어떻게 구현하는지 궁금합니다!

  • C#
  • unity
  • mysql
  • MMORPG
  • ef-core
  • asp.net-web-api
홍지범 댓글 2 좋아요 0 조회수 236

재귀호출? 오류나는데 왜 이래요 ?

미해결

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

StackOverflowException: The requested operation caused a stack overflow. Managers.Init () (at Assets/Scripts/Managers/Managers.cs:25) Managers.get_Instance () (at Assets/Scripts/Managers/Managers.cs:8) 계속 이렇게 뜨는데 어떻게 해야 하죠

  • C#
  • unity
Qwe Asd 댓글 6 좋아요 0 조회수 233

42.Boomb 에서 진행 못함요

해결됨

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

저는 전부터 꾸준히 질문을 계속해 왔었던 사람인데요 개발 초보이긴 하지만 카드 셀렉터 문제도 스스로 결국 고치고 잘 따라 왔습니다. 하지만 또 문제가 생겼습니다. 39강 부터 입니다 저는 개발자님의 에셋 5개를 가지고 있는 데요 개발자님의 오브젝트를 보면서 Treasure 이미지는 보이지 않아 그냥 대체 하는 것으로 메모 하고 스크립트 작성하고 넘어왔습니다 하지만 42강 부터 게임 오브젝트 미리 조합하셔서 다 만드셨기에 초보자 로선 스스로 에셋들을 조합해서 폭탄 연출 만드는 것은 조금 버겁습니다. 혹시 폭탄 연출 오브젝트를 어떻게 만드셨는지, 어떤 에셋에 있는 것을 활용하여 만드셨는 지 방법을 자세히 알려주실 수 있으신가요?

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

Unity6로 작업 중 수업과 다른 내용 및 이슈 공유

미해결

유니티 Addressable 을 이용한 패치 시스템 구현

올라온지 기간이 많이 지난 강의이긴하지만 아직 보는 분들이 꽤 있는거 같아 Unity6로 테스트 해보는 중에 생겼던 이슈 공유 드립니다. Addressable Settings 에서 Disable Catalog Update On Startup 옵션 Catalog - Only update catalogs manually 로 변경 됨. Unity6로 프로젝트 생성시 처음에 Allow download over HTTP 옵션이 해제 되어있더라구요. 이 때문에 파일을 제대로 읽어오지 못해 ResourceManager Exception이 뜹니다. Project Settings - Player - Other Settings 에서 Allow download over HTTP 옵션을 Always allowed로 바꾸시면 됩니다. 추가 : Editor환경에서 서버 데이터를 받아서 플레이 하는 법 Addressables Groups window 에서 Play Mode Script 를 Use Existing Build (Andorid)로 바꾸시면 됩니다.

  • C#
  • unity
laha 댓글 1 좋아요 3 조회수 174

구현 문의

미해결

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

안녕하세요. 강의를 보면서 렌더 텍스처에 대해 알게되었습니다. 다름이 아니라 렌더 텍스처를 사용해서 캐릭터들을 보여주는 방법도 있는데 새로운 Scene을 만들어서 그 Scene에 보여줘도 되는건가요? 혹시 렌더 텍스처를 활용해 구현하면 장점이 있나요?

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

인기 태그

인프런 TOP Writers

주간 인기글