1. 주요 개선사항
1.1 장비 옵션 시스템 개선
- 장비 옵션의 티어 시스템 구현(1-10 티어)
- 각 티어별 가중치와 실제 표기 확률 표시 기능 추가
- 옵션 풀 시스템에서 장비 타입별(무기/투구/방어구) 옵션 관리 구현
1.2 드롭 시스템 개선
- 장비 드롭 시 등급별 가중치 시스템 구현
- 장비 종류와 등급을 독립적으로 설정 가능
- 실시간 드롭 확률 계산 및 표시
2. 장비 생성 플로우
3. 주요 코드 예시
3.1 장비 옵션 티어 시스템
public class EquipmentOptionData : ScriptableObject
{
[System.Serializable]
public class OptionTier
{
[ValueDropdown("GetAvailableTiers")]
public int tier = 1;
public StatRange range;
public float weight = 100f;
private float actualDropRate;
public void UpdateDropRate(float totalWeight)
{
actualDropRate = (totalWeight > 0) ?
(weight / totalWeight) * 100f : 0f;
}
}
}
3.2 장비 드롭 시스템
public class EquipmentDropInfo
{
public EquipmentSlot equipmentSlot;
public List<GradeWeight> gradeWeights = new();
public EquipmentGrade GetRandomGrade()
{
float totalWeight = gradeWeights.Sum(x => x.weight);
float randomValue = Random.Range(0f, totalWeight);
float currentWeight = 0f;
foreach (var gradeWeight in gradeWeights)
{
currentWeight += gradeWeight.weight;
if (randomValue <= currentWeight)
return gradeWeight.grade;
}
return EquipmentGrade.Normal;
}
}
4. 옵션 풀 시스템
5. 개선된 기능의 장점
1. 세밀한 확률 제어
- 등급별 가중치로 정확한 확률 조정 가능
- 실시간으로 실제 확률 확인 가능
2. 유연한 옵션 시스템
- 장비 종류별 독립적인 옵션 풀 관리
- 티어 시스템으로 옵션 강도 조절 가능
3. 직관적인 에디터 UI
- 가중치 설정과 실제 확률이 바로 표시
- 장비 종류별 옵션 관리가 용이
완성된 장비 드롭 시스템의 전체 플로우 차트
템플릿 예시
드롭테이블 가중치 시스템
옵션 티어 결정 가중치 시스템
옵션 종류 결정 가중치 시스템