게임 썸네일형 리스트형 TIL(Today I Learned) - 80 오늘의 TIL (Today I Learned):1. 스킬 효과와 데이터 갱신 문제스킬의 효과가 강화되었을 때, SkillEffect 객체가 원본 데이터를 그대로 참조하고 있다는 문제를 발견했습니다.TriggerEffect 메서드에서 최신화된 데이터를 반영하지 못하는 현상이 발생했습니다. 이를 해결하려면, 스킬의 상태를 최신화된 값으로 반영하는 로직이 필요하다는 것을 깨달았습니다.2. 스킬 데이터 갱신 및 객체 상태 관리강화된 SkillEffect 데이터를 반영하려면, BaseSkill 클래스 내에서 SkillEffect 객체를 갱신하는 방식을 수정해야 했습니다.이를 위해 SkillEffect의 속성 값들이 정확히 업데이트되도록 하고, 강화된 값이 TriggerEffect와 GetSkillEffect 메서.. 더보기 TIL(Today I Learned) - 79 📅 오늘의 TIL (Today I Learned)1. 비활성화된 게임 오브젝트와 코루틴 문제Unity에서는 비활성화된 게임 오브젝트(SetActive(false))에 속한 스크립트에서 StartCoroutine을 호출할 수 없다.이 문제를 해결하려면 코루틴을 실행하기 전에 게임 오브젝트를 활성화(SetActive(true))해야 한다.이벤트 구독과 게임 오브젝트 상태 관리의 순서가 중요하며, Awake, OnEnable, OnDisable 등 Unity 라이프사이클 메서드를 적절히 사용해야 한다.2. Unity에서 UI 페이드 효과 구현Image 또는 SpriteRenderer의 Color 속성을 조정하여 페이드 인/아웃 효과를 구현할 수 있다.Lerp를 사용해 알파 값을 부드럽게 감소시키며 시각적인 .. 더보기 TIL(Today I Learned) - 73 오늘의 TIL (Today I Learned)1. 넉백 처리와 전투 재개 로직넉백이 끝난 후 전투 재개를 자연스럽게 처리하기 위해 ResumeScroll과 StopScrollingRightAfterDuration 로직을 명확히 분리.넉백 상태 관리: isKnockback와 isBattlePaused 플래그를 적절히 조작하여 전투 재개를 부드럽게 구현.넉백 중에도 전투 흐름을 유지할 수 있도록 상태 전환 로직을 개선.2. 몬스터 처치 후 대기 시간 추가몬스터를 처치한 후 일정 시간(5초) 대기하고 다시 전투를 종료하거나 준비 상태로 돌아가는 코드를 작성.PlayerBattle 클래스에 WaitBeforeResumingBattle 코루틴을 추가하여, 전투 종료와 대기 시간을 분리해서 관리.몬스터 처치와 넉백.. 더보기 TIL(Today I Learned) - 62 오늘의 TIL (Today I Learned)1. 리팩토링 및 스킬 시스템 개선기존의 스킬 시스템을 객체지향적 구조로 리팩토링했습니다.스킬의 기본 클래스인 BaseSkill을 설계하고, 이를 상속받는 ActiveSkill, BuffSkill, PassiveSkill로 나누어 구체화했습니다.각 스킬 클래스에서 GetSkillEffect를 통해 스킬 효과 객체를 생성하고, 이를 SkillEffectManager에 전달하여 이펙트 및 효과를 처리하도록 개선했습니다.2. 스킬 클래스별 기능 세분화ActiveSkill: 즉시 발동하는 스킬로, 마나 소모 및 쿨다운이 존재합니다.BuffSkill: 일정 시간 동안 버프 효과를 적용하는 스킬입니다.PassiveSkill: 전투 중 조건에 따라 자동 발동되며, 쿨다운이.. 더보기 TIL(Today I Learned) - 57 오늘의 TIL:오늘은 IFusable 인터페이스를 사용하여 합성 기능을 구현하는 과정에서 Fuse() 메서드와 관련된 매개변수를 다루었습니다. Fuse() 메서드에 매개변수를 추가하여 합성 횟수(materialCount)를 기반으로 합성 가능한 아이템의 갯수를 동적으로 처리할 수 있도록 했습니다. 또한, Weapon과 Accessory 객체의 합성 조건을 변경하고, 재료 수량을 확인하는 기능을 개선했습니다.합성 UI를 갱신하는 과정에서는 currentEquipmentAmountTxt의 텍스트가 제대로 표시되지 않는 문제를 해결했으며, UI 업데이트 시 두 번의 currentEquipmentAmountTxt.text 업데이트를 통해 문제를 수정했습니다.WeaponInventory와 AccessoryInve.. 더보기 TIL(Today I Learned) - 55 오늘의 TILWeaponUpgradePopupUI 구현WeaponUpgradePopupUI를 구현하면서 보유 효과를 동적으로 처리하는 방식을 배웠습니다.보유 효과(Passive Effects)는 값이 0일 경우 UI에서 숨기고, 1개, 2개, 또는 3개의 보유 효과가 유동적으로 표시되도록 설정했습니다.SetActive 메서드를 사용해 해당 Row를 조건적으로 표시하는 방법을 적용했습니다.UI 업데이트 로직 개선무기 강화 시 SetWeaponData를 호출해 UI가 실시간으로 갱신되도록 설계했습니다.UpgradeWeapon 메서드에서 무기 강화 성공 여부를 확인하고, 성공 시 보유 효과 및 강화 비용 UI를 갱신했습니다.유연한 UI 컴포넌트 활용possessEffectRow1, possessEffectRo.. 더보기 TIL(Today I Learned) - 44 📚 오늘의 TILUnity의 SoundManager 구조 설계BGM과 효과음을 분리하여 AudioSource 두 개를 활용하는 방식으로 구현.PlayBackgroundMusic 메서드를 사용해 씬 전환 시 자동으로 BGM을 변경.PlaySound로 버튼 클릭이나 아이템 획득 효과음을 관리.버튼 클릭 효과음 구현 방법UIButtonSFX 스크립트를 각 버튼에 추가하여 클릭 이벤트마다 효과음 재생.SoundManager.Instance.PlaySound를 호출해 버튼별 효과음을 독립적으로 설정 가능.스나이퍼 엘리트 스타일 인게임 BGM긴장감을 조성하는 스텔스 음악과 전투 상황에서 역동성을 더하는 음악이 중요.드론 스타일의 저음 기반 음악과 오케스트라 타악기, 현악기의 조합이 효과적.Unity에서 TIL 적.. 더보기 TIL(Today I Learned) - 41 오늘은 Unity 프로젝트에서 Git을 활용하는 방법과 QuickSlot 시스템 구현에 대해 학습했습니다.Git 상태 메시지 이해git status 명령을 통해 변경된 파일 상태를 확인.Git의 파일 상태:Changes not staged for commit: 수정되었지만 staging area에 추가되지 않은 파일.Untracked files: Git이 추적하지 않는 새 파일.Staged files: 커밋 준비가 완료된 파일.git add와 git rm 명령을 사용해 파일을 staging area에 추가하거나 삭제 처리.모든 변경 사항을 커밋하기 위해 git commit -m "메시지" 명령 사용.Unity QuickSlot 시스템 구현기능:숫자 키(1~5)를 통해 슬롯 아이템 사용.아이템 사용 후 수.. 더보기 이전 1 2 다음