목록전체 글 (238)
Deff_Dev
게임을 할 때, 게임 설정 창에서 위와 같이 마스터 볼륨, 배경음, 효과음을 슬라이드로 조절하는 것을 볼 수 있을 것이다. Audio Source의 Volume을 조절하면 될까 ? 그렇게 한다면 배경음과 효과음의 Volume을 조절할 수 있을 것이다. 하지만 이 방법으로 구현한다면 게임에 존재하는 모든 Audio Source의 Volume을 조절해줘야 한다.그리고 마스터 볼륨은 배경음과 효과음 소리의 크기와 같이 조절하는 것이 아니라 따로 독립적으로 조절해야 한다.즉, 배경음과 효과음 볼륨을 줄이는 것은 게임의 전체적인 소리를 담당하는 것이 아니다.마스터 볼륨은 게임의 전체적인 소리 출력을 담당하는 기능이기 때문에 배경음과 효과음과는 다른 독립적인 사운드 조절 방식이 필요하다. 그럼 어떻게 해야할까 ?..
확률을 설정할 때, 모든 확률의 합은 반드시 100%가 되어야 한다.하지만 직접 데이터 테이블을 수정하다 보면 이 조건을 지키지 못하는 경우가 생길 수 있다. 확률의 합이 100%보다 작거나 크면 안 되기 때문에, 합이 100%보다 작을 경우 부족한 수만큼 더해서 100%를 맞추고, 100%를 초과할 경우 초과된 만큼 빼주는 로직을 구현했다. 물론, 엑셀을 사용해 확률을 관리할 수도 있지만, 이번 프로젝트에서는 인스펙터를 통해 확률을 입력하기로 했기 때문에 이 기능을 추가하게 되었다. 중요 클래스 - Random - Unity 매뉴얼Random 클래스는 흔히 요구되는 다양한 타입의 랜덤 값을 쉽게 생성할 수 있는 방법을 제공합니다.docs.unity3d.com확률을 표현하는 방법 int 자료형을 사용해..
Json 저장 및 Base-64를 이용한 암호화 관련 글 [Unity/C#] Json 저장 및 base-64를 이용한 암호화/복호화게임 데이터를 저장할 때, Json을 많이 사용하다. 하지만 데이터를 그냥 저장하게 된다면 플레이어가 데이터를 확인하고 임의로 수정할 수 있는 보안 문제가 발생할 수 있습니다. 따라서 Json 데deff-dev.tistory.com 기존에는 Base-64를 이용한 인코딩을 통해 데이터를 저장했으나, 이 방법은 보안성이 부족하여 AES 암호화 알고리즘을 도입하여 데이터 저장 및 불러오기 기능을 보호하도록 개선했다.AES (Advanced Encryption Standard)대칭키 암호화 알고리즘키 값을 가지고 암호화/복호화를 하므로 키 값을 모른다면 데이터를 확인 할 수 없다...
게임 데이터를 저장할 때, Json을 많이 사용하다. 하지만 데이터를 그냥 저장하게 된다면 플레이어가 데이터를 확인하고 임의로 수정할 수 있는 보안 문제가 발생할 수 있습니다. 따라서 Json 데이터를 암호화/복호화하는 과정이 필요하다.데이터 Json 저장/불러오기유니티에서는 간단하게 데이터를 Json으로 변환하고 저장/불러오기를 할 수 있다.using UnityEngine;using System.IO;using System;public class PlayerDataManager : MonoBehaviour{ private string path; private void Awake() { path = Path.Combine(Application.persistentDataPath..
HashSet중복 값을 허용하지 않는 컬렉션 HashSet의 장점중복 제거 : 중복된 값이 자동으로 제거된다.빠른 검색 : 값이 존재하는지 탐색하는데 시간 복잡도가 O(1)이다.빠른 삽입/삭제 : 요소의 삽입/삭제의 평균 시간 복잡도는 O(1)이다.HashSet의 단점순서 없음: HashSet은 요소들의 순서를 보장하지 않는다.메모리 사용: 내부적으로 해시 테이블을 사용하므로, 메모리 사용량이 상대적으로 클 수 있다.가공 성능: 저장된 요소들을 특정 순서로 가공하거나 순회할 때는 성능이 떨어질 수 있다.HashSet은 중복을 제거하고 빠른 검색이 필요한 경우에 적합한 자료구조이다.저장된 요소들을 특정 순서대로 가공하거나 순회해야 하는 경우에는 다른 자료구조를 사용하는 것이 좋다. 클래스 (System...