목록분류 전체보기 (112)
공부혜옹
Unity 사용버전 - 2021.3.3f1 - 2022.1.2f1 1. Unity WebGL Build 설정 compression format을 지정해줄경우 react rendering시에 error를 발생시킨다 webGL render시에 unity template를 없애고싶다면 해당 설정에서 선택해주면 된다 2. Build후 나온 결과물 확인 Build: build 결과물이 담긴 폴더로 loader, framework, data, code file들이 담겨있다 index.html: build 결과물을 불러오는 코드가 담긴 html 파일 해당 파일을 react project내 public 폴더 안 index.html에 덮어 씌울경우 별다른 설정없이 webGL빌드를 불러와 웹에 띄울 수 있다. 클라이언트 ..
Json 사용 라이브러리 JSON .NET For Unity | 입출력 관리 | Unity Asset Store 사용이유: JsonUtility 사용 중 serialize시 특정 자료구조에 대해서 공백으로 직렬화 하는 이슈를 발견함 (list, dictionary 등...) JsonUtility 자체가 json의 모든기능을 담고 있지 않기 때문으로 판단하여 라이브러리 변경 특이사항: unity 특정 버전 (2021 이전버전) 에선 해당 라이브러리가 이미 내장되어있어 asset import 없이도 사용 가능하다 데이터 타입정의 [System.Serializable] public class SceneInfo { public string SceneName; public int num; } [System.Ser..
프로젝트를 진행하면서 음악을 삽입할 일이 생겼다. 기능 목록 1. 배경음이 흘러나와야한다 2. Scene 별로 특정 배경음이 플레이되어야한다 향후 3D음향과 효율적인 효과음관리등을 추가할 예정이지만 이번 포스트에선 배경음에 집중해 위 2가지의 기능을 구현해보았다 구현요약 1. 빈 gameObject를 만들어 soundManager라는 이름을 붙인다 2. SoundManager라는 script를 생성해 SoundManager오브젝트에 붙인다 3. SoundManager script 코드작성 4. AudioSource라는 컴포넌트를 추가한 후 스크립트 Bg Sound에 부여한다 5. BgList에 배열 크기를 설정해주고 bgm을 넣어준다 코드 using System.Collections; using Syst..
유니티를 처음 시작하면서 탱크게임을 구현해보는데 총알을 objectPool로 만들어 관리해보기로 했다 겪은 문제점 총알과 같이 한 오브젝트가 여러 생성과 파괴를 반복할때 계속해서 gc가 실행되어 프로그램의 성능을 저하시킨다는 문제점을 발견하였다 해결법 생성과 파괴를 반복하기 때문에 일어나는 문제이기 때문에 생성과 파괴를 최소화하는 구조의 코드를 구현해 해결하기로 하였다. ObjectPool을 이용해 일정 갯수의 오브젝트를 미리 생성해놓고 필요할때마다 꺼내쓰고 다시 pool안으로 집어넣어 오브젝트를 순환시키며 사용한다. 만약 pool안에 오브젝트가 없다면 하나를 생성해서 사용한다. 이렇게 되면 생성과 파괴를 최소화하며 여러가지의 오브젝트를 사용할 수 있다. 코드 using UnityEngine; using..
https://hae-ong.tistory.com/89?category=883090 백준 15663 N과 M (9) https://hae-ong.tistory.com/88 백준 15657 N과 M (8) 재귀를 이용해 모든 수의 조합을 구하면 되는 문제였다. 단, 수열의 길이제한이 있으므로 해당 조건은 탈출조건으로 설정한다 #include #include #include #.. hae-ong.tistory.com 15663을 풀었다면 더할나위없이 쉬운 문제이다. 15663을 포스팅할 당시 '중복선택이 안되는 부분은 visited라는 배열로 체크해주었다' 라고했는데 이번 문제는 중복선택이 되고, 중복수열만 제한하면 되는 문제였기 때문에 visited로 검사하는 조건을 삭제했다. #include #inclu..
https://hae-ong.tistory.com/88 백준 15657 N과 M (8) 재귀를 이용해 모든 수의 조합을 구하면 되는 문제였다. 단, 수열의 길이제한이 있으므로 해당 조건은 탈출조건으로 설정한다 #include #include #include #include using namespace std; int n, m; int arr[9]; i.. hae-ong.tistory.com 15657번 문제와 달리 수를 중복 선택해서는 안되는 문제였다. 중복선택도 안되고 중복 수열도 안되기때문에 관련 조건을 2개 넣어주었다. 중복선택이 안되는 부분은 visited라는 배열로 체크해주었고, 중복수열이 안되는 부분은 prev != arr[i]로 바로 전 수열의 맨 끝자리숫자가 현재 들어갈 예정인 숫자와 동일..
재귀를 이용해 모든 수의 조합을 구하면 되는 문제였다. 단, 수열의 길이제한이 있으므로 해당 조건은 탈출조건으로 설정한다 #include #include #include #include using namespace std; int n, m; int arr[9]; int ans[9]; void func(int index, int cnt){ if(cnt == m) { for(int i=0; i m; for(int i=0; i> arr[i]; } sort(arr,arr+n); func(0,0); return 0; }
쉬운 문제였는데 테스트케이스를 몇개 줄건지 말을 안해줘서 while(cin >> n) 부분을 빼먹었더니 틀렸던 문제다..화가 난다 풀이 방법은 각자의 숙련도가 들어올때마다 비트마스킹해서 그 값과 기존의 숙련도 비트 리스트와 비교해 리스트에 동일한 값이 있으면 넘어가고 없으면 리스트에 추가했다. 마지막으로 정답은 해당 리스트의 크기를 출력해주었다 푼사람이 없어서 적절한 풀이인지는 잘 모르겠지만 일단 정답처리는 되었다. 아마 비슷한 맥락내에서 더 효율적으로 구현하는 방법이 있을듯! #include #include #include using namespace std; int n; int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); while(cin>>n){ ..