월 39,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
Time Sync 문제 관련 질문
Time Sync 문제로 인해 currentApplyCycle를 0으로 초기화 할 것이 아니라 오차 값(영상에서는 0.0012)으로 초기화 해야 된다는 설명 잘 들었습니다! 여기서, currentApplyCycle %= ApplyCycle; 로 초기화를 하는 부분에서, currentApplyCycle 변수의 경우, public float CurrentApplyCycle{ get => currentApplyCycle; set => currentApplyCycle = Mathf.Clamp(value, 0f, ApplyCycle);}위 코드의 Mathf.Clamp 함수로 인해 값이 0 ~ ApplyCycle(0.5) 사이에 머물게 되는데 이러면 0.5012 값이 0.5로 조정되어서 결국에는 0.5 % 0.5가 되어 0이라는 값으로 초기화 되는 게 아닌가 하여 질문합니다!
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
멀티 게임에서의 State Machine에 대해서 궁금한 점있습니다.
멀티 게임에서 StateMachine을 사용한다면 모든 컴퓨터에서 현재 State가 같도록 통일해 주는 작업하여 State의 흐름을 공유하나요?아니면 한 컴퓨터에서만 State를 다루고 다른 컴퓨터들에게는 따로 State를 통일하지 않고 그때 그때 필요한 작업들의 처리만 요청하나요?멀티 게임에서 StateMachine이 일반적으로 어떻게 사용되는지 궁금해서 질문드립니다.
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
사소한 질문이 있습니다
큰 문제는 아니고 영어로 하면 되긴하는데코드를 그대로 사용하니 게임씬에 뜨는 플레이어 스탯이 한글이면 깨지는 문제가 있습니다.따로 저장되있는 폰트가 있나요?
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
Multi Layered State Machine 강의에 대한 질문입니다.
public void Setup(EntityType owner) { stateMachine.Setup(owner); AddStates(); MakeTransitions(); stateMachine.SetupLayers(); stateMachine.onStateChanged += (_, newState, prevState, layer) => onStateChanged?.Invoke(stateMachine, newState, prevState, layer); } MonoStateMachine 스크립트의 해당 부분에서 MonoStateMachine의 onStateChanged 이벤트에 아무것도 등록이 되어있지 않은데 혹시 추후 강의에서 해당 부분 추가 되는 건가요?코드 파악 중 제가 잘못 이해한건지에 대해 궁금하여 질문합니다.
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
instantiate에 대해서 질문입니다.
제가 알기로는 유니티에서 제공하는 instantiate() 함수는 필드 값도 함께 복사되는 걸로 알고 있었습니다. 그런데 Effect의 Clone() 함수도 Instantiate()를 사용하지만 이 경우에는 필드 값이 같이 복사가 되지 않아서 이유가 궁금해서 질문 드립니다.
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
SkillSystemWindow 스크립트 drawDatabase함수에서 null참조발생
강의자료에 있는 스크립트를 그대로 올려도 오류가 발생합니다.GUI Error: Invalid GUILayout state in SkillSystemWindow view. Verify that all layout Begin/End calls matchUnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)-> DrawDatabase(databaseTypes[toolbarIndex]);부분NullReferenceException: Object reference not set to an instance of an object ->drawdatabase함수의 dataType.BaseType.GetField ~~~ 부분)
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
2강 Database에 리플렉션에 대해 질문입니다.
2강에서 SetID 메소드에서 id필드의 값을 설정하는 부분을 리플렉션을 통해서 구현한 것은 private의 필드의 은닉성을 지키기 위해서의 이유 하나 뿐인가요?
- 해결됨[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
스탯 관련 질문입니다.
강의를 보면 스킬 시스템 에디터에서 추가할 스탯을 직접 하나씩 추가해서 해당 스탯을 원하는 엔티티에 부여하는 방식인 것 같은데요.강의에서는 모두 같은 스탯을 사용해 Hp를 하나로 공유했지만, 보통 게임들에서는 적들마다 스탯이 다 다르잖아요??어떤 적은 MaxHp가 높고 이동속도가 느린 대신, 어떤 적은 MaxHp가 낮고 이동속도가 빠르다던가 하는 식으로요.그러면 이 스킬시스템의 스탯을 사용하려면 Hp, 이동속도 등등 여러 스탯들을 적들마다 다 만들어야 하는건데 그러면 데이터끼리 비교하려면 스탯을 하나하나 클릭해보며 확인해야하니까 비교하기가 힘들어 레벨 디자인하기가 쉽지 않겠다는 생각이 들어서요.그러면 굳이 스탯까지 스크립터블오브젝트로 만들어서 모듈식으로 만들 필요성이 있는지 잘 모르겠어서 질문드려요.
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
1번 강의 IdentifiedObjectEditor 스크립트에서 에러가 납니다.
NullReferenceException: SerializedObject of SerializedProperty has been Disposed.UnityEditor.SerializedProperty.get_propertyType () (at <04e0fdd0fac34142a67859e48fe87770>:0)UnityEditor.EditorGUILayout.IsChildrenIncluded (UnityEditor.SerializedProperty prop) (at <04e0fdd0fac34142a67859e48fe87770>:0)UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUILayoutOption[] options) (at <04e0fdd0fac34142a67859e48fe87770>:0)IdentifiedObjectEditor.OnInspectorGUI () (at Assets/Scripts/Editor/IdentifiedObjectEditor.cs:99)UnityEditor.UIElements.InspectorElement+<>c__DisplayClass74_0.<CreateInspectorElementUsingIMGUI>b__0 () (at <04e0fdd0fac34142a67859e48fe87770>:0) 이런 에러인데 에러가 나는 시점이 인스펙터에서 코드네임을 변경한 후 엔터키를 눌렀을 때 발생합니다.EditorGUILayout.PropertyField(displayNameProperty);이름 변경 후 displayName을 그려줄 때 에러가 나는데 아무래도 OnEable 함수에서 FindProperty함수로 값을 제대로 가져오지 못하고 있는 것 같은데 어떻게 해야할까요? [SerializeField] private Category[] categories; [SerializeField] private Sprite icon; [SerializeField] private int id = -1; [SerializeField] private string codeName; [SerializeField] private string displayName; [SerializeField] private string description; categoriesProperty = serializedObject.FindProperty("categories"); iconProperty = serializedObject.FindProperty("icon"); idProperty = serializedObject.FindProperty("id"); codeNameProperty = serializedObject.FindProperty("codeName"); displayNameProperty = serializedObject.FindProperty("displayName"); descriptionProperty = serializedObject.FindProperty("description");혹시 제가 직접 타이핑한게 문제일까 싶어서 코드를 다운로드 받고 복붙해봤는데도 에러가 발생합니다.이 현상을 그대로 두고 진행해도 될까요?이름 변경은 제대로 됩니다.
- 미해결[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템
section1 7-stat 강좌에서 delegate를 사용하신 이유가 궁금합니다.
public delegate void ValueChangedHandler(Stat stat, float currentValue, float prevValue); public event ValueChangedHandler onValueChanged;public event Action<Stat, float, float> onValueChanged; 위와 같이 delegate를 사용하셨는데, 아래 action 대신 사용하면 어떤 차이가 있는지, 또는 특별한 이유가 있는지 궁금합니다.