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

진우의 혼잣말하는 블로그

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

​유니티 6와 OpenXR 플러그인, 그리고 Meta XR SDK v74 이상을 활용하여 Meta Quest용 XR 애플리케이션 개발하기

유니티 6부터는 Meta XR SDK v74 이상을 사용하는 경우, OpenXR 플러그인을 활용하는 것이 권장됩니다. Meta가 OpenXR 표준을 적극적으로 지원하고 있으며, 다양한 플랫폼에서 일관된 XR 경험을 제공할 수 있도록 하기 위함입니다.  XR Plugin Management for Meta QuestThis topic describes how to install XR vendor plugins using the Unity XR Plugin framework. It also explains the overall Meta XR SDKs and Unity XR Plugin framework architecture and the benefits of them.developers.meta.comUn..

  • format_list_bulleted Unity/VR
  • · 2025. 3. 17.
  • textsms
유니티 Behaviour Desinger Task Composites Node들에 대해 간단히 알아보자!

유니티 Behaviour Desinger Task Composites Node들에 대해 간단히 알아보자!

이전에 Behaviour Desinger에 대해 소개해드린적이 있습니다.아직도 종종 BD 에셋을 사용해서 AI를 구현하곤 하는데요, 간만에 정리의 필요성을 느껴서 이렇게 작성하게 되었습니다. 유니티 Behaviour Designer란?Behaviour Tree, 줄여서 BT라고 불리는 이 용어는 예전부터 들어왔었습니다. 하지만 BT의 실용성에 대해 그닥 느끼지 못했기에 지금까지 사용하지 않았지만 FSM Pattern을 직접 제작해보고 난 이후 BT의wlsdn629.tistory.comSequence 계열 (순차 실행)Task이름 설명SequenceTask를 순차적으로 실행하며, 하나라도 Fail이면 즉시 중단하고 Fail 반환Random Sequence모든 자식 작업이 성공해야 Success 반환, 하나..

  • format_list_bulleted Unity/Study
  • · 2025. 2. 28.
  • textsms
유니티 렌즈 플레어(Lens Flare)

유니티 렌즈 플레어(Lens Flare)

렌즈 플레어(Lens Flare)를 추가하기 위해서는 두 개의 스텝을 밟으셔야 합니다.첫 번째, 라이팅 에셋에 Lens Flare (SRP)를 추가해줍니다. 두 번째, Main Camera에 Flare Layer를 추가해주시면 됩니다. Lens Flare (SRP) 옵션 정리표 옵션 설명기본값추천 설정 예제Lens Flare Data사용할 렌즈 플레어 데이터 에셋Default Lens Flare (SRP)태양, 가로등 등 각각의 환경에 맞는 Flare Data 사용Intensity렌즈 플레어의 밝기 조절1.0태양: 1.5 / 가로등: 0.8Scale렌즈 플레어의 크기 조절1.0태양: 1.2 / 가로등: 0.9Light Override특정 Light 컴포넌트와 연결없음태양, 가로등 등 특정 광원에 연결Sc..

  • format_list_bulleted Unity/Study
  • · 2025. 2. 26.
  • textsms
유니티에서 데이터 보호하는 방법에 대해서# 캡슐화, 보안, 유지보수, 그리고 무결성

유니티에서 데이터 보호하는 방법에 대해서# 캡슐화, 보안, 유지보수, 그리고 무결성

