본문 바로가기

Unity_C#

(15)
[Unity] Unity 게임 화면 녹화하는 방법: Unity Recorder 팀 프로젝트를 하다보면 내가 어디까지 개발했는지를 팀원들하고 공유해야할 때가 있다. 이전 프로젝트에서는 맥북 화면 녹화를 사용했는데, 이전에는 로우폴리로 작업을 했어서 큰 불편함을 못느끼고 있다가 이번에 이펙트가 많이 들어가는 프로젝트를 진행하게 되면서 프레임이 끊기는 현상을 발견했다. 처음에는 녹화때문에 그런지 모르고, 그냥 이펙트가 많고 기기 사양의 문제라고 생각하고 있었는데 URP로 작업한 프로젝트 화면이 너무하다 싶을 정도로 프레임이 뚝뚝 끊겼고, 유니티 자체에서 녹화하는 기능이 있을 것이란 생각에 찾아보았다. 예상대로 유니티에선 녹화기능을 제공하고 있었다. 이 글에서는 2021.1.18 버전으로 했는데, 2020 버전에서도 잘 작동되는 것 같다. 2020.3부터는 되는 것 같은데, 그 이전에는 ..
[Unity] Unity 세팅 실시간 생성 플랫폼 실시간 생성 플랫폼: 게임 엔진이라고도 하는 Unity 플랫폼을 사용하면 누구나 강력한 비디오 게임이나 기타 실시간 2D 또는 3D 애플리케이션을 만들 수 있다. Unity를 사용하는 것은 수 백명의 엔지니어 팀이 여러분을 백업하고 대부분의 게임이 공유하는 시스템(물리, 그래픽 렌더링, 컨트롤러 입력 등)에서 작업하는 것과 같다. 따라서 응용 프로그램에서 독특하고 표현력이 풍부한 부분에 집중할 수 있다. "실시간" 플랫폼이라고 하는 이유는? - 비디오 게임은 플레이어 입력에 즉시 반응하기 때문에 실시간 경험이다. 모니터 또는 VR 헤드셋에 표시되는 모든 이미지는 컴퓨터에 의해 만들어지며, 1초도 걸리지 않으며, 때로는 1초에 수백 번 디스플레이에 표시된다. - 반대로 컴퓨터 애니메이션..
[C#/개념] 문자열 String 관련 메소드 정리 (요약본) 문자열 안에서 찾기 메소드 설명 IndexOf( ) 현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 찾는다. LastIndexOf( ) 현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 뒤에서부터 찾는다. StartsWith( ) 현재 문자열이 지정된 문자열로 시작하는지를 평가한다. EndsWith( ) 현재 문자열이 지정된 문자열로 끝나는지를 평가한다. Contains( ) 현재 문자열이 지정된 문자열을 포함하는지를 평가한다. Replace( ) 현재 문자열에서 지정된 문자열이 다른 지정된 문자열로 모두 바뀐 새 문자열을 반환한다. 문자열 변형하기 메소드 설명 ToLower( ) 현재 문자열의 모든 대문자를 소문자로 바꾼 새 문자열을 반환한다. ToUpper( ) 현재..
[C#/개념정리] 이것이 C#이다 1, 2강 ‼️ 본 포스팅은 아래 유튜브 영상을 보면서 정리한 글입니다. https://youtu.be/4mHcfc-Sskg https://youtu.be/s_2V3iDowCQ 1, 2강의 경우에 책(이것이 c#이다)을 통해서 이미 접했고 C#을 처음 배우는 것이 아니었기에, 가볍게 듣는 정도로 넘어가 따로 필기하지 않았다.
공연 기획자가 만드는 VR은 무엇이 다를까? https://blog.naver.com/businessinsight/222109004262 공연 기획자가 만드는 VR은 무엇이 다를까? '진심' 강조하는 '쉐어박스'│스케일업 인터비즈 [스케일업 x 대구대학교 창업지원단 BM FORCE] 쉐어박스 (1)​​지난 2월 세계 최대 게임 다운로드 ... blog.naver.com
[Unity/C#] Steam VR teleport할 깜빡거리는 문제 Steam VR을 이용해서, 텔레포트(teleport)를 구현했을 때 한번 이동할 때마다, 화면이 검정 화면으로 잠시 바뀌었다가 이동하는 상황이 생긴다. 물론 이걸로 VR 환경 내 어지러움이 해소될 수도 있을 것 같기는 했지만 개인적으로는 이게 너무 반복되다 보니까 더 어지러운 느낌이 들었다. 검은 화면이 안나타나게 하기 위해서는 씬의 teleporting 게임 오브젝트의 Teleport(Script)에서 Teleport Fade Time을 0으로 해주면 된다.
[Unity/C#] 변수 초기화 Trouble shooting int LengthCount(string newText) { int count = 0; foreach(char c in text) { ++count; } return count; } string은 char로 쪼갤 수 있는데, 다음 함수는 string의 길이를 재는 함수이다. 그런데 처음에 변수 count를 0으로 초기화하지 않고, 작성했더니 오류가 났다. c#에서 굳이 초기화를 하지 않아도 될 것 같았는데 이유를 알아보니, 최악의 경우에 string의 길이가 0이라면 반복문을 돌지 않게 되고, 이 경우 count에 메모리가 한 번도 할당이 되지 않아서 반환할 값이 없어지는 문제가 발생한다.
[Unity/C#] Pooling시 Audio 관리 using System.Collections; using System.Collections.Generic; using UnityEngine; public class SoundManager : MonoBehaviour { private Dictionary audioVolume = new Dictionary(); private Dictionary clipPool = new Dictionary(); private float mainVolume = 1; private List soundObjectPool = new List(); private Transform poolParent = null; private bool isInit = false; private static SoundManager _current;..