묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[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강에서 이미지를 다운할 버튼이 없네요
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
42.Boomb 에서 진행 못함요
저는 전부터 꾸준히 질문을 계속해 왔었던 사람인데요개발 초보이긴 하지만 카드 셀렉터 문제도 스스로 결국 고치고 잘 따라 왔습니다. 하지만 또 문제가 생겼습니다. 39강 부터 입니다저는 개발자님의 에셋 5개를 가지고 있는 데요개발자님의 오브젝트를 보면서 Treasure 이미지는 보이지 않아 그냥 대체 하는 것으로 메모 하고 스크립트 작성하고 넘어왔습니다하지만 42강 부터 게임 오브젝트 미리 조합하셔서 다 만드셨기에 초보자 로선 스스로 에셋들을 조합해서 폭탄 연출 만드는 것은 조금 버겁습니다.혹시 폭탄 연출 오브젝트를 어떻게 만드셨는지, 어떤 에셋에 있는 것을 활용하여 만드셨는 지 방법을 자세히 알려주실 수 있으신가요?
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
21. 화염구에서 CardSelector 문제
그동안 수업을 정말 열심히 가르쳐주셔서 아주 즐겁게 들었습니다. 감사드립니다.하지만 제가 어디서부터 무언가를 빠뜨렸는지 이런 오류가 생겼는데 이걸 어떻게 해결해야 할지 모르겠습니다.NullReferenceException: Object reference not set to an instance of an objectCardSelector.Initalize () (at Assets/00.scripts/UI/CardSelector.cs:17)Base_Canvas.SelectCard () (at Assets/00.scripts/UI/Base_Canvas.cs:73)Base_Canvas.Start () (at Assets/00.scripts/UI/Base_Canvas.cs:25)현재 이런 오류가 나고 있습니다. 실행하면 낙뢰 카드만 3개가 나오고 눌러도 진행이 안됩니다.Base_Canvas에서private void Start() 여기서 SelectCard();이 부분을 지우면 실행은 됩니다만, 이렇게 해결하는 것은 아닌 것 같아서 질문합니다.저는 21.화염구 강의를 듣고 있던 사람인데,그동안 열심히 오류를 해결해왔지만 이번엔 어떻게 해결해야할지 모르겠습니다.
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
19. 스킬 구슬 (카드 별표 UI 구현) -> 31. HP 패시브때 해결됩니다.
HP 패시브 10:35때부터 별표 문제에 대한 언급이 들어갑니다.그리고 1분 정도 할애되면서 별표 생성과 문제를 해결하는 부분이 나옵니다.혹시나 별표 구현에 질문이 있으실 분들에게 도움이 되실 내용을 옮겨봅니다. 1단계 : 별표 UI 구현별표 UI는 이렇게 구현하였습니다.강의 내용 중 Horizontal Layout과 Content Size Fitter를 활용하는 부분을 응용하였습니다.영상 내용에서는 나중에 나올 것 같습니다. (찾게 되면 남기겠습니다.) 2단계 : 인스펙터창 파라미터 넣기 StarParent 라는 변수는 "31강 HP패시브의 11:30"부근에서 StarParent 변수에 대한 짤막한 내용이 나오길래 유추하여 작성하였습니다. 3단계 : 실제 구현 상황강의 내용을 따라했을 경우, 올바르게 작동되는 걸 확인할 수 있었습니다. 구체적으로 31강 HP 패시브의 10:35 ~ 11:40 동안 나오는 코드와 내용을 보고 유추하여 제작하면 별표 UI를 제작할 수 있습니다.혹여나 이 부분에 대해서 언제 해결되나 또는 어떻게 해결해야 하나 고민하시는 분들이 계실까봐 내용 공유합니다.
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
21. 화염구 13:51 BaseCanvas.cs 에서 Start() 문 SelectCard() 오류 날 경우
SelectCard()를 시작부터 작동하도록 넣었을 때, 오류가 발생하였습니다.그 전에는 강의 내용과 동일한 오류를 내면서 강의 내용대로 따라왔는데 해당 구간의 오류를 이해해보려다가 임시 해결책으로 대체하였습니다. NullReferenceException: Object reference not set to an instance of an objectCardSelector.Initialize () (at Assets/Packages/06.Script/UI/CardSelector.cs:17)Base_Canvas.SelectCard () (at Assets/Packages/06.Script/UI/Base_Canvas.cs:61)Base_Canvas.Start () (at Assets/Packages/06.Script/UI/Base_Canvas.cs:45) 이런 오류가 발생하였습니다.다음과 같이 조치를 취해서 정상 작동하고 있으나 혹시나 동일한 이슈가 발생하셔서 시작부터 레벨업을 못 하시는 분들이 계실까봐 글 남깁니다. 저는 Update()문에다가 레벨업해서 카드 고르는 메서드를 별도로 입력해두었습니다.그리고 Start() 문에 있는 SelectCard() 메서드를 주석처리하였습니다. private void Update() { TimerText.text = Util_UI.FormatTime(MANAGER.SESSION.GameTime); if (Input.GetKeyDown(KeyCode.Space)) { SelectCard(); } } 혹시나 이 이슈를 이해하고 해결하신 분이 계신다면 꼭 좀 답변 부탁드립니다...
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
19. 스킬 구슬 강의가 몇 강 이후에 다시 촬영된 건지 알고 싶습니다.
SkillFrame.cs 자료와 Base_Canvas.cs 자료는 확인할 수 있었습니다.그러나 SkillFrame.cs의 Ienumerator CooltimeCoroutine(CardDB card, int Level) 메서드에서 메서드 지역 변수로 float cooltime을 초기화하고 설정해줄때 (9:32 부분) card.baseCooldown과 card.cooldownPerLevel 부분이 누락되어서 테스트를 해볼 수가 없네요... CardDB 스크립트도 참조되었으면 좋았을텐데 아쉽습니다..
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
12강 몬스터 파괴 진행하던 중 애니메이터 이슈를 하나 발견해서 남깁니다.
앞으로의 강의에서 충분히 해결될 이슈 같지만, 그래도 12강에서 테스트 하시다가 의문을 가지실 분들도 계시지 않을까 싶어서 질문 하나 남깁니다. 이 이슈가 나중에 몇 강 강의에서 해결되는지 또는 간단하게 해결할 수 있는방법을 알고 싶습니다. 강의 내용 27분 22~34초대에서 스켈레톤이 움직이지 않고 앞으로만 움직이는 현상이 목격됩니다.애니메이터의 MOVE 트리거가 발동되기 전에 스켈레톤이 비활성화되면서 생긴 이슈 같습니다. 실제로 강의 내용을 따라하다보면 똑같은 시점에서 같은 문제가 발생합니다.스켈레톤 A는 애니메이션이 정상 작동하는 대상이고 스켈레톤 B는 애니메이션이 작동하지 않은 채 앞으로만 움직이는 대상입니다. 앞으로 다양한 몬스터가 나올 것을 기대하고 있기에, 충분히 추후에는 해결되는 이슈라고 생각하고 있습니다.그래도 혹시나 12강에서 똑같은 이슈를 만나시고 궁금해하시는 분들이 계실까봐 가볍게 내용을 남깁니다.
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
10. Object Pooling 단계에서 스폰 포지션 이슈가 생겼습니다.
10강까지 강의를 따라오면서 강의를 누락한 부분이 있기 때문에 생기는 이슈인지 궁금합니다. 누락으로 생긴 이슈라면 드릴 말씀은 없지만, 다른 분들도 따라하시다가 당황하실 수 있는 이슈로 여겨져서 글을 남겨 봅니다. 몬스터를 풀링하면서 몬스터가 생성될 때 프리팹에 적혀있는 좌표로 우선 생성되니까 해당 좌표에서 충돌 처리가 생기는 것 같습니다.몬스터 생성몬스터가 프리팹에 적혀 있는 0,0,0 위치에 생성0,0,0 위치에서 콜라이더 충돌이 발생함 value.transform.position = spawnPos; 작동작동하면서 좌표 값 변경이후 강의에서 해결됐을 가능성이 농후하지만, 10강까지 따라왔을 때 누구에게나 생길 수 있는 이슈라고 느껴져서 글을 남깁니다. 몬스터 프리팹의 포지션 값을 변경하면서 일단 해결하였는데 제가 놓친 부분이 있었다면 참고하겠습니다.
-
미해결[유니티 실전 프로젝트] Burger Please 모작
완제품 코드로 분석할려고 하는데. 작성 순서(흐름)이 이해가 안됩니다ㅠㅠ
처음에 없던 오브젝트풀링이들어가고나서 완성된 코드라 이해가 잘안되네요. 순서가 햇갈려요 어느 스크립트부터 따라 적어야하는지 말씀해줄수있을까요? 흐름이 이해가 안갑니다. 코드를 해석할 수 있도록 작성 순서를 알려주시면 감사 드리겠습니다.
-
미해결[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); }); } } 이 코드가 문제가 맞는지 확인해주셨으면 감사하겠습니다.
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
스킬쿨타임UI관련
SetSkillFrame함수에서 먼저 frame들을 다 삭제시키고 다시 생성하고있는데요 frame내에서 saveCooltime도 다 삭제가되니 레벨업을하고 다시 UI가 초기화될때 쿨타임도 아예 초기화가 되버리는 것같은데 제가 놓친부분이 있나요? 그리고 SetSkillFrame함수는 MANAGER.SESSION.onSelectedCard 델리게이트에 바인딩 시켜놓으면 되는건가요?
-
미해결[유니티 실전 프로젝트] 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}"); } }
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
카드 레벨업 별ui 부분이 생략된 것 같습니다
추가된 스킬 쿨타임 영상도 보고왔는데, 카드 레벨업을 별이미지로 표현한 UI 부분이 빠진 것 같습니다. 스킬 매니저 부분 듣고있어서 뒷부분에 나오는지 모르겠네요. 일단 진행에 크게 중요한 부분은 아니니까 이어서 듣고있겠습니다.
-
미해결[유니티 실전 프로젝트] Burger Please 모작
12강 npc 네비게이션 위치 질문입니다.
네비게이션에서 나중에 배치되어 제작시, 알수없는 위치에 추가되는 오브젝트에 따라 npc 네비게이션이 작동되는걸 만들려면, 콜라이더(충돌)로 하면 될까요?
-
해결됨[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
스킬구슬(Skill Frame) 구현하는 강의는 몇번째 강의인가요?
지금 27.쿨타임 연출 강의를 듣고 있습니다. 스킬구슬(Skill Frame) 구현하는 강의는 몇번째 강의인가요? 순차적으로 듣고 있는데, 갑자기 스킬구슬 구현 없이건너 뛰어서 어떻게 구현된 건지 혼란스럽네요.
-
미해결[유니티 실전 프로젝트] Burger Please 모작
궁금하게 있습니다.
해당 강의의 리소스를 사용하여 게임을 직접 제작하고 출시 해도 될까요?※ ex) 애니메이션
-
미해결[유니티 실전 프로젝트] Burger Please 모작
손님AI에서 0:13 초 나오는 Q로 해도 되긴하는데
손님AI에서 0:13 초 나오는 Q로 해도 되긴하는데라고하시는데 여기서 말한 Q가 뭘까요?
-
미해결[유니티 실전 프로젝트] Burger Please 모작
NullReferenceException 에러
안녕하세요. 튜토리얼과 세이브 파일 강의 수강하고 코드를 그대로 작성했는데 해당 널 에러가 발생합니다. NullReferenceException: Object reference not set to an instance of an objectGameManager+<CoInitialize>d__12.MoveNext () (at Assets/@Scripts/Manager/GameManager.cs:46)UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <28bc61a429714536ab08181feb5cfb97>:0)UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) public IEnumerator CoInitialize() { yield return new WaitForEndOfFrame(); Player = FindAnyObjectByType<PlayerController>(); Restaurant = FindAnyObjectByType<Restaurant>(); int index = Restaurant.StageNum; Restaurant.SetInfo(SaveData.Restaurants[index]); //26번째 줄 StartCoroutine(CoSaveData()); }널 체크를 해봤는데도 Player와 Restaurant 모두 널이 아닙니다.그래서 Restaurant의 SetInfo() 함수 부분을 봤더니 Restaurant의Restaurant Systems와 Props들이 전부 비어있습니다.근데 코드 상으로 널 체크해서 디버그를 출력하도록 해도 디버그가 찍히지 않습니다. 필요한 Props들 전부 UnlockableBase를 상속하였고 RestaurantSystemes도 SystemBase 상속하고 자식 오브젝트에 위치하고 있고 코드도 전부 동일합니다. SetInfo 함수의 호출 순서의 문제 일까요? 어디의 문제인지 어딜 수정해야하는지 모르겠습니다 ㅠㅠ
-
미해결[유니티 실전 프로젝트] Burger Please 모작
10강 애니메이션 강의에서 enum EState부분 질문있습니다.
Define에서 enum EState를 정의하셨는데State앞에 E를 붙인 특별한 이유가 있나요?그리고 PlayerController에서 EState 변수 선언을 했는데 Define.Estate라고 안하고 바로 EState 라고 하셨는데 이게 어떻게 가능한건가요?