inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

xr interaction toolkit를 이용하여 다른 게임을 만드려고 하는데 문제가 있습니다!

해결됨

두고두고 써먹는 유니티 VR

현재의 게임과는 다르게 자유이동을 사용하여 게임을 만들어보고 싶은데 자유이동을 사용하면 벽을 뚫고 지나가는 문제를 해결할 방법을 모르겠습니다. 실질적으로 움직이는 main camera에 콜라이더와 rigid body를 넣어 시도해 보기도 하고 임시로 오브젝트를 넣어서 충돌을 유도하기도 하였으나 이 방법 모두 여전히 벽을 통해 이동하면 벽을 뚫고 이동하게 됨니다. 해외쪽을 찾아봐도 벽에 hmd가 물리적으로 들어갔을때 화면을 까맣게 가려주는 기능만 찾을 수 있었습니다. 이런경우 어떻게 해결할수있을까요?

  • unity
  • VR/AR
  • 유니티-vr
harrychoi8373 댓글 2 좋아요 0 조회수 274

.net core가 중단되었다고 하네요..

미해결

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

.net core가 중단되었다고 하네요..

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

강의에서 만드신 코드들에 대한 짧은 질문

미해결

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

안녕하세요. 본인은 게임 클라이언트 개발자를 희망하지만, 인디게임 수준의 서버는 직접 만들기 위해 본 강의를 3회독 하는 중입니다. 강의해 주신 코드들은 예를들면 Listener 클래스를 직접 만드셨는데, TcpListener이란 클래스가 있더라고요. 대형 게임 회사는 자체적으로 서버를 구축하니까 Listener클래스를 비롯한 모든 서버를 최대한 하드코딩 하는건가요? TcpListener같이 구현되어있는 것들을 사용하지 않는 이유가 있을까요? 물론 Listener 클래스를 직접 만들면서 지식이 깊어지고 그런건 매우 좋습니다. 하지만 제가 배우고 작성하는 클래스들의 완성의 수준을 가늠잡을 수 없어 불안합니다. 그래서 일부 클래스들은 TcpListener 같이 이미 나와있는 클래스들을 섞어가며 사용해보고 싶은데 이런 부분에서 강사님 의견이 궁금합니다.

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

파이어베이스 유저 저장 주기가 고민되요.

해결됨

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

첫번째 질문.. 유저데이터 저장을 위해서 주기적으로 파이어베이스 리얼타임 데이터베이스에 쓰기로 저장을 해주고 싶은데요.. 요즘 파이어 베이스에 관심을 가지고 이래저래 알아보고있는데 1분주기로 데이터를 리얼타임데이터에 쓰기(저장)을 하게되면 유저가 적을경우는 괜찮을수있겠지만, 왠지.... 많은 유저가 접속을 한 상황에서 그 유저들의 데이터가 1분마다 저장이 계속 된다면 파이어베이스 서버이용요금?? 도 엄청날것같은데 일정시간마다 주기적으로 파베에 저장되게 해도 괜찮을까요? 한명 유저당 파베에 아무리 자주 저장하더라도 파베 사용량 데이터량 변화는 크게 없는것인지... 아직 파베에 대한 지식과 파베 요금 관련해서 아무런 개념이 없어서인지 잘 모르겠네요 ㅜㅜ ---------------------------------------------------------------------------------------- 두번째 질문.. 게임을 빌드 한 후 APK 파일을 앱플레이어(녹스, LD플레이어)에 설치후 플레이 하다가 (정상적인 게임종료를 누르는게 아닌, 상단탭의 x버튼을 눌러서) 강제로 게임을 꺼버리는경우 OnDestroy 함수가 제대로 호출이 안되는건지.. 게임 데이터를 저장하지않은채로 게임이 꺼지더라구요. (혹시나해서, OnApplicationQuit() 함수와 OnDestroy() 함수 내용에도 게임이 꺼지거나 파괴될때 '파베에 쓰기'가 되게 코드를 짰을때, 정상적으로 백버튼을 눌러서 게임종료하겠다는 버튼을 누르면 저장이 잘됬는데, 갑자기 또는 강제로 게임이 의도치 않게 게임이 꺼지게되면 데이터가 저장이 안되던데... 혹시 좋은 방법이 있을까요?? )

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

첫 강의 manager 가 재생이 안됩니다.

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

첫 강의 manager 가 재생이 안됩니다.

  • C#
  • unity
  • MMORPG
mgs1425 댓글 5 좋아요 0 조회수 346

T2는 어떻게된걸까요?

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

