}
진우의 혼잣말하는 블로그
close
프로필 배경
프로필 로고

진우의 혼잣말하는 블로그

  • 분류 전체보기 (635) N
    • Unity (448) N
      • Study (223) N
      • VR (75)
      • AR (6)
      • Assets (39)
      • Fusion2 (9)
      • Shader (22)
      • 디자인패턴 (7)
      • Animations (7)
      • Editor (8)
      • Attribute (7)
      • VContainer (8)
      • Netcode for GameObjects (21)
      • Relay (5)
      • Lobby (11)
    • 진우의 포트폴리오 (23)
    • 나만의 꿀팁 (37)
    • Git 사용방법 (22)
    • AI (23)
    • 게임후기 (16)
    • 블렌더 (9)
    • 홍보 및 리뷰 (9)
    • 웹 개발 (27)
    • 정리 안 됨 (16)
    • 뉴스레터 (0)
  • 홈
  • 태그
  • 방명록
유니티 Meta Avatar SDK #스트리밍 방식

유니티 Meta Avatar SDK #스트리밍 방식

Meta Avatar 움직임을 네트워크를 통해 동기화하기 위해 RecordStreamData와 ApplyStreamData 메서드, StreamLOD와 같은 기능을 제공합니다. RecordStreamDatapacket.dataByteCount = _localAvatar.RecordStreamData_AutoBuffer(lod, ref packet.data); //예시RecordStreamData 메서드는 아바타의 현재 상태(움직임과 표정 등)를 캡처하여 이진(binary) 형식으로 압축합니다. 생성된 데이터는 네트워크를 통해 전송되어 특정 시점(=스냅샷)의 아바타 상태를 나타냅니다.ApplyStreamDataavatar.ApplyStreamData(tempStreamDatas); //예시네트워크를 통해 ..

  • format_list_bulleted Unity/VR
  • · 2024. 12. 30.
  • textsms
배열 깊은 복사와 얕은 복사에 대해서

배열 깊은 복사와 얕은 복사에 대해서

게임 개발을 하다 보면, 배열(혹은 리스트)의 데이터를 복사해야 할 때가 종종 있습니다.그런데 C#에서 배열은 참조 타입이라 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)가 존재하여 사용할 때 혼동될 수 있습니다. Unity 프로젝트에서 발생할 수 있는 사례로 알아보겠습니다. 얕은 복사(Shallow Copy)란?“원본과 같은 데이터를 가리키는 참조만 복사한다.”즉, 배열 변수가 가리키는 메모리 주소(참조)만 복사하는 방식입니다. 원본 배열과 복사본 배열은 동일한 실체(데이터)를 공유하므로, 한쪽을 변경하면 다른 쪽에도 영향이 갑니다.void Start(){ int[] originalArray = { 1, 2, 3, 4 }; int[] shallowCopy = origin..

  • format_list_bulleted Unity/Study
  • · 2024. 12. 22.
  • textsms
유니티 VR Compositor Layers를 이용해서 선명한 UI 연출하기 #OVR Overlay

유니티 VR Compositor Layers를 이용해서 선명한 UI 연출하기 #OVR Overlay

