Amend Commit이란? "amend"를 이용하여 가장 최근에 작성한 커밋을 변경할 수 있게 해줍니다! 때때로 커밋을 한 후 커밋 메시지에 오타가 있거나 파일을 포함하는 것을 까먹는 경우가 발생합니다. "amend"를 이용하여 commit 마무리하기 전의 시간으로 거슬러 올라가서 조정하는 것과 같습니다. 중요한 점은, 가장 최근에 작성한 "Commit"에만 적용할 수 있다는 점입니다! Amend 사용법 Git Hub Desktop을 실행시켜줍니다! 최근에 작업한 내용물을 Git에 Commit한다고 가정하겠습니다! History 탭에 들어가보니 작업물이 제대로 Commit된 것을 확인할 수 있습니다! 앗! 그러나, 제가 Material에 대한 소개와 작업물 하나를 빼먹었네요! 수정을 해야하는데 어떡할까..
Cherry - Pick이란? cherry-pick은 한 곳에서 특정 변경 사항을 선택하고 다른 모든 것을 가져오지 않고 다른 곳에 추가할 수 있는 마법의 도구와 같습니다. 위 내용을 쉽게 설명하면 다음과 같습니다. Git A Branch에서 작업중인데 B Branch에서 필요한 작업(Commit)이 필요할 경우 사용하면 됩니다. 체리 픽이 없었다면 A 브랜치와 B브랜치를 통합(merge)하고 작업해야하지만, 체리픽을 이용하여 필요한 Commit만을 사용하고 나머지 B 브랜치의 모든 것을 가져오지 않아도 되는 것이죠! Git Hub Desktop에서의 Cherry-Pick 사용방법 데스크탑을 열고 필요한 Commit이 있는 브랜치를 열어줍니다. 그 후, History 탭을 눌러줍니다! 필요한 Commit..
세팅 방법 [Project Settings]에 들어간 후 XR Plug-in Management를 활성화시켜줍니다! 그 후, Mock HMD Loader를 활성화시켜줍니다! 결과
링크 https://app.3dfy.ai/ 시작하기 버튼을 눌러줍니다! 저는 간단하게 구글로 계정을 만들어주었습니다! 로그인을 성공적으로 마쳤으면 위와 같은 화면을 볼 수 있습니다!(2023.06.13일 기준) 주의!! 총 10개의 모델만 '무료'로 생성할 수 있으며 그 후에는 금액을 지불하고 생성할 수 있습니다! '무료'로 다운은 1개만 가능합니다! 다운은 이제 무료로 다운받을 수 없네요 ㅠ 결과물 아래 4개의 탭이 존재하는데 텍스쳐, 와이어프레임, UV, Solid를 볼 수 있습니다! 대박좋네요..!
Color HDR이란? HDR은 High Dynamic Range를 의미합니다. HDR은 색상이 가질 수 있는 색상 및 밝기 값의 범위를 표준 0-1 범위 이상으로 확장합니다. 예를 들어, RGB 색상은 일반적으로 빨강, 녹색 및 파랑 채널 각각에 대해 (0~1) 사이의 값으로 표시됩니다. 예를 들어, 최대로 밝은 빨간색은 (1, 0, 0)입니다. 그러나 HDR을 사용하면 (1,0,0)을 넘어설 수 있습니다. 예를 들어, 매우 밝은 빨간색은 (5, 0, 0)으로 표시될 수 있습니다. ColorUsage 속성 ColorUsage 속성을 사용하여 스크립트의 Color 필드가 Unity 인스펙터에서 HDR을 사용하도록 할 수 있습니다. [ColorUsage(true, true)] public Color hdr..
예제 폰트(쿠키런 폰트!) 쿠키런 폰트 쿠키런 글꼴을 이제 웹에서도 즐기세요. www.cookierunfont.com 위에 가서 폰트를 다운받아줍니다! OTF와 TTF의 차이점 파일 형식: OTF: OpenType 글꼴은 TrueType 글꼴 형식을 기반으로 하지만 추가 기능을 제공합니다. 파일 확장자는 ".otf"입니다. TTF: TrueType 글꼴은 Apple과 Microsoft에서 개발한 표준 글꼴 형식입니다. 파일 확장자는 ".ttf"입니다. 호환성: OTF: OpenType 글꼴은 일반적으로 Windows 및 macOS 시스템과 모두 호환됩니다. Unity를 비롯한 최신 운영 체제 및 애플리케이션에서 광범위하게 지원됩니다. TTF: TrueType 글꼴은 Windows 및 macOS와도 호환됩..
Audio Mixer란?오디오 소스에 대한 제어, 균형 및 동적 조정을 제공하여 리소스 사용을 최적화하여 게임을 즐기는 유저의 오디오 경험을 향상시킬 수 있습니다.Audio Mixer를 사용해야 하는 이유오디오 제어 및 균형 조정: Audio Source의 레벨과 균형을 세밀하게 제어할 수 있습니다. Audio Source의 볼륨을 조정하고 패닝을 적용하여 스테레오 필드의 사운드 위치를 지정하고 다양한 오디오 요소의 전체 믹스를 제어할 수 있습니다. 효율적인 리소스 관리: 유사한 Audio Source를 Audio 그룹으로 그룹화하여 볼륨을 제어하고 효과를 적용하고 전체적으로 조정할 수 있습니다. Audio Source개별적으로 처리하는 성능 오버헤드를 줄입니다.동적 오디오 변경: 스냅샷과 노출된 매개변..
Reset 함수란? MonoBehaviou를 상속받은 함수로, 에디터 모드에서 Reset 버튼을 클릭하거나 해당 컴포넌트를 추가할 때 자동으로 호출됩니다. Reset 함수를 사용하는 이유 Reset 함수의 주요 목적은 컴포넌트를 초기 상태로 재설정하거나 변수를 초기화하는 것입니다. 예를 들어, 게임 캐릭터에 사용될 컴포넌트를 만들었다고 가정해보겠습니다! 초기 상태로 설정해야 할 변수나 속성이 있다면 Reset 함수 내에서 해당 값을 초기화하면 됩니다. 예를 들어, 캐릭터의 Position, 캐릭터의 Hp, Speed 등이 있겠죠! Reset 함수는 에디터 모드에서만 호출되므로 Runtime에서는 영향을 주지 않습니다. private void Reset() { _grabbable = this.GetComp..
[DefaultExecutionOrder]이란? Unity에서 스크립트의 기본 실행 순서를 지정하는 데 사용됩니다. 기본적으로 Unity는 임의의 순서로 스크립트를 실행하므로 스크립트가 서로의 실행 순서에 따라 달라지는 경우 예측할 수 없는 동작이 발생할 수 있습니다. [DefaultExecutionOrder] 속성을 사용하면 스크립트가 실행되어야 하는 순서를 명시적으로 정의할 수 있습니다. 실행 순서 값이 낮은 스크립트는 값이 높은 스크립트보다 먼저 실행됩니다. ScriptA는 실행 순서 값이 -10이므로 다른 모든 스크립트보다 먼저 실행됩니다. ScriptB의 실행 순서 값은 5이며, ScriptA 뒤에 있지만 기본 실행 순서 값인 0보다 앞에 있습니다. ScriptC 및 ScriptD 모두 실행 순..
저의 천사 발렘 유튜버님의 영상을 후루룩 해왔습니다!!! 필요한 재료 첫 번째로 Animation Rigging이 필요합니다! 더보기 IK Foot Solver using UnityEngine; public class IKFootSolver : MonoBehaviour { public bool isMovingForward; [SerializeField] LayerMask terrainLayer = default; [SerializeField] Transform body = default; [SerializeField] IKFootSolver otherFoot = default; [SerializeField] float speed = 4; [SerializeField] float stepDistance =..
영상 코드 using UnityEngine; public class PullRope : MonoBehaviour { private bool isRightHoldedState; private bool canRightHoldRope; private bool isLeftHoldedState; private bool canLeftHoldRope; private Vector3 firstRightHoldTransform; private Transform holdingRightTransform; private Vector3 firstLeftHoldTransform; private Transform holdingLeftTransform; public Transform holdRightGrabTransform; publ..
Setting https://wit.ai/ Wit.ai wit.ai 홈페이지에 들어가셔서 페이스북 로그인을 해줍니다! 로그인을 다하고나면 New App을 눌러준 후 상황에 알맞게 Name, Language를 선택해줍니다! Voice 트레이닝 Utterance : 학습 시킬 내용 Intent : 주제 Entity : 내용에 관련된 것을 Entitiy화 시키기 Voice 학습시키는 것에 대해서는 다음 시간에 적어보겠습니다! 다 했으면 Train and validate를 클릭해줍니다! Management - Settings탭에 들어가서 Server Access Token키를 복사해줍니다! 유니티 Voice SDK Setting 상단 [Oculus] - [Voice SDK] - [Settings]을 눌러줍니다!..
주석을 사용하는 경우 주석을 사용하는 경우는 다음과 같습니다! API 설명서: 클래스, 메서드, 속성 및 이벤트와 같은 공용 API를 문서화하는 데 사용됩니다. 매개 변수, 반환 값 및 예외에 대한 명확한 설명, 사용 지침 및 세부 정보를 제공하는 데 도움이 됩니다. 잘 문서화된 API를 사용하면 다른 개발자가 코드를 더 쉽게 이해하고 사용할 수 있습니다. 코드 유지 관리: 시간이 지남에 따라 코드를 유지 관리하기 위한 귀중한 자체 문서 역할을 합니다. 코드에 주석을 추가하여 특정 섹션의 목적을 설명하거나, 복잡한 알고리즘 또는 계산에 대한 통찰력을 제공하거나, 특정 디자인 결정의 근거를 설명할 수 있습니다. 이는 미래의 개발자(자신 포함)가 코드베이스를 더 잘 이해하고 수정하는 데 도움이 됩니다. 협업..
Remap이란? 값을 한 범위에서 다른 범위로 쉽게 매핑할 수 있게 해주는 함수입니다. 선형 보간법을 사용하여 입력 범위 내에서 입력 값의 위치를 기준으로 출력 범위에서 해당 값을 계산합니다. public static float Remap(float value, float inputMin, float inputMax, float outputMin, float outputMax) { return outputMin + (value - inputMin) * (outputMax - outputMin) / (inputMax - inputMin); } 주의 inputMax값이 Value보다 낮을 경우 의도한 값이 나오지 않습니다!(즉, value값이 inputMin과 inputMax 사이에 존재해야한다는 뜻입니..
관람자 카메라를 만들어야 하는 이유 VR영상을 시청하곤 할 때 많은 시청자들이 멀미를 느끼게 됩니다. 물론, 가상현실 게임을 하고 있는 유저 또한 카메라 흔들림 문제로 인해 멀미를 느끼곤 하지만 간접적으로 영상을 시청하는 사람보다는 카메라 흔들림 문제에 대해 덜 부정적 경험을 받습니다. 그 이유로는 사용자가 VR에서 자신의 움직임과 행동을 능동적으로 제어할 때 카메라에 대한 통제력을 갖게 되므로 자신의 행동과 카메라의 움직임이 일치되어 멀미가 덜 나게 됩니다(운전하는 사람이 멀미가 덜 나는 이유). 또한, 플레이어는 가상환경 안에 존재하므로 가상환경에 더욱 집중할 수 있어서 멀미가 덜 나게 됩니다. VR 관중이 직면한 문제 위 영상을 시청해보면 VR 플레이어가 어디를 볼지 어떻게 행동할지 예측할 수 없고..
인생 처음으로 만들어본 VR 멀티 게임입니다! (1인 개발했습니다 후후..) 장르는 캐쥬얼이며, 숨바꼭질 타이틀을 가지고 있습니다! 가장 큰 매력은 "변신"시스템입니다! 게임의 영감을 받은 곳은 AI인척하는 게임들이였습니다! 영상을 보시면 의문이 들 수 있습니다. 왜 3인칭 시점으로 플레이해야하냐? 저의 고집때문이였습니다. VR게임은 멀미가 나서는 안되며 답답함을 느껴선 안된다는 저의 철학이 들어 있기 때문입니다. 멀미가 나지 않기 위해 카메라를 고정하였고, 답답함을 느껴선 안되므로 3인칭 시점으로 진행하도록 하였습니다. 저의 이론은 맞았습니다! 3인칭으로 플레이 및 카메라 고정 덕분에 멀미가 전혀 느껴지지 않았습니다. VR 멀티 게임을 만들면서 가장 힘들었던 부분은 "최적화" 였습니다! 최적화에 70프..