T2가 지금 멈춰있는것같은데.. 어떻게 진행 되는걸까요?ㅜㅜ

  • C#
  • unity
  • MMORPG
mgs1425 댓글 1 좋아요 0 조회수 456

9주차 강의 'Stage 분할' 이 로딩만 뜨고 재생되지 않습니다

해결됨

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

전후 강의 동영상은 정상적으로 재생이 되는데, 이 강의는 로딩만 계속되고 화면이 나오지 않네요. 혹시 제가 뭐 세팅을 변경해야 하는 것이 있으면 알려주시기 바랍니다. 맥/윈도우 크롬 브라우저를 이용해서 수강 중입니다. 가능하다면 빠른 해결이 되었으면 합니다.

  • C#
  • unity
  • MMORPG
rurcgm 댓글 1 좋아요 0 조회수 180

Animator오류

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

안녕하세요 똑같이 다 수정했는데 공격 애니가 실하지않고 사진처럼 저 오류 가나옵니다 뭐가 잘못되고있는건가요 선생님

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
anhyeokjun 댓글 2 좋아요 0 조회수 215

Selct에 대해서 질문드립니다.

해결됨

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

안녕하세요 강사님 궁금한게 있어서 질문 드립니다. 제가 구현하고 싶은 부분은 리그오브 레전드의 스마트키 기능과 같은 부분입니다. 제가 이해한 것이 맞다면 강의 안에서는 Select로 비동기적 처리를 할 때 추가 입력을 고정된 입력값(마우스 클릭)을 받아서 Select의 비동기적 처리를 구현한것으로 이해했습니다. 만약 제가 롤의 SmartKey 기능과 같은 눌렀다가 키를 뗄때(스킬이 등록된 키마다 받아야할 입력이 달라짐)의 입력으로 비동기적 처리를 구현하고 싶다면 어떤식으로 구현해야 할까요? 제가 고민해본 방법은 다음과 같습니다. Skill에 ReleaseInput()이라는 함수를 만든다. 그리고 TargetSelectionAction에 똑같은 이름의 ReleaseInput() 함수를 만든다. ReleaseInput() 함수는 SkillSlot의 바인딩된 키 값을 기준으로 키를 뗄 때 호출된다. Skill의 RealeseInput()호출되면 Skill -> TargetSearch -> TargetSelectionAction 의 순서로 TargetSelection에 접근하여 TargetSelection의 추가로 만든 releaseInput()함수를 호출한다. TargetSelectionAction에 releaseInputOccur이벤트를 만들고 ReleaseInput()함수로 이 이벤트를 Invoke해준다. "키를 뗌" 액션을 Select의 비동기 방식에서 추가 입력값으로 이용하고 싶다면 releaseInputOccur이벤트에 추가적인 함수를 구독하여 기능을 구현한다. 이런 식으로 생각해봤는데. 제가 아직 이 TargetSearcher 시스템에 이해도가 부족해서, 구현해주신 TargetSearcher 의 흐름을 망치지 않고 추가 기능을 만든 것 인지 아직 헷갈립니다. 그래서 강사님께서 SmartKey방식을 구현하신다면 어떤 방식으로 구현하실지 궁금해서 여쭤봅니다.

  • unity
  • modules
최성호 댓글 2 좋아요 0 조회수 226

강의 완료 시기

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

강의 완료시기가 언제쯤인지 알 수 있을까요?

  • C#
  • unity
  • MMORPG
ljy2256 댓글 1 좋아요 0 조회수 339

네트워크 오브젝트 설정

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요 안녕하세요 선생님 Hero에게 network Object 넣었을때 hash값이 저는 0이고 선생님은 다르네요 그래서 Default network Prefabs 에 자동으로 추가되지않아서 플러스 버튼 눌러서 추가하면 정상 작동되긴하나 선생님이랑 방법이 틀려서 찝찝합니다 뭐를 실수하고있는건가요

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
anhyeokjun 댓글 3 좋아요 0 조회수 189

싱글턴 적용된 클래스가 현재 씬을 재로드하면 이상해요

해결됨

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

싱글턴이 적용된 클래스는 사라지지 않고 또 한 개만 존재해야 할 텐데 가끔식 씬을 재로드시 한 개가 더 생깁니다

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

플레이에는 문제가 없는데 빌드에서 문제가 계속해서 발생하네요.

미해결

유니티 2D 로그라이크 게임 만들기 [한글자막]

