묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
안녕하세요 취업 학원 관련해서 문의드립니다.
저는 30대 넘어서 코딩 입문하게된 비전공자입니다.기존에 웹개발하다가 게임개발 흥미가 느껴서 여기로 취업하고자하는데요 학원에서는 유니티 클라이언트 쪽으로 준비하는게 낫다고 해서 일단 유니티쪽 공부하고있습니다.아무래도 비전공자이다보니 CS지식도 부족하다고 느끼고 C/C++ 필요성도 느끼고 있는데요 취업시에 유니티클라이언트를 깊게 파서 구현하는것을 목표로할지CS공부겸 서버쪽도 조금 추가해서 공부하는것을 목표로 할지 고민이됩니다. 어느쪽이 더 나을까요? ㅠㅠ (일단 취업목표기간은 8개월~1년 잡고있습니다.)
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
Pooling 에서 문제
저는 현재 10.Object Pooling을 듣고 있는 학생입니다(초보)저는 현재 이와 같이 풀링이 제대로 작동하지 않고 있습니다. 분명 강의에서는 풀링이 제대로 작동하여 들어갔다가 나오는게 되지만 저는 코드에서 오류가 났는지 제대로 작동하질 않고 있어요ㅠㅠ. 제 코드 보시고 어떤 문제점이 있는지 알려주셨으면 합니다.(Projectile만 문제 있어요)using System.Collections; using UnityEngine; public class Player_Attacker : MonoBehaviour { public GameObject bulletPrefab; private void Start() { StartCoroutine(FireCoroutine()); } IEnumerator FireCoroutine() { yield return new WaitForSeconds(1.0f); FireProjectile(); StartCoroutine(FireCoroutine()); } void FireProjectile() { Vector3 fireDir; if (Player.instance.target != null) { fireDir = Player.instance.Direction(); } else { fireDir = transform.forward; } var bullet = MANAGER.POOL.Pooling_OBJ("Projectile").Get((value) => { Vector3 pos = transform.position + new Vector3(0, 1.0f, 0) + fireDir * 1.0f; value.transform.position = pos; value.GetComponent<Bullet>().Initalize(fireDir); }); } } 이 코드가 문제가 맞는지 확인해주셨으면 감사하겠습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
순환참조 문제로 인해 발생하는 문제는 없을까요?
안녕하세요.강의 잘 듣고 있습니다. 강의를 듣다보니 Map <-> Hero(or Object) <-> Session 이 서로 참조를 하고 있는데요.이론 공부할 때는 순환참조의 객체 생성, 무한 호출 등의 문제로 인해 객체 간 순환참조를 금지한다고 학습했는데, 게임처럼 상호작용이 필요한 도메인은 순환참조 문제를 엔지니어 역량으로 막는걸까요? 자바-스프링 같은 프레임워크를 쓸 때는 객체 간 순환참조를 프레임워크단에서 체크해서 애플리케이션 실행 시점에 막더라구요.
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
Nagle Algorithm
Is there a reason why its not switch off in socket? Isnt it a problem with mmo servers and we hold packets on our own?
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
스킬쿨타임UI관련
SetSkillFrame함수에서 먼저 frame들을 다 삭제시키고 다시 생성하고있는데요 frame내에서 saveCooltime도 다 삭제가되니 레벨업을하고 다시 UI가 초기화될때 쿨타임도 아예 초기화가 되버리는 것같은데 제가 놓친부분이 있나요? 그리고 SetSkillFrame함수는 MANAGER.SESSION.onSelectedCard 델리게이트에 바인딩 시켜놓으면 되는건가요?
-
미해결[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작
상속 구조에서의 awake흐름 및 init 함수 질문있습니다
강의 중에 사용하신 init 관련 코드에서 하나 궁금한 점이 있습니다.BaseController의 Awake() 안에서 _init = true를 먼저 설정한 다음 init()을 호출하게 되면, init() 안에서는 이미 _init == true 상태라서 실제 초기화 로직이 수행되지 않고 false만 반환하게 되는 것 같습니다.그런데 MonsterController에서는 base.init()이 true일 때 return 하도록 돼 있어서, 결과적으로 자식 클래스의 초기화 로직이 실행되지 않을 수도 있어 보인다는 생각이 들었습니다. 혹시 의도된 흐름이 맞는지, 아니면 _init = true 설정 위치나 분기 조건 쪽에 조정이 필요한 부분이 있는지 궁금합니다.
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
CSV대신 DB
안녕하세요 강의 공부하다가 궁금증이 생겨서 질문합니다. 강의에서는 .csv를 사용해서 레벨 데이터를 저장하고 가져오는 방법을 사용하셨는데 서드파티 데이터베이스로 구현을 해놓고 넣었다 빼는 방식을 사용해도 괜찮을까요? 그러면 앱 업데이트를 할 필요없이 DB상의 값을 바꾸는 것만으로도 난이도를 조정할 수 있을 것 같아서요.현직에서는 어떻게 구현하는지 궁금해서 질문합니다.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
돌진해서 몸박을하면 피격자를 날리면서 데미지를 입히는 스킬은 이 시스템에서 어떻게 만들 수 있을까요??
스킬 시전자를 Preceding Action에서 이동을 시키면서 몸박 콜라이더에 닿는 타겟에게 Effect를 Apply 시켜야할 것같은데.. 구조상으로는 Target에게 Effect를 적용시키는 InActionState와 Preceding Action State가 분리가 되어있어서 조금 생각하기 어려운것같습니다.
-
미해결[유니티 실전 프로젝트] Burger Please 모작
사운드를 어떻게 플레이 시켜야 하나요
각 상황에 맞는 사운드를 플레이하도록 구현하고 있는데요.Interaction 함수 안에서 사운드 출력 코드를 추가했는데 소리가 제대로 나오지 않고 계속 반복되서 출력되는 것처럼 치지지직 하다가 끝나버립니다. void OnMoneyInteraction(WorkerController wc) { if (!wc.Tray.IsPlayer || _moneyPile.ObjectCount == 0) return; _moneyPile.DeSpawnObjectWithJump(wc.transform.position, () => { GameManager.Instance.AddMoney(Define.MONEY_PER_BURGER); GameManager.Instance.AddExp(1f); SoundManager.Instance.PlaySFX("SFX_Money_Get"); }); }그래서 제대로 한번만 사운드가 출력되도록 하기 위해 bool형 예외처리를 해서 코드를 수정했더니 0.1초만에 소리가 났다가 사라집니다. audioSource 제대로 부착했고 loop 체크x, PlayOnAwake 체크 등 기본적인 것들은 다 제대로 세팅했습니다.어떻게 해야 제대로 된 소리를 출력할 수 있나요?public class SoundManager : Singleton<SoundManager> { [Header("BGM")] public AudioSource bgmSource; [Header("SFX")] public AudioSource sfxSource; [Header("SFX Clips")] public List<AudioClip> sfxClips; [Header("BGM Clips")] public List<AudioClip> bgmClips; public void PlaySFX(string clipName) { AudioClip clip = sfxClips.Find(c => c.name == clipName); if (clip != null) { sfxSource.volume = 1f; sfxSource.PlayOneShot(clip); } else { Debug.LogError($"SFX clip not found: {clipName}"); } }
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
DB 관련 궁금한 점이 있습니다.
게임들 중에 건물을 짓고 일정 시간이 지나면 건물이 완공이 되는 게임들이 있잖아요.그 시간은 게임을 실행하지 않더라도 시간이 흐르고 게임에 접속하면 건물이 완공되는 식으로 진행이 되는데,그럼 그런 건물들의 내용들도 다 DB에 저장을 하고 게임을 켤 때와의 시간 계산을 하나요 ?
-
해결됨2. 유니티가 어려운 입문자를 위한 입문용 게임 제작
파워업을 먹었는데 파괴됩니다.
안녕하세요, 최근 강의 듣고 따라가고 있는 unity 입문자입니다.매번 테스트 하실 때 따라 테스트 하면서 진행했는데, 이번 강의 편 마지막 테스트 할 때 보니 파워업 아이템을 먹었는데 player가 파괴되면서 enemy bullet 1이 player 파괴된 자리 근처에 생성되는 현상이 있습니다. 디버깅을 어떻게든 해보고 해결하고 싶은데, 사실 방법을 잘 모르겠습니다 ㅠㅠ 어떻게 확인해볼 수 있을까요?ItemController, PlayerController, PowerUpController 내용은 확인했습니다만 별다른 점을 못 느꼈습니다.. EnemyBulletController에서도 어느 부분을 건드려야 할 지 고민입니다.. 혹시 참고할 만한 팁이 있을까요?
-
해결됨AI 시대의 혁신적인 게임 개발 입문 with Unity6
visual studio Code에서 코딩할때 자동완성기능이 수업과 다릅니다.
위 이미지처럼 Input.을 누르면 수업내용처럼 GetMouseButton등이 나오지 않습니다.visual studio Code에서 C#과 관련된것을 받아야하는건가요?
-
미해결절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part 1)
피격 사운드 관련 질문
안녕하세요.상대 플레이어 탱크에서 포탄 발사 시 소리가 들리지 않는데, 이 부분이 들리게 하려면 FunRPC 어트리뷰트가 붙은 Fire 쪽에 배치해야 할까요?
-
해결됨유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
이미 리소스 다운받은 후 다시 실행시 리소스 인식 문제
선생님 안녕하세요. 강의 정말 잘 보고 있습니다.원격 리소스 다운로드 시스템 Pt.2 수강 후 테스트를 진행해 보았습니다. 서버로부터 다운로드 번들을 인식하고, 다운로드하며, 진행 상황을 슬라이더 바에 연동하여 업데이트하는 것까지는 정상적으로 동작했습니다.그런데 이후 두 번째 테스트를 진행했을 때, 선생님과 달리 제 환경에서는 리소스 다운로드 확인 UI가 한 번 더 표시되었습니다. 즉, 프로그램이 이미 다운로드한 리소스를 인식하지 못하는 것처럼 보였습니다.혹시나 싶어 플랫폼을 윈도우로 변경해 테스트해 본 결과, 윈도우에서는 첫 다운로드 이후 두 번째 실행부터는 UI가 나타나지 않았습니다.코드 상에서는 플랫폼에 따른 차이를 두지 않았는데도 결과가 다르게 나와 난감한 상황입니다.추가로, 문제가 발생한 안드로이드 플랫폼의 두 번째 실행에서는 슬라이더 바의 움직임도 확인해 보았는데, 0%에서 곧바로 100%로 넘어갔습니다. 리소스 용량을 50MB쯤 업로드 해두어서 첫번째 테스트때는 서서히 움직였는데 말이죠. 즉, 로그에는 다운로드해야 할 용량이 찍히지만, 실제로는 디스크에 리소스가 이미 존재하는 그런 양상 이었습니다.어디에서 이런 문제가 발생했을까요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
현재 강의를 이용하여 3D 게임을 만들 경우 변경되야 될 사항들에 대해 궁금합니다.
안녕하세요. 루키스님 강의를 열심히 듣고 있는 초보개발자입니다. 현재 강의는 2D기반의 게임인데, 맵 및 몬스터, 캐릭터를 3D 케릭터로 변경되면, 현재 개발하신 코드들에서 어떤 부분들이 변경되는지.. 그리고 변경될 사항들이 많은지 궁금증이 생겨 문의드립니다.
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
카드 레벨업 별ui 부분이 생략된 것 같습니다
추가된 스킬 쿨타임 영상도 보고왔는데, 카드 레벨업을 별이미지로 표현한 UI 부분이 빠진 것 같습니다. 스킬 매니저 부분 듣고있어서 뒷부분에 나오는지 모르겠네요. 일단 진행에 크게 중요한 부분은 아니니까 이어서 듣고있겠습니다.
-
미해결절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part 1)
7강 재생 관련 문의
안녕하세요.윈도우 환경에서 7강이 재생되지 않습니다.이전 질문자 분처럼 검은색 화면으로 재생 버튼을 눌러도 재생이 되지 않으며, 크롬, 웨일 모두 재생되지 않습니다.듀얼 모니터를 사용하고 있고, 팀 뷰어 같은 프로그램도 모두 꺼둔 상태이며, 크롬/웨일의 하드웨어 가속을 꺼도 재생 시작이 되지 않습니다.이전 강의인 6강, 이후 강의인 8강은 정상적으로 재생이 됩니다.혹시나하여 로그아웃 후 미리보기를 통해 재생을 시도해봐도 5강은 정상적으로 재생되나 7강은 검은화면 상태에서 재생 시작이 되지않습니다.
-
해결됨[Unity6] 나만의 서바이벌 게임 만들기
World 좌표
3. Character Movement 강의에서, Player 의 Transform Position 의 Y 값을 5로 잡으신 이유가,Terrain 의 world 좌표가 5 설정해서 라고 하셨는데, 혹시 이 부분은 어디서 설정을 하는건가요? 바로 앞 강의에서는, Terrain 의 Transform 의 Position 이 (-250,0,-250) 으로 설정되어 있고,Water 의 경우 Positon 이 (0,2,0) 으로 설정되어 있는데요.. 혹시, Terrain >> Inspector >> Terrain >> Paint Terrain >> Set Height 로 설정하는게 따로 있는건지요? Terrain 과 Water 의 포지션의 Y 값이 저렇게 잡혀 있어서, 캐릭터의 Y 좌표를 3 으로 잡아야 바닥에 붙는거 처럼 보이는데, 게임을 실행하면, 높이가 안 맞게 나오네요...
-
해결됨책 3권을 영상으로 만든 Unity 게임 개발
SuperDefender 구매오류
슈퍼디펜더 구매 시 400원이 아닌 500원이 빠져나갑니다
-
해결됨[Unity6] 나만의 서바이벌 게임 만들기
자료 ?
혹시 이 강의에서 구현된 결과물 파일을 받아 볼수 있을까요? 강의 보고 따라하면서 해보는데, 위치 값이나 사이즈나 이런 부분들이 미묘하게 달라서, 자꾸 삑사리가 나는데, 어떻게 맞춰야 할지가 명확하지 않아서요..