오늘은 저의 생일입니다! 제 존재가 포트폴리오..
김진우! 생일!
- 진우의 포트폴리오
- · 2023. 6. 29.
특정 클라이언트에게 데이터 전송하기 기본적으로 Netcode에서 제공하는 ClientRpc는 모든 클라이언트에게 데이터를 전송하는 방식입니다. 하지만 경우에 따라서는 '특정' 클라이언트에게만 데이터를 전송해야 할 때가 있습니다. 이럴 때 사용할 수 있는 것이 바로 ClientRpcSendParameters입니다! 아래는 ClientRpcSendParameters를 이용하여 특정 클라이언트에게만 데이터를 전송하는 예제 코드입니다. private void DoSomethingServerSide(int clientId) { if (!IsServer) return; // 주의! 미리 알고 있는 ClientId 리스트가 있고, 변경이 필요 없는 경우, // 이 함수를 실행할 때마다 메모리 할당을 피하기 위해 이를..
Fog란? 안개는 대기에서 빛의 산란을 시뮬레이션하는 렌더링 효과를 나타냅니다. 간단히 말해서 물체가 멀어지는 듯한 착각을 불러일으켜 게임에 깊이감과 몰입감을 선사합니다. 안개 종류 안개는 Linear, Exponential 및 Exponential Squared의 세 가지 유형을 존재합니다. Linear Fog: 거리에 따라 밀도가 선형으로 증가하는 Fog입니다. 정의된 시작점과 끝점이 있으며 그 사이에서 안개 밀도가 선형으로 증가합니다. Exponential Fog: 거리에 따라 밀도가 점차 증가하며 선형 안개보다 더 자연스럽게 보입니다. Exponential Squared Fog: Exponential 안개와 비슷하지만 밀도가 훨씬 더 빠르게 증가하여 가장 강렬한 형태의 안개가 됩니다. 안개 구현 ..
Animatior Culling Mode란? 개체의 가시성(카메라에 보여지는지)에 따라 애니메이션이 업데이트되고 렌더링되는 시기와 여부를 제어하는 속성입니다. 정리(요약) Culling Mode Pros Cons 적합한 상황 AlwaysAnimate 애니메이션을 계속 재생시킴. 화면 밖의 개체에 대한 처리 리소스를 소모. 연속 애니메이션이 필요한 개체. CullUpdateTransforms 애니메이션 업데이트를 건너뛰어 성능을 최적화. 개체가 보였다가 안보였다가를 자주 반복하면 표시될 때의 깜박임. 시각적 효과에 기여하는 애니메이션이 있는 개체. CullCompletely Animator를 비활성화하여 최고의 성능 최적화. 지연된 애니메이션 업데이트 및 잠재적 깜박임. 객체가 화면에 거의 또는 전혀 보이..
(1) ProjectOnPlane함수설명예시ProjectOnPlane(Vector3 vector, Vector3 planeNormal)vector를 planeNormal에 평면에 투영한 벡터를 반환합니다. 결과 벡터는 plane에 평행합니다.경사면을 따라 이동하는 캐릭터의 움직임을 슬로프의 평면에 투영하여 올바른 이동 방향을 얻습니다. 'ProjectOnPlane(Vector3 Player의 이동방향, PlaneNormal)'은 Plane의 Normal에 수직인 방향의 투영된 벡터를 Return해줍니다.즉, MoveVector는 Plane에 Normal에 수직인 방향(ProjectOnPlane Vector)에 투영된 벡터로 반영됩니다. 즉 '무지(Icon)'가 있는 곳까지가 MoveVector가 됩니다..
김진우! 생일!
Rigidbody Interpolate란? None: 기본 설정이며 최소한의 처리가 필요합니다. 물리 개체가 매우 빠르게 움직이지 않거나 약간의 흔들림이 문제가 되지 않는 게임에 적합합니다. 예를 들어 턴 기반 전략 게임에서는 보간이 필요하지 않을 수 있습니다. Interpolate: 게임의 프레임 속도가 물리 업데이트 속도보다 훨씬 높을 때 물리 개체의 움직임을 부드럽게 만드는 데 유용합니다. 예를 들어 레이싱 게임에서 보간을 사용하여 게임이 높은 프레임 속도로 실행되는 경우에도 자동차의 움직임이 더 부드럽게 보이도록 할 수 있습니다. Extrapolate: 보간에 의해 도입될 수 있는 인지 지연을 줄이려는 경우, 특히 개체가 플레이어 입력에 의해 직접 제어되는 경우에 유용합니다. 예를 들어 플레이어가..
Rigidbody의 'Collision Detection' 이란? 물리 엔진이 객체에 대한 충돌 감지를 처리하는 방법을 결정하는 방식을 뜻합니다. 이 속성에는 네 가지 모드가 있습니다. Discrete: 기본값이며 CPU를 가장 적게 사용하는 옵션입니다. 물리 엔진은 각 물리 시간 단계가 끝날 때만 충돌을 확인합니다. 이로 인해 때때로 빠르게 움직이는 물체가 충돌을 감지하지 않고 다른 물체를 통과하는 "터널링"으로 알려진 문제가 발생할 수 있습니다. Continuous: CPU를 더 많이 사용하지만 빠르게 움직이는 개체에서 터널링을 방지합니다. 물리 엔진은 마지막 물리 타임스텝에서 다음 타임스텝까지 미리 예측하고 해당 시간 동안 객체가 무엇과 충돌하는지 확인합니다. 그러나 정적 콜라이더(비움직이는 물체)..
Tag란? Tag는 프로젝트의 특정 버전(지점)을 쉽게 식별하고 검색할 수 있도록 참조 역할을 합니다. 일반적으로 안정적인 릴리스, 또는 중요한 커밋을 표시하는 데 사용됩니다. Tag의 용도 중요한 지점 표시: 프로젝트 기록 내에서 중요한 커밋, 안정적인 릴리스, 완료된 기능 등을 나타내는 마커 역할을 합니다. 간편한 버전 검색: 프로젝트 특정 지점을 편리하게 검색하고 작업할 수 있습니다. 커뮤니케이션 및 구성: 팀 구성원 간의 효과적인 커뮤니케이션을 촉진하고 중요한 이벤트 또는 버전에 대한 명확한 참조를 제공하여 프로젝트 진행 상황을 구성 및 추적하는 데 도움이 됩니다. Tag 만드는 방법과 확인하는 방법 Git Hub Desktop을 이용해서 Tag을 만드는 방법은 매우 간단합니다~! 원하는 Comm..
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와도 호환됩..