Android 플랫폼에서 빌드하려고 하는데 아무리 해도 해결이 안되는 오류가 발생하네요. Building Library/Bee/artifacts/Android/d8kzr/ libil2cpp.so failed with output: ld.lld: error: undefined symbol: JS_FileSystem_Sync >>> referenced by Assembly-CSharp.cpp:14373 (Library/Bee/artifacts/Android/il2cppOutput/cpp/Assembly-CSharp.cpp:14373) >>> Library/Bee/artifacts/Android/d8kzr/gqh0me0k2d9s.o:(GameManager_JS_FileSystem_Sync_m246A574BB47ADA18D3D17EE297B47F03B281F5C3) >>> referenced by Assembly-CSharp.cpp:16220 (Library/Bee/artifacts/Android/il2cppOutput/cpp/Assembly-CSharp.cpp:16220) >>> Library/Bee/artifacts/Android/d8kzr/gqh0me0k2d9s.o:(MainMenu_JS_FileSystem_Sync_m6882592881D0992397C77FED445CBB536B836232) clang++: error: linker command failed with exit code 1 (use -v to see invocation) UnityEditor.BuildPlayerWindow:BuildPlayerAndRun () (at /Users/bokken/build/output/unity/unity/Editor/Mono/BuildPlayerWindow.cs:200) Chatgpt 한테 물어보고 제시한 해결책 전부 다 해봤는데도 안됩니다. 부탁드립니다 - 빈 프로젝트에 파일 추가하면서 해봤는데 그 곳에서는 빌드가 잘됌 - WebGL 관련 함수 사용 안함 - Library 지우고 다시 해봤음 - Android SDK & NDK Tools 있음

  • unity
이경구 댓글 1 좋아요 0 조회수 429

UseInAction에 대해서 질문드립니다.

미해결

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

