특정 아이템 효과로 기본 공격할 때마다 일정 확률로 추가 투사체를 발사하도록 하고 싶습니다. 패시브 스킬을 만들어 아이템 장착/해제시 스킬을 등록/해제하도록 만들려고 하는데, 기능을 어떻게 만드는 것이 좋을지 고민이 됩니다. 제가 생각해 본 방법으로는, UseCondition에 IsRunningSkillCondition으로 특정 스킬을 사용하고 있는지 검사하고, IsPassRandomValueCondition으로 일정 확률을 통과했는지 검사한 후에 SpawnProjectileAction으로 투사체를 타겟에게 발사하도록 하면 될 것 같습니다. 근데 이 방법으로 아마 동작은 될 것 같은데, 스킬의 UseCondition을 계속 체크해야해서 괜찮을지 의문이 생겼습니다. 마음같아선 OnDealDamage 이벤트에 일정 확률로 추가 투사체를 발사하는 메소드를 등록시키고 싶은데, 이를 스킬 시스템으로 어떻게 구현해야할지 잘 모르겠습니다. 어떤 방식으로 하는 것이 좋을 것 같은지 강사님의 생각이 궁금합니다. 추가로, 특정 아이템 장착시 기본 공격에 넉백이나 스턴 등 특정 이펙트를 추가하려면 어떻게 하는 것이 좋을지도 궁금합니다.
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
강의를 들으면서 응용하면서 저만의 프로젝트를 만들고 있습니다. 우선 저는 3d게임에서 이동 동기화를 진행중입니다. 패킷은 이렇게 만들었습니다. 보내는부분 MoveDir을 세팅하는부분에서 이런 오류가 나와요.. ㅜㅜ 브레이크포인트를 찍고 호출스택을봐도 엉뚱한데서 크래시가 나고 있어서 어떤문제인지 도저히 감이 안잡힙니다. 구글에 검색해도 정보가 없고, GPT도 정확한 답변이 없어요... 혹시 제가 뭔가 놓친게 있는걸까요..?
어디에다 문의 글을 올려야 할지 몰라서 여기다 올립니다! 해당 라이브 강의 커리큘럼이 '유니티 쉐이더 기초' 인데, 추후 진행하는 언리얼 수업에서도 1월 커리큘럼처럼 테크 수업을 진행하는지 궁금합니다. 아니면 기초 테크 수업은 1월에만 진행하고 추후 언리얼 실습만 따로 하는걸까요? *언리얼 쉐이더 기초 수업이 밑의 커리큘럼처럼 진행하는지 궁금합니다! - 기초 코딩(HLSL) - 필수 그래픽스 지식 (렌더링 파이프라인, 컴공 지식 등) - 수학 (삼각함수, 벡터, 내적, 외적, ...) - 실전 쉐이더 제작 (언리얼 실습)
public virtual void Cancel() { CheckIsRunning(); Debug.Assert(IsCancelable, "This quest can't be canceled"); State = QuestState.Cancel; onCanceled?.Invoke(this); } 퀘스트를 취소할때 CheckIsRunning를 실행하게 된다면 이미 등록되어있는 퀘스트를 취소하는것이기 때문에 Debug.Assert(IsRegistered, "This quest has already been registered"); 무조건 이 구문으로 막아버리게 되는건데 제가 혹시 강의에서 잘못 이해한 부분이 있을까요
롤의 스킬에는 각종 스탯계수가 붙어있는데요, 공격력계수, 주문력계수, 공격속도계수 등이 있습니다. 저는 현재 각 스킬의 계수 관리를 위해서 DealDamage 이펙트의 레벨을 필요한 만큼 만들어서 이용중입니다. 예를 들어, ad,ap 계수가 전부 1인 스킬을 구현한다고 하면, DealDamage 이펙트의 레벨을 2개 만들어서 ad계수가 1인 데미지 이펙트, ap계수가 1인 데미지 이펙트를 스킬에 다 추가하는 방식으로 하고 있습니다. 그런데, 레벨로 관리하니까 너무 직관적이지 않아 고민입니다. 예를 들어, ad계수가 1.5인 이펙트의 레벨이 3이라면, 스킬에 장착된 이펙트를 볼 때 이펙트를 또 한 번 더 들어가서 계수가 몇인지 확인하는 것이 너무 불편하게 느껴져서 질문드립니다. 강사님은 어떤 방식으로 관리하는 것이 좋다고 생각하시나요??
지금 locomodation system을 아직 추가 안하고 xr rig를 추가만 한 상태에서 시뮬레이터로 플레이 했을 때 wasd로 움직이고 있습니다 locomodation system으로 움직임을 제어하면서 속도도 조절하고 싶은데 기존의 locomodation system을 추가하기 전부터 wasd로 움직이던 기능은 어디서 나온것인가요? 그리고 이거로 움직임 제어 말고 locomodation을 사용한 움직임 제어로 전환하고 싶습니다.
PlayController에서 UI 프리팹을 불러올 때, Managers.Resource.Instatiate("UI/PopUp/Scorebutton_UI");로는 경로를 불러오는 작업을 성공했었는데, Managers.UI.ShowPopUpUI<Button_UI>();를 실행을 하려니 경로를 불러오는 데 실패했습니다. 디버깅을 해보니 GameObject go = Managers.Resource.Instatiate($"UI/PopUp/{name}");과정에서 게임오브젝트 go에 오브젝트가 할당이 안되어 있다고 뜹니다. 어디서 잘못된것일까요?
올려주신 에셋이 텍스쳐가 다 핑크색으로 안나오는 문제가 있어서 다른 분이 올린 질문을 보고 저도 URP로 했나 체크하는데 URP는 안보이고 다른 질문에서 대신 UNIVERSAL 3D를 추천하시더라구요 근데 SRP로 되어 있어 이게 맞나 여쭤봅니다. 제 유니티 버전은 22.3.52f1입니다.