월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Unity Samples: UI -> UI Samples
저만 이름이 바뀐지는 모르겠는데 검색해도 안나오면 UI Samples로 검색해보세요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강좌 질문
안녕하세요. 서버만 없이 로그라이크류 게임을 제작하려고 해보는데 파트를 3,7만 들어도 충분히 가능할까요 ?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
(오류정정요청) Awake 설명
강의 타임라인 중 13:55 부터 Awake를 설명하는 부분에서 " 꺼놓은 상태에서 적용되는 애가 더 있어요""게임 신 현재 들고 있는 컴포넌트를 끈 상태에서도 잘 작동하길 원한다면 Awake로 만드는 것도 하나의 방법이 되겠구요"라고 언급하고 있습니다. 그런데, Unity Documentation에 따르면 active(켜놓은 상태) 할 때 Awake가 작동된다고 나와있습니다. 실제로 제가 @Scene을 끄고 Awake가 동작하는 지 디버깅을 했을 때 Awake가 호출되지 않았으며 EventSystem Null Reference Error가 로그로 찍혔습니다. 강의에서는 @Scene을 킨 상태에서(체크 박스를 체크한 상태) 테스트를 하고 있기도 합니다. Awake는 active한 상태 + 컴포넌트가 disabled 된 경우일 때 Start와 달리 호출된다고 정정해야 할 것으로 보입니다. https://docs.unity3d.com/ScriptReference/MonoBehaviour.Awake.html
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Input Manager 에서요
마지막 부분에 브레이크 포인트 잡는데 자꾸 이렇게 뜹니다 ㅠInputManager랑 Manager에서만 브레이크 포인트가 안먹혀요 PlayerController에서는 다 잘 먹는데 왜 이럴까요 ㅠㅠ 도와주세욤 그냥 넘어가도 무방한가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Vector3.forward에 대한 궁금증입니다.
안녕하세요, 플레이어의 이동에 대해서 이해가 가지 않는 것이 있어서 질문드립니다.transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.forward), 0.2f);transform.position += Vector3.forward Time.deltaTime _speed;해당 코드에서 Slerp를 이용하면 플레이어의 방향이 천천히 변하기 때문에 position에 바로 Vector3.forward를 이용하여 계산을 해주었다고 이해하였는데요,이 부분에서Vector3.forward는 월드 좌표인데 플레이어가 현재 바라보는 방향으로 왜 이동하는 것인지둘다 Vector3.forward를 이용하는데 translate과 position에 더해주는 것에 어떤 차이가 있는지 궁금합니다.감사합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
evt.gameObject 대신 곧바로 go 의 transform을 변형해도 되지않나요?
UI_Button.cs 파일에서 1) 이미지 게임오브젝트를 찾고 2) 이미지 게임오브젝트의 UI_EventHandler 컴포넌트를 가져와 OnDragHandler 를 추가하고 있는데지금 당장은 이미지 게임오브젝트에만 드래그 이벤트를 사용할 것으로 보여 굳이 evt.gameobject를 찾을 필요없이 1)에서 찾은 이미지 게임오브젝트를 곧바로 써도 괜찮아보입니다. public class UI_Button : UI_Base { enum Buttons { PointButton, } enum Texts { PointText, ScoreText, } enum GameObjects { } enum Images { ItemIcon, } private void Start() { Bind<Button>(typeof(Buttons)); Bind<TextMeshProUGUI>(typeof(Texts)); Bind<Image>(typeof(Images)); GameObject go = GetImage((int)Images.ItemIcon).gameObject; UI_EventHandler evt = go.GetComponent<UI_EventHandler>(); // evt.OnDragHandler += ((PointerEventData data) => { evt.gameObject.transform.position = data.position; }); evt.OnDragHandler += ((PointerEventData data) => { go.transform.position = data.position; }); } }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
레이저가 나오는데 로그는 안찍힙니다
이제까지 모든 로그 찍는 회차도 그랬고,강사님께서 하시는 것 그대로 따라 코딩하고 설정했는데 유니티 창에서 이루어지는 것은 다 이루어 지나딱 한가지 로그 창에 찍히는 것만 안찍힙니다. debug찍을 때 모호하다는 문제로 앞에 UnityEngine 붙여준 것 외에는 강의랑 코드가 다른게 아예 없는데 뭐가 문제일까요?ㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
e를 누르고 마우스로 회전시키면 x, z position이 변합니다ㅠ
c# 스크립트를 작성하고 게임을 실행시켜서 게임 플레이될때는 player가 회전할때 position이 변하지 않고 그대로 회전하는데요, 직접 e를 누르고 마우스로 캐릭터를 직접 회전시킬때는 첨부한 사진처럼 x,z 포지션이 변합니다.회전축이 잘못되었다면 게임 플레이 시켜볼때도 포지션이 변해야 될텐데 왜 그때는 멀쩡하게 회전되고 직접 마우스로 캐릭터를 돌리면 포지션이 변하는 걸까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
이동 코드
이동 코드에서 이동할 때마다 navmeshagent를 getOrAdd 하시는데 navmeshagent를 init할때 한번만 안 얻어오고 이동시마다 뽑아오는 이유가 혹시 무엇인가요??
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Awake 함수에 대해서
유니티 강의에서 씬 매니저 부분을 듣다가 질문이 생겨서 드립니다게임 오브젝트 @Scene에 들어있는 스크립트는 GameScene 이고, GameScene은 BaseScene 을 상속받고 있고,BaseScene 은 이러한데,이 상태에서 유니티를 실행하면이렇게 표시 됩니다.GameScene 은 BaseScene 을 상속받고 있기는 하지만,BaseScene은 게임 오브젝트내(Hierachy) 에 존재하지 않은데, BaseScene 에서 Start 함수는 실행되지 않으면서, Awake 함수는 어떻게 실행되는건지 설명해주시면 감사하겠습니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 4:42에 디버깅이 안됩니다
강의 내용 똑같이 따라했고, 다른 질문들 참고해서 디버깅 모드, 다 추가한 상태입니다. visual studio에서 unity에 연결이라고도 되어있는데 디버깅이 안 이루어지고 그냥 끝나요ㅜㅜ. 2019 버전으로 내리는 수밖에 없을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
_pressed 프로퍼티 대신 Input.GetMouseButtonUp(0)을 써도 될까요?
강의에서는 마우스 클릭 여부를 판별하기 위해서 pressed 라는 프로퍼티를 사용해 분기처리하고 있습니다. 클릭이라는 행위는 마우스를 지속적으로 누른 상태에서 벗어난 상태, 즉 마우스를 뗀 상태라고 보면 Input.GetMouseButtonUp(0) 인지 확인하여 클릭 이벤트를 실행하는 편이 불필요한 if문 중첩문을 안 써도 되지 않을까요?실행결과, 아무 문제가 없는 것으로 확인되었습니다. public class InputManagers { public Action KeyAction = null; public Action<Define.MouseEvent> MouseAction = null; // bool _pressed = false; public void onUpdate() { if (Input.anyKey && KeyAction != null) KeyAction.Invoke(); if (MouseAction != null) { if (Input.GetMouseButton(0)) { MouseAction.Invoke(Define.MouseEvent.Press); // _pressed = true; } else if (Input.GetMouseButtonUp(0)) { MouseAction.Invoke(Define.MouseEvent.Click); } // else // { // if (_pressed) // MouseAction.Invoke(Define.MouseEvent.Click); // _pressed = false; // } } } }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의소스 다운로드요..
밑에 강의소스 다른 문의글을 봤는데저는 중간중간에 구름모양이 안보이는데어떻게 받을수 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
플레이어 피가 0일때 Idle상태가 돼야하는거 아닌가요?
강의 대로 따라했는데 강의에서도 보면 플레이어 피가 0이하가 되어도 몬스터가 계속 때리더라구요 근데 몬스터 컨트롤러 OnHitEvent를 보면 targetStat.Hp > 0 때의 else는 targetStat.Hp <=0 이니깐 플레이어가 체력이 0이하가 되면 몬스터는 Idle 상태가 돼야하는거 아닌가요? 왜 계속 때리는건가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
nma.SetDestination 이동이 몬스터 떨림 현상
안녕하세요 자체 게임을 만들고 있는 1인 개발자 준비생입니다! 다름이 아니라 네브메쉬로 몬스터 이동을 구현하는데, speed가 낮을땐 몰랐는데, speed을 높이면 눈에 보일 정도로 몬스터가 떨리는 현상이 있네여 ㅠㅠ 아마도 플레이어의 위치가 실시간으로 바뀌니 이동 위치가 계속 바뀌어서 그런것 같은데 해결 방법이 있을까용?? 강사님 메리 크리스마스~!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
강의 소스 다운로드
안녕하세요 유니티 에셋이나 기타 강의 자료를 다운 받아서 학습해보고 싶은데 강의 자료가 어디에정리가 되어 있는지를 알수가 없습니다.Rookiss 님 강의 자료가 어딨는지 링크 좀 부탁드립니다.감사합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
Camera (Canvas - RenderCamera)에 대해 질문 드립니다.
먼저 위와 같은 Inventory 화면을 만들고 있습니다.canvas에서 3d 오브잭트를 보기위해, Main Camera와 별개로UI_Camera 프리펩을 만들어서 사용하고 있습니다. (Clear Flags : Depth only, Culling Mask UI)그 후에 Inventory(UI) 프리펩에 RenderCamera를 UI_Camera로 설정하니, 유니티짱이 정상적으로 카메라에 보입니다. 인벤토리를 버튼을 사용해Managers.UI.MakeSubItem<UI_Inventory>(); 요런식으로 부르고 있는데, 이렇게 만들면RenderCamera의 값이 null이 되고,당연히 게임창에서도 유니티 짱이 나타나지 않습니다.RenderCamera를 코드로 넣어주려고(Inventory가 init()할 때의 코드입니다.), 해봤는데 RenderCamera를 설정하는 방법을 찾을 수 없었습니다.F12로 들어가서 쭉봐도, 구글링을 해도 해당 부분을 코드로 바꿀 수 있는 방법을 찾지 못했습니다. 다른 방법이 있는 걸까요? 아니면 UI에 3D 오브잭트를 올릴 때는 Project 창에서 불러오는게 아니라 Hierarchy 창에서 만들고 enable을 on/off 하는걸로 관리를 해야 할까요? 수업과는 조금 다른 내용으로 질문드려서 죄송합니다ㅜㅜ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문드립니다.
수업에서 ResourceManager 에public GameObject Instantiate(string path, Transform parent = null)를 만들었잖아요?그런데 PrefabTest에서 사용할 때 tank = Managers.Resource.Instantiate("Tank")를 사용했는데 위에서는 Instantiate(인자1, 인자2) 이고뒤에 사용한것은Instantiate(인자1) 이잖아요?그럼 ResourceManager 에 있는우리가 만든 Instantiate는 작동하지 않은게 아닌가요? Instantiate()의 인자안의 Transform parent = null)Transform parent = null은 왜 한 것일까요?? 그리고Transform 이라는 타입은 무엇인가요??Transform 은 위치를 설정할 때 사용하는 거라고 생각하고있었는데 타입으로 나오니 무엇인지 잘 모르겠습니다..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문드립니다..
transform.Translate(Vector3.forward Time.deltaTime _speed); 를 사용했을 때 코너를 그리는 것처럼 도는 것까지는 이해했습니다. 메인 카메라가 맵을 바라보는 방향이 맵의 forward쪽과 같다면 wasd로 조작하는 것에 아무런 이상을 느끼지 못 하지만,만약 메인 카메라의 시점이 바뀌게 되면 조작감 자체에 좀.. 불편함을 느끼게 되잖아요?ex) 메인카메라의 시점이 정 반대가 되면케릭터 기준으로 조작이 반전되는..? 기능상 오류가 난 것은 아니지만 메인카메라의 시점 때문에 조작감에 불편을 느끼게 되더라고요.. 이게 다 로컬 기준이 아니고 월드 기준인 것 때문인 것 같은데.. 좀 질문이 중구난방입니다..1. transform.Translate를 하든, transform.TransformDirection()를 하든결국에 로컬 기준인 것을 월드로 바꿔서 월드 스페이스 기준으로 움직이게 되는 것 이잖아요?그렇게 된다면메인카메라가 바라보고 있는 방향을 변경했을 때 조작감에 불편함을 느끼는 건 피할 수 없는 문제라고 생각되는데 맞을까요? 2. 위의 질문이 맞다면 메인카메라가 바라보고있는 방향에 구애받지 않고 메인카메라가 바라보고있는 방향이 계속 바뀌어도 조작감에 불편을 느끼지 않게 하는 방법에는 무엇이 있을까요? 제가 생각하기에는 메인 카메라가 바라보고있는 방향에 따라 월드스페이스 자체를 바꿔버리면 될까..? 싶은데 그건 가능한 방법일까요..?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
이번에 만든 오브젝트 풀링에 대해 질문이 있습니다.
오브젝트 풀링의 목적인 지속적인 오브젝트 추가 생성 및 소멸을 통한 메모리 낭비를 방지하기 위해 오브젝트 재사용을 위해 이용된다고 하셨습니다.일반적인 오브젝트 풀링의 경우 각 오브젝트마다 오브젝트의 생성 수를 제한해서 오브젝트의 최대 사용 갯수를 제한하는 걸로 알고 있는데 강의에서 만든 걸 보니 오브젝트 생성 개수에 제한은 없는 걸로 보이는데 맞나요?1의 질문이 맞다면 일반 업무에서 강의에서 사용하는 오브젝트 풀링 방식과 제가 말씀드린 오브젝트 풀링 방식 중 어떤 방식을 자주 사용하나요?