제가 TargetSelectionTimingOption을 useInAction으로 했는데 SpawnSkillObjectAction클래스의 Apply부분에서 에러가 발생합니다. public override void Apply(Skill skill) { foreach (var targetPosition in skill.TargetPositions) // 이 부분에서 에러 발생 { var skillObject = GameObject.Instantiate(skillObjectPrefab).GetComponent<SkillObject>(); skillObject.transform.position = targetPosition + (Vector3.up * 0.001f); skillObject.Setup(skill, targetSearcherForSkillObject, duration, applyCount, objectScale); } } 에러는 다음 오류가 발생합니다. NullReferenceException: Object reference not set to an instance of an object SpawnSkillObjectAction.Apply (Skill skill) (at Assets/Scripts/Core/Skill/Action/SpawnSkillObjectAction.cs:25) Skill.Apply (System.Boolean isConsumeApplyCount) (at Assets/Scripts/Core/Skill/Skill.cs:643) InActionState.Apply () (at Assets/Scripts/Core/Skill/StateMachine/State/InActionState.cs:75) InActionState.Enter () (at Assets/Scripts/Core/Skill/StateMachine/State/InActionState.cs:23) StateMachine`1[EntityType].ChangeState (StateMachine`1+StateData[EntityType] newStateData) (at Assets/Scripts/Core/StateMachine/StateMachine.cs:88) StateMachine`1[EntityType].ChangeState (State`1[EntityType] newState, System.Int 32 layer) (at Assets/Scripts/Core/StateMachine/StateMachine.cs:99) StateMachine`1[EntityType].TryTransition (System.Collections.Generic.IReadOnlyList`1[T] transtions, System.Int 32 layer) (at Assets/Scripts/Core/StateMachine/StateMachine.cs:117) StateMachine`1[EntityType].Update () (at Assets/Scripts/Core/StateMachine/StateMachine.cs:135) Skill.Update () (at Assets/Scripts/Core/Skill/Skill.cs:396) SkillSystem.UpdateSkills () (at Assets/Scripts/Core/Skill/SkillSystem.cs:165) SkillSystem.Update () (at Assets/Scripts/Core/Skill/SkillSystem.cs:76)

  • unity
  • modules
최성호 댓글 2 좋아요 0 조회수 120

스핀락이 올바르게 작동하지 않는 것 같습니다.

미해결

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

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace ServerCore { class SpinLock { volatile int _locked = 0; // true: 잠겨있음, false: 잠겨있지 않음 public void Acquire() { while(true) { ////Interlocked.Exchange의 반환값은 원래값이다. //int original = Interlocked.Exchange(ref _locked, 1); ////original == 0이면 잠금 성공, original == 1이면 잠금 실패 //if (original == 0) //{ // //내꺼 // break; //} //CAS (Compare-And-Swap) 함수라고 한다. int expected = 0; int desired = 1; if(Interlocked.CompareExchange(ref _locked, desired, expected) == expected) { break; } } } public void Release() { //잠김을 푼다. _locked = 0; } } class Program { static int _num = 0; static SpinLock _lock = new SpinLock(); static void Thread_1() { for (int i = 0; i < 1000000; i++) { _lock.Acquire(); _num++; _lock.Release(); } } static void Thread_2() { for (int i = 0; i < 1000000; i++) { _lock.Acquire(); _num--; _lock.Release(); } } static void Main(string[] args) { Task task = new Task(Thread_1); Task task2 = new Task(Thread_2); task.Start(); task2.Start(); task.Wait(); Console.WriteLine(_num); } } } 다음과 같이 작업 후 디버깅해보았는데 결과값이 때로는 맛이 간 값을 출력합니다. 제시된 코드와 같은 것 같은데 이유를 모르겠습니다! 그리고 다음과 같은 상황일 때 어떻게 브레이크포인트를 잡아서 버그수정을 시도해야 할 지 감이 안잡힙니다ㅠㅠ

  • C#
  • unity
  • 네트워크
모루 댓글 1 좋아요 0 조회수 141

Instantiate 관련 질문 드립니다

미해결

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

GameObject Instantiate(string key, Transform parent = null, bool pooling = false) 함수에서 GameObject prefab = Load<GameObject>($"{key}"); 이 부분에 Load<GameObject>(key)가 계속 null이 반환 되는데 왜 그런걸까요 나머진 전부 똑같이 했고 어드레서블에 넣은 프리팹만 제가 아무 오브젝트나 이름만 바꿔서 프리팹으로 만든 뒤에 넣은거 말곤 차이가 없는데 이게 차이가 있는걸까요

  • C#
  • unity
  • object-pooling
강민훈 댓글 1 좋아요 0 조회수 175

NetworkVariable<>, ClientNetworkTransform 사용 질문

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

강의를 보던 중 궁금한 점이 생겼습니다. 몬스터의 체력변경을 수동으로 ServerRpc,ClientRpc를 사용했는데, NetworkVariable<>을 사용하지 않으신 이유가 있으실까요? NetworkVariable<int> 같은 형식으로 해당 변수를 선언하면 그 변수가 알아서 다른 클라이언트에게 전파되어 동기화 된다고 배웠습니다. ugs 패키지를 임포트하고나면 오브젝트에 ClientNetworkTransform 컴포넌트를 부착할 수 있더라구요. 이걸 추가하면 그 오브젝트의 TRS(이동,회전,크기) 모두 자동으로 동기화를 해주는 듯 하던데 이것을 사용하지 않으신 이유가 있으실까요? 처음 배우는 입장에서 동기화를 신경쓰기가 제일 까다로운 부분인데 이 컴포넌트를 사용하면 적어도 트랜스폼에 한정해서는 동기화에서 도움을 받을 수 있는 것처럼 보입니다.

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
신승혁 댓글 2 좋아요 0 조회수 211

02-05 레벨시작(마지막 강의)에서 SelectLevelController오브젝트의 SelectLevelController 컴포넌트조작

해결됨

[유니티6] 따라하면서 배우는 실전 게임 제작 2D Platformer

SelectLevelController 컴포넌트를 우클릭해서, Reset Data 하는 것의 의미가 무엇이죠? 해당 스크립트를 다시 로드하는 건가요? 무슨 원리인지 궁금해요. 추가로, 그렇다면 만약 앞서처럼 레벨구성을 바꾸게 되면, 항상 이렇게 해주어야 각각의 레벨들이 제대로 반영되게 되는 거죠?

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

Game화면에서 캐릭터가 끊기듯 움직입니다.

해결됨

새싹부터 시작하는 Unity 게임 개발

섹션4 3D캐릭터 이동 구현까지 진행헸습니다. Scene에서는 아무 문제가 없는데 Game화면에서는 캐릭터가 끊기면서 움직입니다 카메라 문제 같은데 정확한 이유를 모르겠네요 ㅠ 영상에 있는 Lerp 까지 그대로 따라했습니다

  • C#
  • unity
  • collider
장민호 댓글 1 좋아요 0 조회수 174

간혹 벽의 콜라이더를 뚫고 빠지는 경우

해결됨

[유니티6] 따라하면서 배우는 실전 게임 제작 2D Platformer

위에서 아래로 내려올 때, 잘못하면 옆의 벽으로 들어가서 떨어지고, 그 이후로 못 빠져 나옵니다. 그래서 콜라이더가 느슨한가 봐도 그렇지도 않더라구요. 그리고 우측에 회전칼날 근처의 벽도 그런 적이 있어요.. 이런 현상은 왜 일어나죠?

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

인기 태그

인프런 TOP Writers

주간 인기글