묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결2. 유니티가 어려운 입문자를 위한 입문용 게임 제작
에셋 드래그 넣을때 안되는데요.
이미지 드래그해서 넣을때 안되는데요마우스 저모양되고 안되는데 어떻게하나요?.
-
미해결유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
19 유저 플레이 로그 수집 추가후, 앱 크러쉬에 대해
firebase auth와 firebase firestore를 통한 부분까지 잘 진행 되었다가 analytics관련 수업 진행 이후 타이틀 씬에서 로그인 UI에서 로그인버튼 터치 이후 바로 앱이 크러쉬되면서 꺼져서 logcat을 통해 에러를 확인했는데 해결 방법을 모르겠습니다. 어떤 방식이나 흐름을 통해서 해결해야할지 알 수 있을까요?유니티 버전: 6000.0.41f1firebase sdk와 google-sign-in sdk 모두 수업에서 알려주신 것과 같은 방식으로 설치 하였고, 이후 질문글의 구글 로그인 sdk 오류와 같은 현상이 생겨서 해당 질문글의 답변과 같은 방법으로 해결하였습니다. 위 첨부한 그림과 같은 에러가 발생하는데 어디서 부터 해결해야할지 모르겠습니다.
-
미해결레트로의 유니티 C# 게임 프로그래밍 에센스
강의 업데이트 질문
레트로님의 도서가 현재 기준으로, 레트로의 유니티 6 게임 프로그래밍 에센스 개정 3판까지 나와있더라고요. 혹시 인프런 강의는 해당 유니티 버전까지의 업데이트가 안될까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
이 정도 서버의 객관적인 수준이 궁금합니다.
안녕하세요!방금 작년부터 시작해서 1년동안 해당 강의 5회독 마쳤습니다. 문득 궁금해지는데,이 정도 수준의 서버라면 개인적인 온라인 게임 프로젝트에 사용할 서버의 수준이 되는지 궁금합니다.제가 게임 회사의 서버를 본 적이 없어서 궁금해지는것 같아요. 이 정도 수준의 서버를 프레임워크처럼 앞으로 사용하여 여기서 쌓아 올리면 될 것 같은데 어떤 의견이신지 답변 해주시면 감사하겠습니다!
-
미해결절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스
prefab 관련 문의
안녕하세요.bullet을 prefab만들때 상위 wrapper를 만들어서 fbx를 자식으로 하는건 이해를 했습니다. player도 마찾가지로 wrapper를 만들고 player fbx를 자식으로 하려니 뭔가 firePos, animator등을 코드에서 찾으려니 GetComponent나 Find를 쓰기가 좀 애매하네요. 바로 자식만 찾으니...GetComponentInChildren 이런걸 쓰면 좋을지.아니면 model을 찾고 거기서 다시 찾는지...player처럼 model에 직접 콤포넌트를 붙이는 식으로도 많이 하시나요?어떤 방식으로 하는게 유지보수하는데 좋은지 궁금합니다.
-
미해결[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으로 바꿨습니다.
-
미해결Unity 6 혼자서 온라인 오목 게임 만들기 Unity + C# 서버 구현
바둑판과 돌 등 이미지들 자료 다운 버튼이 없어요
18강 결과물 파일(877MB)에서에셋 폴더에서 가져오긴했습니다만 7강에서 이미지를 다운할 버튼이 없네요
-
미해결절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스
Bullet이 방향 문제가 있어요.
안녕하세요. 강의 잘 듣고 있습니다.총알을 아래와 같이 쐈습니다.총구는 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#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
36. Serialization #3 에서 string (name) 코드 수정 질문
안녕하세요! 강의 내용은 name을 받는 과정에서 byte[] 직렬화 및 역직렬화 하기 위해 nameLen을 count하고, 이를 ArraySegment에 넣는 과정인데요. 그 과정에서 다음과 같은 코드를 사용합니다. ServerSession.cs 이고, public override ArraySegment<byte> Write()함수 내부입니다. // stringushort 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=NPCReceived packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=Received packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=Received packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=Received packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=Received packet: size=20, packetId=1Client connected: [fe80::9e56:3a99:3a3a:58be%18]:55626OnDisconnected: [fe80::9e56:3a99:3a3a:58be%18]:55626 이처럼, 첫 1회만 NPC라는 네임이 제대로 나타나는 것을 볼 수 있습니다. 그러나 count + segment.Offset 를 사용했을 경우는, 다음과 같이 제대로 나타납니다. Listening...Client connected: [fe80::9e56:3a99:3a3a:58be%18]:55458PlayerInfoReq: playerId=1001, Name=NPCReceived packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=NPCReceived packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=NPCReceived packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=NPCReceived packet: size=20, packetId=1PlayerInfoReq: playerId=1001, Name=NPCReceived packet: size=20, packetId=1OnDisconnected: [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을 사용하지 않을 경우 아마도 패킷을 덮어써서 이런 결과가 나타나는 것 같습니다.
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
PlayerPrefs 에 대해서 문의드립니다.
안녕하세요 이 강의 80% 이상 수강하고 다시 반복해서 듣고 있고 있는데요.초보지만 퀄리티 높고 유익한 강의로 오늘도 많이 배우고 있습니다. 정말 감사합니다.다름이 아니라 PlayerPrefs 에 대해서 궁금해서 문의 좀 드리려고 합니다.PlayerPrefs 에 대해서 궁금해서 구글링을 했을 때에는PlayerPrefs 의 경우 '편하게 사용할 수는 있지만 속도가 늦고 타입에 한계가 있고 특히 보안에 취약'하다고 파악을 했습니다. 사실 만들고자 하는 게임이 속도나 타입에는 크게 영향을 받지는 않지만 나중에는 굿즈나 인벤토리 데이터까지 데이터를 관리하게 되니 보안이 문제가 될 것 같아서 문의 드립니다.궁금한 점은PlayerPrefs 그럼에도 실제 프로젝트에서도 사용이 되는지?만약 사용된다면 PlayerPrefs 보안관련 작업을 따로 수행하나요?구글링을 하면서 Easy Save 라는 에셋 사용까지 이르게 되었는데, Easy Save 툴로 암호화된 파일로 유저 데이터를 로컬과 게임 규모에 따라서 서버에 저장해서 사용하는 것이 안정성이 있다고 파악을 했는데 이것도 괜찮은 방향인지 문의드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
외부 컴퓨터와의 통신 방법이 궁금합니다
직접적으로 다른 컴퓨터와 통신하는 방법같은 것은 수업 커리큘럼에 나와있지 않던데어떻게 하면 되는 건가요? 포트포워딩과 방화벽 인바운드 설정만 추가하면외부 컴퓨터에 프로그램을 깔아서 통신할 수 있는 건가요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
MMO 3D 게임 서버의 스킬 판정을 어떻게 하면 좋을까요?
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 인지 판단두 번째 방법캐릭터가 점유하는 셀을 더 작게 쪼개서 캐릭터 히트 박스나 조이스틱 처럼 살짝 이동할 수도 있고, 전방향 이동에 위화감이 없도록 구현 현업에서는 어떻게 구현하는지 궁금합니다!
-
해결됨두고두고 써먹는 유니티 VR
ray가 컨트롤러에서 나가는 부분에 대한 질문
광선이 컨트롤러 헤드 부분에 딱 붙어서 안나가고 게임뷰에서 광선이 조금만 보이는데 이런경우 어디를 수정해야 하나요??
-
미해결[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) 계속 이렇게 뜨는데 어떻게 해야 하죠
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
42.Boomb 에서 진행 못함요
저는 전부터 꾸준히 질문을 계속해 왔었던 사람인데요개발 초보이긴 하지만 카드 셀렉터 문제도 스스로 결국 고치고 잘 따라 왔습니다. 하지만 또 문제가 생겼습니다. 39강 부터 입니다저는 개발자님의 에셋 5개를 가지고 있는 데요개발자님의 오브젝트를 보면서 Treasure 이미지는 보이지 않아 그냥 대체 하는 것으로 메모 하고 스크립트 작성하고 넘어왔습니다하지만 42강 부터 게임 오브젝트 미리 조합하셔서 다 만드셨기에 초보자 로선 스스로 에셋들을 조합해서 폭탄 연출 만드는 것은 조금 버겁습니다.혹시 폭탄 연출 오브젝트를 어떻게 만드셨는지, 어떤 에셋에 있는 것을 활용하여 만드셨는 지 방법을 자세히 알려주실 수 있으신가요?
-
해결됨두고두고 써먹는 유니티 VR
ray 가 하나만 나가는데 문제가 뭘까요
controller tracking 설정까지 끝냈는데, 핑크색상으로 ray가 두개가 안나가고 하나만 나가는데 문제가 뭘까요?
-
미해결유니티 Addressable 을 이용한 패치 시스템 구현
Unity6로 작업 중 수업과 다른 내용 및 이슈 공유
올라온지 기간이 많이 지난 강의이긴하지만 아직 보는 분들이 꽤 있는거 같아 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)로 바꾸시면 됩니다.
-
미해결[Unity] 함께 만들어가는 방치형 게임 개발
구현 문의
안녕하세요. 강의를 보면서 렌더 텍스처에 대해 알게되었습니다. 다름이 아니라 렌더 텍스처를 사용해서 캐릭터들을 보여주는 방법도 있는데 새로운 Scene을 만들어서 그 Scene에 보여줘도 되는건가요? 혹시 렌더 텍스처를 활용해 구현하면 장점이 있나요?
-
해결됨[Unity] 멀티플레이 게임 필수 기능 구현 - 서버 & 데이터 관리까지!
유니티6버전사용해야하나요?
현재 유니티 버전에서 사용하고싶은데 반드시유니티6버전을 사용해야하나요?유니티 이전버전에서 URP를 설치해서 사용해도 되는지 궁금합니다.
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
다운 받은 자료 용량 관련 문의입니다.
맨처음 받은 자료 깃 스테이지에 올리려면 '큰 파일 감지됨' 으로 나오는데, 세팅 방법에 대한 문의.