플레이어 포지션이 발이기 때문에 카메라가 계속 발을 찍고 있다고 해서 , 플레이어 포지션 값을 좀 올려보려고 float _playerhight = 1.0f; // 캐릭터 원하는 높이 Vector3 playerPosition = player.transform.position + Vector3.up * playerhight; 이 부분을 추가했는데 작동은 되는데 별로 차이가 없는것 같더라구요.. 제대로 한게 맞을까요? void LateUpdate() { float _playerhight = 1.0f; // 캐릭터 원하는 높이 Vector3 playerPosition = _player.transform.position + Vector3.up * _playerhight; if (_mode == Define.CameraMode.QuarterView) { RaycastHit hit; if(Physics.Raycast(_player.transform.position, _delta, out hit, _delta.magnitude, LayerMask.GetMask("Wall"))) { // dist : 거리 float dist = (hit.point - _player.transform.position).magnitude * 1.0f; transform.position = _player.transform.position + _delta.normalized * dist; } else { transform.position = _player.transform.position + _delta; transform.LookAt(_player.transform); } } }
ResourceManager 의 메서드 중 LoadAllAsync<T>() 는 Addressables 에 있는 특정 label이 붙은 애들을 가져와서 _resource 에 넣어서 메모리에 올리는 역할을 하는 것이고, Load, instantiate 함수는 _resource 에 있는 애들을 불러와서 로드 하거나 게임에 생성하는 역할을 하는 게 맞는지 확인 부탁 드립니다.
안녕하세요. 이번 강의 유익하게 들었던 한 수강생입니다. 디버깅 실행시 이상현상이 발생해 이렇게 문의 드립니다. 우선 저같은 경우는 이미 디버그 실행 버튼이 'unity에 연결'로 되어있었고, 디버그를 최초 실행하면 아래와 같은 화면이 떠 맨 첫번째 선택창을 선택하였습니다 그 뒤로 디버깅을 해보았고 잘 되었습니다. 다만 불편한 점이 한가지가 있었는데 위 사진처럼 가장 아래의 창이 빨간색으로 되어있다는 거였습니다. 혹시 영상과의 연결 방법 차이로 인해 발생하는 것인가 싶어 영상에 나온 초기 연결 방법대로 연결을 해보았지만 똑같았습니다. 위 현상을 해결하려면 어떻게 해야 하나요? 그리고, 디버깅 중 디버그.로그를 써서 출력하는 것들은 유니티 콘솔창에 표시가 되므로, 디버깅 중에 확인할 수가 없었습니다. 물론 변수를 확인하면서 출력되는 것이 무엇인지 알 수도 있지만 그럼에도 저는 비쥬얼 스튜디오 내에서도 출력이 되도록 하고 싶습니다. 만약 그렇게 하려면 어떤 명령어를 써야 할까요?
안녕하세요 대희님. 대희님 강의 들으며 컴퓨터비전 맛보고 있는 학생입니다. 20강 수강하면서 질문이 생겼습니다. 7분 정도(강의 지점)에서 FindContour 메소드에서 bin 필드 정의할 때 bin = this.Binary(src, 150); 이라고 Binary 메소드에 threshold를 150으로 주셨는데 150 말고 다른 숫자 이것저것 넣어봤더니 88 미만의 숫자를 입력하면 polygon.png 이미지의 외부에 빨간선이 그려지고, 88 이상의 숫자를 입력하면 polygon.png 이미지의 2열 4행 사각형의 내부에 빨간선이 그려지더라구요. 혹시 threshold를 150으로 준 이유가 있으실까요?
안녕하세요. 강의 잘 보고 있습니다. 다름이 아니라, 강의 내용을 따라 하다 보면 UIManager - UICanvas Title - UICanvas 이렇게 한 씬에 UICanvas가 두개 이상 존재할 때가 있는데요. Import한 프리팹에서는 UIManager 밑의 UICamera의 Priority 값이 1로 되어 있고, LobbyUIController나 Title의 UICamera에서는 0으로 되어 있더라구요. 그래서 그런지 아래 사진처럼 UIManager의 화면만 나오네요. UICamera들의 Priority 값을 다 0으로 바꿔도 하나의 Canvas만 나오는데, 두 개 이상의 Canvas가 같이 화면에 나오게 하려면 어디를 수정해야 할까요?
public T Load<T>(string key) where T : Object; //ResourceManager.Load<T>(string)은 abstract, eatern또는 partial로 표시되어 있지 않으므로 본문을 선언해야 합니다 라고 뜨는데 어떤 선언문을 써야 하나요? { //','와' )'가 필요하다고 오류가 뜨는데 어디가 필요한 건지 궁금합니다 그리고 TryGetValue 와 key가 현재 컨텍스트에 없다고 에러가 뜨는데 어떻게 해결해야 하나요? if (_resources.TryGetValue(01Key, out Object resource)) //';'가 필요하다는 에러가뜨고 T도 현재 컨텍스트에 없다고 에러가 나옵니다 return resource as T; return null; } GameObject Instantiate(string key, Transform parent = null, bool pooling = false) { GameObject prefab = Load<GameObject>(key); if (prefab == null) { Debug.LogError($"Failed to load prefab : {key}"); return null; } //if (pooling) // return Managers.Pool.Pop(prefab); GameObject go = Object.Instantiate(prefab, parent); go.name = prefab.name; return go; } 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 CS1031 형식이 필요합니다. Assembly-CSharp C:\Users\Administrator\Desktop\taein]\MMO\mmorpg\Assets\@Scripts\Managers\Core\ResourceManager.cs 17 활성 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 CS8124 튜플에는 요소가 두 개 이상 있어야 합니다. Assembly-CSharp C:\Users\Administrator\Desktop\taein]\MMO\mmorpg\Assets\@Scripts\Managers\Core\ResourceManager.cs 17 활성 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 CS1519 클래스, 레코드, 구조체 또는 인터페이스 멤버 선언에 잘못된 토큰 '{'이(가) 있습니다. Assembly-CSharp C:\Users\Administrator\Desktop\taein]\MMO\mmorpg\Assets\@Scripts\Managers\Core\ResourceManager.cs 16 활성 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 CS1519 클래스, 레코드, 구조체 또는 인터페이스 멤버 선언에 잘못된 토큰 '{'이(가) 있습니다. Assembly-CSharp C:\Users\Administrator\Desktop\taein]\MMO\mmorpg\Assets\@Scripts\Managers\Core\ResourceManager.cs 16 활성 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 CS1519 클래스, 레코드, 구조체 또는 인터페이스 멤버 선언에 잘못된 토큰 'as'이(가) 있습니다. Assembly-CSharp C:\Users\Administrator\Desktop\taein]\MMO\mmorpg\Assets\@Scripts\Managers\Core\ResourceManager.cs 18 활성 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 CS1519 클래스, 레코드, 구조체 또는 인터페이스 멤버 선언에 잘못된 토큰 ';'이(가) 있습니다. Assembly-CSharp C:\Users\Administrator\Desktop\taein]\MMO\mmorpg\Assets\@Scripts\Managers\Core\ResourceManager.cs 18 활성 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 CS8803 최상위 문은 네임스페이스 및 형식 선언 앞에 와야 합니다. Assembly-CSharp C:\Users\Administrator\Desktop\taein]\MMO\mmorpg\Assets\@Scripts\Managers\Core\ResourceManager.cs 23 활성 그리고 void LoadAsync<T>(string key, Action<T> callback = null) where T : UnityEngine.Object { //Cache if (_resources.TryGetValue(key, out Object resource)) { callback?.Invoke(resource as T); return; } string loadkey = key; if (key.Contains(".sprite")) loadkey = $"{key}[{key.Replace(".sprite", "")}]"; var asyncOperation = Addressables.LoadAssetAsync<T>(loadkey); asyncOperation.Completed += (op) => { _resources.Add(key, op.Result); _handles.Add(key, asyncOperation); callback?.Invoke(op.Result); }; 앞에와 마찬가지로 resources 와 handles가 계속 이름이 현재 컨텍스트에 없다고 에러가 뜹니다 어떻게 해결해야 하나요?
안녕하세요. 선생님의 2D 플렛포머 게임 강의 3 - 1과 관련하여 질문이 있어서 남깁니다. StageData.cs 코드를 작성 후 Project의 + 를 클릭하면 Stage라는 버튼이 떠야되는데 밑에와 같은 문구가 뜨면서 활성화가 되지 않는 현상이 일어납니다. 이런 경우 어떻게 해결해야되는지 알 수 있을가요? CreateAssetMenu attribute on StageData will be ignored as StageData is not derived from ScriptableObject. UnityEditor.AttributeHelper:ExtractCreateAssetMenuItems ()
강의 11분 53분 지점에서 EventSystem을 찾는 부분에서 코드를 작성할때 강의대로 따라가며 Object obj = GameObject.FindObjectOfType(typeof(EventSystem)); 코드를 작성했는데 비주얼스튜디오에서 빨간줄 녹색줄 노란줄이 화려하게 난무하고 유니티에서도 널크러시가 나서요. 비주얼스튜디오에서 잠재적수정사항으로 FindObjectOfType() 가 아니라 FindAnyObjectByType()를 사용하라고 권장해서 일단 임의로 비주얼스튜디오가 하라는대로 FindAnyObjectByType()를 사용하여 코드를 작성했습니다. 비주얼스듀디오가 권장한 대로 수정한 후에 문제가 발생하지 않아 그냥 이대로 진행해 보려고 합니다만 왜 FindObjectOfType()사용에서 널크러시가 발생한 것인지 의문이 생겨서요. 구글링 결과 두 함수 사이에 성능의 차이가 있다는 글을 찾았는데 단순히 성능차이때문에 널크러시가 나지는 않을듯 하고 제가 사용하는 유니티와 비주얼스튜디오의 버전차이 때문인지 아니면 제가 이전에 작성한 코드에 문제가 있어 수정이 필요한 사항인지 궁금해서 문의드립니다.
[2048] 게임을 다 만들고 PC 에서 빌드를 하니 해상도가 너무 커서 위 아래 부분이 잘리고 가운데 부분만 보입니다. Canvas - Canvas Scaler - Reference Resolution 에서 설정을 변경하면 UI 에 영향을 주어 크기를 변경하기가 어렵더군요. 혹시 PC에서 해상도가 정상적으로 나타나도록 설정하는 방법이 있을까요? 빌드 후 실행 화면입니다. 유니티 편집 화면입니다.
포트폴리오를 만드는 과정 중 UI 작업에서 자료를 찾다가 해당 강의를 수강하게 되었습니다, 이런 자기만의 프레임 워크를 만드는 강의 정말 좋다고 생각하고 설명도 이해가 잘 되게 알려주셔서 잘 듣고 있습니다!! 해당 강의 중 27:30에 level 변수에 1을 넣어 경험치를 빼앗았을 경우 레벨 다운도 가능하다고 말씀 해 주셨는데 해당 작업을 수행하려면 추가로 로직을 더 작성해야 하는 거죠?? 추가로 level이 3일 때 레벨업을 하게 되면 if문에 걸러져서 break가 나는 로직인데 int level = 1이 계속 들어오면 레벨 3에서도 레벨업이 되지 않나요..?? 위와 반대로 level = _level일 때 레벨 다운을 하고 싶을 경우 만렙 기준에서는 레벨 다운이 안되는 현상이 있을 거라고 생각합니다..! 이러한 조건에 의해 레벨 다운에 있어 추가 작업이 필요하고 level = 1이 됐을 때 만렙을 넘겨 레벨업을 할 수 있다고 생각하는데 맞나요??
안녕하세요, 고생이 많으십니다. 강의를 수강하는데 한 가지 문제점이 생겨서 질문 남깁니다. 01 프로젝트 기본 설정(3:15) 강의에서 Ground 부분에 Tilemap Collider 2D라는 곳에 Composite Operation 관련 설정 부분이 나와있지 않고 Extrusion Factor이 비활성화되어 있는 현상이 일어납니다. 이런 경우 어떻게 해결해야되나요? 파일의 경우 프로젝트를 생성 후 2DGame_Platformer+[01]에 있는 Etc, Prefabs, Textures을 복붙해서 실습하긴 했습니다. 그리고 1:09분 영상에서 나오는 Unity 2D Game [Platformer][Resources].unitypackage 파일은 교재 다운로드에서 찾아볼 수 없는 파일 같은데 어디에 올려두신 건지도 알려주시면 좋겠습니다. 올려져 있는 파일들 압축 파일 풀어도 나오지 않아서 질문드립니다.
수업자료를 다운받고 처음에 GameServer콘솔앱을 빌드하는 과정부터 오류로 실행이 안되네요 ㅠㅠ bat 파일이 윈도우 보안에 걸려서 그런가 생각되어서 bat파일을 새롭게 직접 생성해줘도 문제가 해결되지 않네요. cmd 창에서 직접 start GenProto.bat %cd% \Server\GameServer\Packet\Generated\ 1 과 같이 오류가 난 2줄의 명령어를 실행해서 진행해 보았는데, 자동생성되야하는 패킷매니저.cs파일도 자동생성이 안되는 걸로 보아 cmd 창에서 실행하는 방법도 안되는 것 같습니다 .
안녕하세요 루키스님^^ 요세 루키스님 강의 덕택에 매일매일이 너무 즐거운 하루를 보내고 있는 수강생입니다. 이번에도 강의를 복습하던 중 궁금한 점이 하나 생겨서 질문올리게 되었습니다. 히어로 목록창에서 하나를 클릭하게 되면 1. UI_CharacterSlotItem.cs에서 OnClickSelectHeroImage()가 실행 2. OnClickSelectHeroImage() 실행시 onHeroSelected에 등록된 UISelectCharacterPopup.cs의 OnHeroSelected()가 실행 3. OnHeroSelected()에서 UISelectCharacterPopup.cs의 RefreshUI()실행 4. RefreshUI()가 실행되면 각 slots를 순회하면서 UICharacterSlotItem.cs의 SetInfo()가 실행 5. SetInfo()에서 UICharacterSlotItem.cs의 RefreshUI()실행 6. OnClickSelectHeroImage()에서 다시 UICharacterSlotItem.cs의 RefreshUI()실행 이런 순서로 RefreshUI() 가 2회 실행이 되는 것으로 이해했습니다. 위 코드에서 SetInfo() 내부에 RefreshUI()가 들어 있음에도, OnClickSelectHeroImage()에도 RefreshUI()가 들어있습니다. OnClickSelectHeroImage()에 RefreshUI()를 주석처리 해도 코드는 작동이 되는 것 같습니다. 혹시 OnClickSelectHeroImage()에 RefreshUI()를 넣어두신 다른 이유가 있으신가요?
안녕하세요 강의 잘 보고 있습니다! 이번에 3D 강의 부분인데 이상하게 Material 색상이 안바뀌어서 질문 드립니다. Plane 오브젝트는 색상이 변경돼서 잘 작동하는데 Cube 오브젝트만 지금 Material 색상이 변하지 않고 있습니다 무슨 문제가 있는걸까요...?ㅜㅜ ㅜ