게임 개발을 하다 보면 변수 하나 선언하는 것도 신중해야 할 때가 많습니다. 특히, 게임 데이터(ex_ HP, 경험치, 레벨 등)는 외부에서 무분별하게 변경되면 심각한 버그를 초래할 수 있습니다. 이번 글에서는 유니티에서 데이터 보호를 위한 캡슐화, 보안, 유지보수, 그리고 데이터 무결성 개념을 정리해보습니다.캡슐화란 무엇인가?캡슐화(Encapsulation)는 객체지향 프로그래밍(OOP)의 중요한 원칙 중 하나로, 데이터를 외부에서 직접 접근하지 못하게 하고, 반드시 정해진 인터페이스(메서드나 프로퍼티)를 통해서만 변경할 수 있도록 하는 기법입니다.잘못된 예시 (캡슐화 X)public class Player{ public float HP = 100; // 누구나 직접 변경 가능}// 다른 스크립..

  • format_list_bulleted Unity/Study
  • · 2025. 2. 24.
  • textsms
유니티 VR 중심을 재정렬하는방법

유니티 VR 중심을 재정렬하는방법

RecenterPose()란 무엇인가?OVRManager.display.RecenterPose() 함수는 (Meta)VR 환경에서 사용자의 현재 트래킹 데이터를 기반으로 Tracking Origin을 재설정합니다. 사용자가 VR 공간에 들어서거나 예상치 못한 문제가 발생했을 때, 이 함수를 호출하면 사용자의 포지션과 방향이 초기 상태로 재조정됩니다.OVRManager.display.RecenterPose();

  • format_list_bulleted Unity/VR
  • · 2025. 2. 20.
  • textsms
유니티 인스펙터에서 함수를 실행시키는 간단한 어트리뷰트&에디터 스크립트

유니티 인스펙터에서 함수를 실행시키는 간단한 어트리뷰트&에디터 스크립트

[Button] public void PrintMessage() { Debug.Log(message); } [Button("Reset Position")] public void ResetPosition() { transform.position = Vector3.zero; Debug.Log("Position Reset!"); } [Button("Print Custom Message")] public void PrintCustomMessage(string message) { Debug.Log($"Custom Message: {message}"); }​using System;using Uni..

  • format_list_bulleted Unity/Attribute
  • · 2025. 2. 18.
  • textsms
유니티 Meta Avatar SDK2에 대한 모든 것

유니티 Meta Avatar SDK2에 대한 모든 것

OvrAvatarManagerOvrAvatarManager는 SDK의 생명주기(LifeCycle)를 관리하며, 주요 API를 제공하는 싱글톤 컴포넌트로써 중앙 설정 관리 역할을 수행하며 다음 기능들을 제공합니다.아바타 로드 속도 및 동시 실행 제한 등을 제어하여 프레임 속도를 유지합니다. 네트워크 대역폭 설정으로 로드 시간을 조정합니다.-1로 설정하면 대역폭 제한이 없으며, 설정 값을 낮추면 로드 시간이 증가할 수 있습니다.아바타 로드를 빠르게 하기 위해 자산(Avatar Asset)을 미리 로드합니다.Asset Preload는 로드 속도를 높이는 대신 메모리 사용량이 증가합니다.로그 레벨 설정으로 SDK 디버깅을 지원합니다.스키닝 솔루션 및 각 LOD에 대한 품질 설정을 지원합니다.사용하지 않는 Ski..

  • format_list_bulleted Unity/VR
  • · 2025. 2. 3.
  • textsms
Unity에서 Handles.Label()을 활용한 씬 뷰 디버깅

Unity에서 Handles.Label()을 활용한 씬 뷰 디버깅

📌 Handles.Label()란?Handles.Label()은 씬(Scene) 뷰에서 특정 위치에 텍스트를 표시할 수 있는 함수입니다. Handles.Label()은 에디터 전용 기능입니다.기본적인 Handles.Label() 사용법using UnityEngine;using UnityEditor; // Handles를 사용하기 위해 필요public class HandlesLabelExample : MonoBehaviour{ void OnDrawGizmos() { Handles.Label(transform.position, "여기가 내 위치!"); }}씬(Scene) 창에서 오브젝트의 위치에 "여기가 내 위치!"라는 텍스트가 표시됩니다.public static void La..

  • format_list_bulleted Unity/Study
  • · 2025. 1. 31.
  • textsms
유니티 Wit.ai와 Meta Voice SDK를 활용한 음성 인식

유니티 Wit.ai와 Meta Voice SDK를 활용한 음성 인식

Unity Meta SDK를 사용할 때 음성 인식 기능을 구현하려면 Meta Voice SDK와 Wit.ai을 활용하시면 됩니다.  GitHub - oculus-samples/voicesdk-samples-whisperer: Oculus Voice SDK showcase demonstrating the use of Voice SDK in Unity. ThisOculus Voice SDK showcase demonstrating the use of Voice SDK in Unity. This project contains the source code for the "Whisperer" demo available on App Lab. The Oculus SDK and other suppor...github...

  • format_list_bulleted Unity/VR
  • · 2025. 1. 24.
  • textsms
게임 모델링: 실사풍과 스타일라이즈드의 차이점

게임 모델링: 실사풍과 스타일라이즈드의 차이점

게임 개발 과정에서 실사풍과 스타일라이즈드는 게임의 전체적인 비주얼과 분위기를 결정하는 중요한 스타일입니다.두 스타일은 게임의 목적, 타겟층, 기술적 요구사항에 따라 선택되며, 각각의 장단점이 뚜렷합니다. 이번 글에서는 이 두 가지 스타일의 개념과 특징을 자세히 살펴보겠습니다.실사풍 (Realistic Style)실사풍은 현실 세계를 최대한 사실적으로 재현하는 스타일입니다. 이 스타일은 고해상도의 텍스처, 자연스러운 조명, 그리고 물리적 정확성을 강조합니다. 요즘 게임은 현실보다 더 현실같은 스타일을 만들어내곤 하죠. 그래픽의 발전덕분에요.목적: 현실과 유사한 경험 제공 (실제로 있을 법한 경험을 제공하기 위해, 현실보다 더 아름다운 분위기를 연출)디자인 특징: 세밀한 디테일, 고해상도 텍스처조명: 물리..

  • format_list_bulleted Unity/Study
  • · 2025. 1. 22.
  • textsms
LINQ의 Distinct() 메서드로 중복 제거하기

LINQ의 Distinct() 메서드로 중복 제거하기

데이터를 다룰 때 종종 중복된 값이 문제를 일으키곤 합니다. LINQ에서 제공하는 Distinct() 메서드는 이러한 중복을 쉽게 제거해줍니다. Distinct()의 사용법과 다양한 활용 예제를 살펴보겠습니다.Distinct()란?Distinct()는 컬렉션 내의 중복된 요소를 제거하고 고유한 요소만 반환하는 LINQ 메서드입니다.using System;using System.Linq;using System.Collections.Generic;class Program{ static void Main() { var numbers = new List { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 }; var uniqueNumbers = numbers.Distinc..

  • format_list_bulleted Unity/Study
  • · 2025. 1. 20.
  • textsms
유니티 Animation의 State를 관리할 수 있는 스크립트 #StateMachineBehaviour

유니티 Animation의 State를 관리할 수 있는 스크립트 #StateMachineBehaviour

StateMachineBehaviour란?StateMachineBehaviour는 특정 State에 진입하자마자, 혹은 빠져나가기 직전 등 각 State의 상황에 따라 어떠한 코드를 자동으로 실행할 수 있도록 도와주는 스크립트입니다.  StateMachineBehaviour는 State 입·출력, 업데이트 이벤트 등 다양한 콜백을 제공합니다. OnStateEnter, OnStateUpdate, OnStateExit 등은 물론, Transition시점에 호출되는 이벤트도 다룹니다.더보기🔽Animator란?Unity의 Animator는 State단위로 움직임을 정의합니다.  “(Transition) Condition”과 “Animation Clip”을 활용하여 각 State를 서로 연결합니다. StateM..

  • format_list_bulleted Unity/Study
  • · 2025. 1. 15.
  • textsms
유니티 메타 아바타2에 로코모션 행동 추가하기 #Adding Locomotion to an Avatar

유니티 메타 아바타2에 로코모션 행동 추가하기 #Adding Locomotion to an Avatar

Meta Avatar SDK 31버전부터는 Avatars 2.0의 도입으로 인해, 3인칭 뷰에서 아바타가 다리를 가지게 되었습니다. 아바타 다리가 생김에 따라 아바타에 적절한 애니메이션이 필요하게 되었는데요. 예를 들어, 점프, 걷기, 뛰기 등.아바타를 더 생동감 있게 만들기 위해, OvrAvatarAnimationBehavior라는 새로운 컴포넌트를 사용하여 아바타에 전신 로코모션을 추가할 수 있게 되었습니다.OvrAvatarAnimationBehavior컴포넌트는 아바타가 환경에 맞게 움직일 수 있도록 하는 애니메이션 컨트롤러를 구현하며, 헤드셋의 움직임을 기반으로 애니메이션을 작동시킬 수 있습니다. 또한, 커스텀 전신 애니메이션을 사용할 수도 있습니다.전신 로코모션으로 아바타 애니메이션 활성화Ava..

  • format_list_bulleted Unity/VR
  • · 2025. 1. 13.
  • textsms
C# Null-forgiving(널 허용) Operator(!) 알아보기

C# Null-forgiving(널 허용) Operator(!) 알아보기

C#은 null 참조 에러(null reference exception)를 방지하기 위해 널 허용 참조 타입(nullable reference type)을 도입했습니다. 이에 따라, 컴파일러는 변수가 널(null)일 가능성이 있는 경우 경고를 표시합니다. 하지만 개발자가 변수가 절대로 널이 아님을 확신하는 경우, 컴파일러의 경고를 무시하고 이를 명시적으로 나타내기 위해 널 허용 연산자(null-forgiving operator, !)를 사용할 수 있습니다.널 허용 연산자란?널 허용 연산자(!)는 C#에서 널 검사 경고를 억제하는 연산자입니다. 이를 통해 컴파일러가 "이 변수는 널일 수도 있다"고 경고하는 상황을 개발자가 강제로 무시할 수 있습니다.string? nullableString = null;//..

  • format_list_bulleted Unity/Study
  • · 2025. 1. 10.
  • textsms
TearDown과 Dirty #프로그래머들이 알아야 할 두 가지 용어

TearDown과 Dirty #프로그래머들이 알아야 할 두 가지 용어

프로그래밍할 때 종종 사용하는 용어 중 TearDown과 Dirty는 맥락에 따라 다른 의미로 쓰이지만, 각각의 개념은 개발 과정에서 중요합니다. 이번 글에서는 이 두 용어의 의미와 사용 예를 정리해보겠습니다.TearDownTearDown은 설정된 상태를 초기화하거나 제거하는 과정을 의미합니다. 이는 특정 작업이 완료된 후 남아 있는 자원을 정리하거나, 테스트 환경을 원래 상태로 복구하는 데 사용됩니다.예시Unity의 Test Framework에서 TearDown은 테스트가 끝난 후 실행되는 메서드입니다. 테스트 중 생성된 오브젝트나 데이터를 정리해, 다음 테스트가 영향을 받지 않도록 해줍니다.using UnityEngine;using UnityEngine.TestTools;using NUnit.Fram..

  • format_list_bulleted Unity/Study
  • · 2025. 1. 8.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ···
  • 30
  • navigate_next
인기 글
태그
  • #유니티 VR
  • #VR
  • #Meta SDK
  • #웹 개발
  • #티스토리챌린지
  • #유니티 꿀팁
  • #Unity
  • #자바스크립트
  • #유니티
  • #오블완
최근 댓글
10-24 00:00
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바