묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[유니티 실전 프로젝트] Burger Please 모작
3D인데 직교투영?
안녕하세요~ 언제나 고급진 강의 감사합니다.3D오랜만에 해서 헷갈리는데요.Perspective를 주로 사용했던것 같은데여기서는 직교투영으로 세팅이 되어 있는데왜 그런걸까요?2D 할때 직교투영으로 많이 했었는데3D에서 직교투영으로 하는 이유가 궁금합니다~
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
21강 화염구 23분 51초 StarCheck 메소드는 어디에 있나요?
현재 21강 화염구 강의를 시청하고 있습니다.23분 51초에 가면 CardSelector.cs 의 SelectCard 메소드를 보는 장면이 있는데, 이 부분에서if(i == value) { cards[i].SetAnimation("Card_Select"); MANAGER.SESSION.SelectedCard(cards[i].card); cards[i].StarCheck(); }이렇게 코드가 있습니다.그런데 cards[i].StarCheck() 이 메소드는 제가 이전 강의를 둘러봐도 안보이더라구요.18강 카드 DataBase 강의의 SelectCard 메소드 수정하는 부분에서는 전혀 StarCheck 메소드가 나타나지않았는데, 위에 말한 23분 51초 장면에서는 저 코드가 떡하니 존재하네요.혹시 이 코드는 중요한 부분이 아닌가요?아니면 코드가 어떻게 되는지 알려주실 수 있나요?/// 09-16 추가혹시 제가 잘못봤나싶어서 다시 강의를 보았지만 확실히 18강에서 card.cs 의 초기화 메소드 부분에 코드를 작성할 때 StarCheck 메소드는 없었습니다.19강에서는 SkillFrame 스크립트만 소개하는 부분이였고, 20강의 10분 39초쯤에 가보면 card.cs에 갑자기 StarCheck 메소드가 이미 들어있습니다.원래 19강에 있어야했던 것인지 모르겠지만, 현재 31강을 들은 시점에서, 31강의 10분 57초쯤으로 가시면 StarCheck 메소드 코드 전체가 나옵니다. 이 부분을 보고 직접 수정해야할 듯 합니다.
-
미해결[유니티 실전 프로젝트] Burger Please 모작
오피스 구현 Door 질문
문 열리고 닫는 걸 구현할 때 애니메이션 쓰는 건 별로인가요?
-
미해결[Unity6] 함께 만들어가는 서바이벌 게임 개발 - 스팀 출시 도전기
화염구 SelectCard()를 Start문에서 구동 시 객체를 찾지 못하는 오류입니다.
SelectCard()를 시작부터 작동하도록 넣었을 때, 오류가 발생하였습니다. NullReferenceException: Object reference not set to an instance of an object CardSelector.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)계속 찾아보고 있는데 일단 Null문제를 해결하지 못해 Update문에서 Q를 눌렀을 때 함수가 나타나는 걸로 임시로 수정을 했었는데 이부분을 어떻게 수정해야 하는지 궁금합니다.
-
해결됨[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) 구현하는 강의는 몇번째 강의인가요? 순차적으로 듣고 있는데, 갑자기 스킬구슬 구현 없이건너 뛰어서 어떻게 구현된 건지 혼란스럽네요.