VR로 게임을 하다보면 UI가 선명하지 않아서 보기 불편한 적이 많으셨죠? 특히 2D UI의 경우 Text가 읽기 매우 불편한데요, 오늘 OVR Overlay 컴포넌트를 이용해서 약간 해결해보고자 합니다.OVROverlay는 Compositor Layer를 사용해서 텍스처를 애플리케이션 렌더링 경로를 거치지 않고 직접 디스플레이로 전달하므로, CPU와 GPU 리소스를 절약하면서 선명한 이미지를 제공하도록 도와주는 컴포넌트입니다.Compositor Layer란?Compositor Layer는 VR 애플리케이션의 렌더링 과정을 최적화하여 텍스처, UI, Video와 같은 요소를 효율적으로 디스플레이에 출력하는 방식입니다.Compositor Layer 방식은 Eye Buffer(전통적인 VR 렌더링 파이프라인..

  • format_list_bulleted Unity/VR
  • · 2024. 12. 17.
  • textsms
유니티 Meta Avatar SDK 24.1.1 with Fusion2 - Platform Init

유니티 Meta Avatar SDK 24.1.1 with Fusion2 - Platform Init

Meta Avatar SDK 버전이 29 넘게 나온거 알고 계시나요?24버전과 29버전의 가장 큰 차이는 캐릭터의 비주얼 부분인데요. 좌측 사진이 Meta Avatar 1세대이고, 우측 사진이 Meta Avatar 2세대입니다.좀 더 사실적인 느낌을 보여주고 있습니다.Oculus 플랫폼 SDK를 비동기적으로 초기화Core.AsyncInitialize()Oculus 플랫폼을 초기화하는 것은 Oculus의 다양한 기능과 서비스에 접근할 수 있도록 하기 위함입니다. Oculus 서비스에는 사용자 인증, 스토어 접근, 소셜 기능, 클라우드 저장소 등이 있습니다. 사용자가 애플리케이션을 사용할 권한이 있는지 확인Entitlements.IsUserEntitledToApplication()정품 사용자만이 애플리케이션..

  • format_list_bulleted Unity/VR
  • · 2024. 12. 11.
  • textsms
유니티 Haptic Clip Player에 대해 알아보자! #Haptic 징~

유니티 Haptic Clip Player에 대해 알아보자! #Haptic 징~

Meta XR Haptics SDK 패키지 Example을 다운받으시면 Haptic SDK Play Sample 스크립트를 발견하실 수 있습니다.해당 스크립트는 Haptic Clip Player Class을 이용해서 Haptic을 사용하는 예제가 담겨 있는데요. 해당 스크립트에 대해서는 다루지 않겠습니다.이번 포스팅에서는 Haptic Clip Player Class에 대해서만 알아보겠습니다.Haptic Clip Player 클래스란?Haptic Clip Player는 Meta Quest Controller의 진동을 제어하는 유틸리티 클래스입니다.Haptic Clip Player의 핵심 기능에는 다음과 같습니다.  메서드/프로퍼티 기능 설명 특징 Play(Controller)할당된 HapticClip을 ..

  • format_list_bulleted Unity/VR
  • · 2024. 12. 9.
  • textsms
유니티 TextMeshPro Text Style을 이용해서 대소문자 치환하기

유니티 TextMeshPro Text Style을 이용해서 대소문자 치환하기

TextMeshPro컴포넌트에는는 Text를 더 세밀하게 제어할 수 여러가지 옵션들이 존재합니다.그 중, 텍스트의 Style을 이용하면 코딩없이 Lowercase, Uppercase를 선택할 수 있습니다.

  • format_list_bulleted Unity/Study
  • · 2024. 11. 20.
  • textsms
유니티 Facade 패턴에 대해 알아보자

유니티 Facade 패턴에 대해 알아보자

Facade 패턴은 복잡한 시스템을 단순화하여 쉽게 사용할 수 있도록 하는 디자인 패턴입니다. 위 사진처럼 거대한 건물 뒤에 부분은 보이지 않는 것처럼, 퍼사드 패턴을 통해 뒤에서 일어나는 것들이 무엇이 있는지 알 필요 없이 사용하기 쉽게 만드는데 초점을 두는 패턴이라고생각하시면 됩니다.      Facade 패턴의 개념Facade 패턴은 복잡한 서브시스템들을 단순화하여, 클라이언트가 하나의 인터페이스만으로 시스템을 조작할 수 있게 해줍니다. 여러 객체와 클래스들이 상호작용하여 시스템이 구성될 때, Facade 클래스가 이를 조정하여 하나의 간단한 API로 제공합니다. 퍼사드 패턴은 다음과 같은 경우에 사용하면 좋습니다.   복잡한 코드 구조를 숨기고 간단한 인터페이스를 제공하고자 할 때클라이언트 코드가..

  • format_list_bulleted Unity/Study
  • · 2024. 11. 12.
  • textsms
유니티 Adapter 패턴에 대해 알아보자

유니티 Adapter 패턴에 대해 알아보자

Adapter 패턴은 서로 호환되지 않는 인터페이스를 가진 클래스들을 연결하는 데 유용한 디자인 패턴입니다. 즉, 기존 클래스와 새로운 클래스 간의 호환성을 확보하는 역할을 하며, 코드 수정 없이도 기존 코드를 새로운 방식으로 사용할 수 있도록 도와줍니다.Adapter 패턴의 개념Adapter 패턴은 두 가지 주요 컴포넌트로 구성됩니다.Target: 클라이언트가 기대하는 인터페이스Adaptee: 기존에 존재하며 새로 요구되는 인터페이스와 호환되지 않는 클래스Adapter: Target 인터페이스를 구현하여 Adaptee 클래스를 래핑하는 클래스유니티에서는 외부 API 또는 기존 시스템 코드와 호환이 되지 않는 상황에서 Adapter 패턴을 사용할 수 있습니다.외부 데이터 API와의 호환성 문제 해결예를 ..

  • format_list_bulleted Unity/Study
  • · 2024. 11. 11.
  • textsms
유니티 추상 팩토리패턴에 대해서 #Abstract Factory

유니티 추상 팩토리패턴에 대해서 #Abstract Factory

유니티 팩토리패턴에 대해 알아보자! #Factory 패턴유니티 팩토리 패턴에 대해서 #UML 작성해보기팩토리 패턴은 객체 생성을 담당하는 팩토리 클래스를 도입하여 객체 생성 로직을 캡슐화하는 디자인 패턴입니다. 팩토리  패턴을 사용하면 객체wlsdn629.tistory.com바로 저번 포스팅에 팩토리패턴에 대해서 글을 써봤습니다.오늘은 저번 시간에 이어 조금 더 나아간 추상 팩토리에 대해서 알아보겠습니다. 기본 팩토리 패턴과 추상 팩토리 패턴의 차이기본 팩토리 패턴(Factory Method)과 추상 팩토리 패턴(Abstract Factory)은 모두 객체 생성과 관련된 디자인 패턴이지만, 사용하는 방식과 목적에서 차이가 있습니다. 각각의 패턴은 객체를 생성하는 역할을 담당하지만, 추상화의 수준과 용도가..

  • format_list_bulleted Unity/Study
  • · 2024. 11. 10.
  • textsms
유니티 싱글톤패턴에 대해서 #Singleton Pattern

유니티 싱글톤패턴에 대해서 #Singleton Pattern

두고두고 써먹는 싱글톤(SingleTon) 코드싱글톤 패턴이란? Unity 싱글톤 패턴은 특정 클래스가 게임 수명 기간 동안 하나의 인스턴스만 갖도록 하기 위해 Unity 게임 개발에서 일반적으로 사용되는 디자인 패턴입니다. 이 패턴은 게임 내wlsdn629.tistory.com예전에도 싱글톤관련해서 블로그 포스팅을 작성한 적이 있습니다. 이번시간에는 싱글톤 패턴의 종류에는 무엇이 있는지 한 번 알아보겠습니다.기본 싱글톤 패턴 (No MonoBehaviour)public class GameManager{ private static GameManager instance; public static GameManager Instance { get { ..

  • format_list_bulleted Unity/Study
  • · 2024. 11. 8.
  • textsms
유니티 Fusion2 Network Behaviour에 대해 알아보자!

유니티 Fusion2 Network Behaviour에 대해 알아보자!

Network Behaviour란?Network Behaviour 줄여서 NB는 Unity의 MonoBehaviour를 상속받아서 사용됩니다.그렇기에 유니티 MB의 함수들을 모두 사용할 수 있습니다. NB는 네트워크 기능을 통합한 클래스이며 NetworkObject와 연계되어 Network State 관리, RPC, Network Property 관리 등을 지원합니다. 주요 기능Runner 속성을 사용가능하게 해준다, Network Runner에 대한 참조를 제공합니다Network Object에 대한 참조를 제공합니다[Networked] Property를 관리 가능하게 해줍니다RPC 관리를 가능하게 해줍니다콜백함수를 사용할 수 있게 해줍니다, Spawend(), Despawned(), FixedUpdat..

  • format_list_bulleted Unity/Fusion2
  • · 2024. 11. 6.
  • textsms
유니티 Fusion2 Network Object에 대해 알아보기!

유니티 Fusion2 Network Object에 대해 알아보기!

Network Object란?Network Object는 Game Session안에서 단일 Network 객체를 나타냅니다.Network Object 줄여서 NO는 Scene이 로드되거나 Spawning함수를 통해 만들 수 있습니다. NO는 Game Session안에서 고유한 Network ID를 가지게 되는데, 이 ID는 Network 상에서 참조할 때 혹은 참조될 때 사용할 수 있습니다. NetworkRunner.TryFindObject() 메서드를 이용하여 Network Id로 Network Object를 찾아낼 수 있습니다.Network Object를 생성하는 방법Network Object를 생성하는 방식에는 2가지가 있습니다.Runner.Spawn()Scene에 미리 NO를 배치해놓기NO를 생성..

  • format_list_bulleted Unity/Fusion2
  • · 2024. 11. 4.
  • textsms
유니티 NetworkRunner에 대해서 #Fusion2

유니티 NetworkRunner에 대해서 #Fusion2

NetworkRunner란?Network Runner는 네트워크 시스템의 중심이 되는 컴포넌트입니다.  Network Runner는 다음과 같은 핵심 역할을 합니다.Network Peer 관리SimulationBehaviour/INetworkCallbacks을 관리Game Session / (Join/Create) Room 관리Tick 관리Player / PlayerRef 관리Network Peer 관리Network Runner는 각 Peer를 관리한다고 해서 Scene Hierachy에 각 클라이언트마다 생겨나지는 않습니다. 클라이언트는 자신의 인스턴스에서 Network Runner를 생성하기 때문에 Scene에는 본인 자신꺼 하나의 Network Runner만이 존재합니다.  해당 Network Ru..

  • format_list_bulleted Unity/Fusion2
  • · 2024. 10. 28.
  • textsms
유니티 gameObject.activeSelf란?

유니티 gameObject.activeSelf란?

gameObject.activeSelf란? 해당 GameObject가 현재 활성 상태인지 여부를 확인할 수 있는 프로퍼티입니다. activeSelf는 해당 GameObject 자신이 활성화(active)되어 있는지 여부를 나타내지만 부모 GameObject의 활성화 여부에는 영향을 받지 않습니다. 즉, 부모가 비활성화되더라도 자식 GameObject가 활성화되어 있다면 activeSelf는 여전히 true일 수 있습니다. GameObject가 실제로 장면에서 활성화되어 있는지 여부는 gameObject.activeInHierarchy를 사용하여 확인할 수 있습니다.

  • format_list_bulleted Unity/Study
  • · 2024. 10. 21.
  • textsms
유니티 Snap Interactor을 이용해서 원하는 위치에 오브젝트 놓기 #Socket

유니티 Snap Interactor을 이용해서 원하는 위치에 오브젝트 놓기 #Socket

Snap Interactor 컴포넌트와 Snap Interactable을 활용하면 원하는 위치에 원하는 오브젝트를 놓을 수 있습니다. 이때 어느정도 간격이 떨어져 있어도 Smooth하게 해당 위치로 날아가면서 딱 Snap되듯 위치하는 기능도 추가할 수 있습니다. 이번 시간에는 원하는 위치에 Snap하는 방법과 Smooth하게 가는 방법, 그리고 해당 위치에 Snap할 수 있음을 시각적으로 알려주는 방법까지 알아보겠습니다.Snap InteractorSnap Interactor컴포넌트가 붙는 객체는 인터렉션하는 객체입니다. 주로 원하는 곳에 두게 되는 오브젝트입니다. 예를 들면 열쇠같은 객체가 있습니다. Building Blocks 기능을 이용해서 간단하게 인터렉션할 수 있는 Cube를 만들어줍니다. 그 C..

  • format_list_bulleted Unity/VR
  • · 2024. 10. 18.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 30
  • navigate_next
진우의 혼잣말 하는 블로그👱‍♀️
📂전체 카테고리
  • 분류 전체보기 (635) N
    • Unity (448) N
      • Study (223) N
      • VR (75)
      • AR (6)
      • Assets (39)
      • Fusion2 (9)
      • Shader (22)
      • 디자인패턴 (7)
      • Animations (7)
      • Editor (8)
      • Attribute (7)
      • VContainer (8)
      • Netcode for GameObjects (21)
      • Relay (5)
      • Lobby (11)
    • 진우의 포트폴리오 (23)
    • 나만의 꿀팁 (37)
    • Git 사용방법 (22)
    • AI (23)
    • 게임후기 (16)
    • 블렌더 (9)
    • 홍보 및 리뷰 (9)
    • 웹 개발 (27)
    • 정리 안 됨 (16)
    • 뉴스레터 (0)
인기 글
최근 글
태그
  • #티스토리챌린지
  • #웹 개발
  • #Meta SDK
  • #유니티
  • #자바스크립트
  • #유니티 꿀팁
  • #VR
  • #오블완
  • #Unity
  • #유니티 VR
09-29 00:05
전체 방문자
오늘
어제
전체
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바