진우의 혼잣말하는 블로그
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)
  • 홈
  • 태그
  • 방명록
유니티 AudioSource GetSpectrumData함수 알아보기

유니티 AudioSource GetSpectrumData함수 알아보기

GetSpectrumData란? 재생 중인 오디오 소스의 스펙트럼 데이터를 제공해주는 함수입니다. 스펙트럼 데이터란? 이전 글을 참고해주세요. 유니티 Audio Spectrum 이론에 대해서 #기초 오디오 스펙트럼이란 악기나 음악에 포함된 음향에너지를 주파수별로 나타낸 것을 뜻합니다. 오디오 스펙트럼을 가지고 무엇을 할 수 있냐? 오디오 스펙트럼을 분석해서 아래 사진처럼 비쥬얼 wlsdn629.tistory.com GetSpectrumData 매개 변수 매개변수 설명 samples FFT 결과를 저장할 배열입니다. 배열의 길이는 2의 제곱 수여야 합니다. channel 채널을 나타냅니다. 모노, 스테레오 및 멀티 채널(최대 여덟 개 채널)을 지원합니다. (FFTWindow) window 샘플링할 때 사용..

  • format_list_bulleted Unity/Study
  • · 2024. 3. 22.
  • textsms
유니티 Audio Spectrum 이론 알아보기 #기초

유니티 Audio Spectrum 이론 알아보기 #기초

오디오 스펙트럼이란? 악기나 음악에 포함된 음향에너지를 주파수별로 나타낸 것을 뜻합니다. 오디오 스펙트럼을 가지고 오디오 스펙트럼을 분석해서 아래 사진처럼 시각적 연출을 해보고자 합니다. 스펙트럼 기초 이론 소리를 분석해봤을 때 진동수가 많고 주파수가 높으면 높은소리입니다. 진동수가 적고 주파수가 낮으면 낮은 소리입니다 인간이 들을 수 있는 소리의 범위, 즉 가청 주파수의 범위는 20Hz~20kHz라고 합니다. 스펙트럼에서 사운드에 어떻게 영향을 미치는가에 오디오 스펙트럼을 서브 베이스, 베이스, 미드레인지(하, 중, 상), 하이엔드(하, 상)으로 구분짓는다고 합니다. 스펙트럼 대역 서브 베이스 사람이 들을 수 있는 가장 깊고 낮은 소리의 대역이라고 합니다. 20Hz~60Hz사이라고 합니다. 예시로는 베..

  • format_list_bulleted Unity/Study
  • · 2024. 3. 21.
  • textsms
유니티 플레이어 주변으로 동그랗게 오브젝트 소환하기

유니티 플레이어 주변으로 동그랗게 오브젝트 소환하기

제가 즐겨하는 모바일 게임에서 플레이어 근처에 소환되는 구체들이 멋있길래 한 번 구현해봤습니다. 플레이어를 기준으로 동그랗게 소환되는 방법입니다. 코드 public GameObject SpawnObject; public GameObject go; public int SpawnCount = 10; public float Range = 5f; private void Spawn() { for (int i = 0; i < SpawnCount; i++) { float angle = i * Mathf.PI * 2 / SpawnCount; float x = Mathf.Cos(angle) * Range; float z = Mathf.Sin(angle) * Range; float angleDegrees = -angle ..

  • format_list_bulleted Unity/Study
  • · 2024. 3. 20.
  • textsms
유니티 최적화 팁

유니티 최적화 팁

Animator와 Shader에서는 String 대신(String최적화)string대신 Animator.stringToHash, Shader.PropertyID를 사용하는 것이 좋습니다. Unity - Scripting API: Animator.StringToHashSuccess! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Closedocs.unity3d.com Animator.stringToH..

  • format_list_bulleted Unity/Study
  • · 2024. 3. 18.
  • textsms
유니티 GetValueOrDefault

유니티 GetValueOrDefault

GetValueOrDefault이란? C#의 Nullable 구조체에 있는 메서드입니다. 이 메서드를 이용하여 값이 있다면 해당 값을 반환하고, 값이 없다면 해당 데이터 타입의 기본값을 반환합니다. 이 메서드는 두 가지 오버로드를 가지고 있습니다. GetValueOrDefault(): 현재 Nullable 개체의 값이나 기본 유형의 기본값을 반환합니다. GetValueOrDefault(T defaultValue): 현재 Nullable 개체의 값이나 지정된 기본값을 반환합니다. 참고로 Dictionary, HashSet와 같은 타입에도 사용할 수 있습니다. 사용 방법 using System; class Sample { public static void Main() { float? mySingle = 12..

  • format_list_bulleted Unity/Study
  • · 2024. 3. 4.
  • textsms
Unity 프로그래머가 자주 사용하는 단어들 #개발 용어

Unity 프로그래머가 자주 사용하는 단어들 #개발 용어

Injection 의존성 주입(Dependency Injection)은 하나의 객체가 다른 객체의 의존성을 제공하는 기술이라고 합니다. 의존성 주입 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 소프트웨어 엔지니어링에서 의존성 주입(dependency injection)은 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉이다. "의존성"은 예를 들어 서비스로 사용할 ko.wikipedia.org 유니티를 위한 DI 프레임워크, VContainer이란? [VContainer이란?] VContainer는 Unity를 위한 가볍고 빠른 DI(Dependency Injection) 프레임워크로, 종속성 및 개체 생성을 쉽게 관리할 수 있도록 도와줍니다. DI는 종속성의 생성 및 관리를 ..

  • format_list_bulleted Unity/Study
  • · 2024. 2. 16.
  • textsms
유니티 VR Application SpaceWarp을 이용하여 최적화하자! # AppSW

유니티 VR Application SpaceWarp을 이용하여 최적화하자! # AppSW

Application SpaceWarp란? Application SpaceWarp는 애플리케이션이 실제 디스플레이 갱신 속도의 절반으로 렌더링하도록 허용합니다. 예를 들어, 기존 72 FPS으로 돌아가던 애플리케이션의 FPS를 36으로 렌더링한다는 뜻입니다. 애플리케이션은 "standard eye buffer" 외에도 "motion vector buffer"와 "depth buffer"렌더링해야 하며, Application SpaceWarp 시스템을 사용하여 새로운 프레임과 동기화하여 여전히 72 FPS를 디스플레이에 출력하도록 합니다. 32FPS와 72FPS차이가 궁금하시면 토글 펼치기~ 더보기 36fps로 렌더링 장면을 렌더링하고 초당 36회 디스플레이를 업데이트합니다. 각 프레임을 렌더링하는 데 약..

  • format_list_bulleted Unity/Study
  • · 2024. 2. 13.
  • textsms
C# Partial Class로 코드 관리의 편의성을 높이자! #Class 분할

C# Partial Class로 코드 관리의 편의성을 높이자! #Class 분할

partial class를 사용하여 클래스 정의를 여러 소스 파일에 분할할 수 있습니다.  이는 대규모 프로젝트에서 여러 프로그래머가 동시에 작업하거나 자동으로 생성된 소스 코드를 수정할 때 유용합니다. partial class를 사용하면 클래스의 정의를 여러 부분으로 나눌 수 있으며, 컴파일 시간에 나눠진 부분들이 결합됩니다. using System;// Employee 클래스를 partial로 분할public partial class Employee{ public void DoWork() { Console.WriteLine("Employee is working."); }}// Employee 클래스의 다른 부분public partial class Employee{ p..

  • format_list_bulleted Unity/Study
  • · 2024. 2. 12.
  • textsms
C# 메소드 숨기기 #new 한정자

C# 메소드 숨기기 #new 한정자

메소드 숨기기는 파생 클래스에서 기본 클래스의 메서드와 동일한 이름을 사용할 수 있도록 합니다. override 한정자는 기본 클래스의 virtual 메서드를 확장하고, new 한정자는 기본 클래스의 메서드를 숨깁니다. class BaseClass { public void Method1() { Console.WriteLine("Base - Method1"); } } class DerivedClass : BaseClass { public new void Method1() { Console.WriteLine("New - Method1"); } } 이렇게 new한정자를 사용하여 DerivedClass derivedClass = new DerivedClass (); derivedClass.Method1(); 를..

  • format_list_bulleted Unity/Study
  • · 2024. 2. 9.
  • textsms
유니티 SceneManager.LoadSceneMode 옵션에 대해

유니티 SceneManager.LoadSceneMode 옵션에 대해

LoadSceneMode에는 두 가지 옵션이 있습니다. Single: 이 옵션을 사용하면, 기존에 로드된 모든 씬이 종료되고 지정한 씬이 로드됩니다. 즉, 현재 열려 있는 씬을 닫고 새로운 씬을 엽니다. 씬을 종료한다는 것은 해당 씬에 생성된 모든 게임 오브젝트를 파괴한다는 의미입니다. Additive: 이 옵션을 사용하면, 현재 로드된 씬에 지정한 씬이 추가로 로드됩니다. 즉, 현재 열려 있는 씬을 유지하면서 새로운 씬을 엽니다. 이렇게 하면 여러 씬을 동시에 열어놓을 수 있습니다. 따라서, LoadSceneMode.Single은 새로운 씬을 열 때마다 기존의 씬을 닫는 반면, LoadSceneMode.Additive는 새로운 씬을 열 때마다 기존의 씬을 유지합니다. 이 두 가지 옵션을 적절히 사용하여..

  • format_list_bulleted Unity/Study
  • · 2024. 2. 7.
  • textsms
유니티 경고(Warning) Log 안뜨게 하기

유니티 경고(Warning) Log 안뜨게 하기

유니티 프로젝트를 하다 보면 위와 같이 경고문을 볼 수 있습니다. 몇 몇 경고문들은 주의하셔야 하지만, 사용되지 않는 필드 등 필요 없는 경고문도 존재합니다. 그런 경고문을 아래 코드를 사용하여 없앨 수 있습니다. #pragma warning disable 경고문을 보면 해당 경고문의 번호가 나오는 데 해당 번호를 적으시면 됩니다.

  • format_list_bulleted Unity/Study
  • · 2024. 2. 5.
  • textsms
유니티 CombineMesh함수를 이용하여 여러개의 메쉬를 하나의 메쉬로 묶어보자!

유니티 CombineMesh함수를 이용하여 여러개의 메쉬를 하나의 메쉬로 묶어보자!

메쉬를 묶는 이유는 Batch를 줄이기 위함입니다. CombineMesh함수를 이용하지 않고 MeshBaker 에셋을 이용해서 줄이는 방법도 있지만, 이번 시간에는 CombineMesh함수를 이용한 방법에 대해 알아보고자 합니다. 유니티 MeshBaker MeshBaker란? 여러 개의 메시를 하나의 큰 메시로 결합하고 해당 오브젝트의 텍스처를 텍스처 아틀라스 및 텍스처 배열로 만드는 데 있어 도움을 주는 툴(Tool)입니다. 텍스쳐 아틀라스를 사용하지 wlsdn629.tistory.com 사용방법 using System.Collections.Generic; using UnityEngine; public class MeshCombiner : MonoBehaviour { public GameObject P..

  • format_list_bulleted Unity/Study
  • · 2024. 1. 31.
  • textsms
유니티 TextMesh Pro 사용방법

유니티 TextMesh Pro 사용방법

이번 포스팅에서는 Text Mesh Pro 사용방법에 대해 알아보고자 합니다.TextMesh Pro 임포트 프로젝트 세팅에 들어가셔서 TextMesh Pro를 임포트해줍니다.그 다음, TextMeshPro - Text를 하나 생성해준 다음 영어와 한글을 적어줍니다. 캔버스를 보시면 한글이 깨져있는 것을 볼 수 있습니다. 그 이유는 폰트가 영어 및 기호들만 Bake 되어 있는 동시에 Static Mode이기 때문입니다. 따라서 TextMeshPro에서 기본적으로 제공하는 폰트는 한글을 지원하지 않는다는 소리입니다. Static TextMeshProStatic Mode는 표시할 텍스트에 대해 미리 메모리를 할당합니다. 메모리가 미리 할당되기 때문에, Static TextMeshPro는 텍스트가 자주 변경되..

  • format_list_bulleted Unity/Study
  • · 2024. 1. 11.
  • textsms
유니티 메테리얼 복사본 없이 수정하기 #MaterialPropertyBlock

유니티 메테리얼 복사본 없이 수정하기 #MaterialPropertyBlock

메티리얼을 직접 수정하면 각 객체에 대해 메모리에 해당 머티리얼의 새로운 인스턴스를 생성하게 됩니다. MaterialPropertyBlock를 사용하여 복사본이 생성되는 문제를 해결할 수 있습니다. MaterialPropertyBlock 아래 코드는 MaterialPropertyBlock를 사용한 간단한 예시 입니다. void ChangeColorWithMaterialPropertyBlock() { Renderer renderer = GetComponent(); MaterialPropertyBlock propBlock = new MaterialPropertyBlock(); renderer.GetPropertyBlock(propBlock); propBlock.SetColor("_Color", Color.r..

  • format_list_bulleted Unity/Study
  • · 2024. 1. 5.
  • textsms
유니티 Folder Structure, 체계적인 폴더 구조 규칙

유니티 Folder Structure, 체계적인 폴더 구조 규칙

Unity 프로젝트에 국한된 내용이 아닌 모든 소프트웨어 개발 프로젝트에서 잘 정의된 폴더 구조를 따르는 것은 여러 가지 이유로 중요하며 다음과 같은 많은 이점을 제공합니다.체계적인 폴더 구조를 따를 때 얻을 수 있는 이점가독성: 명확하게 정리되어 있는 폴더 구조를 사용하면 찾고자 하는 폴더를 쉽게 찾을 수 있습니다. 효율성: 명확하게 정리되어 있는 폴더 구조를 사용하면 찾고자 하는 리소스를 더 빠르게 찾을 수 있어 개발 속도가 빨라집니다.충돌 방지: Git과 같은 버전 관리 시스템에서 명확하게 정리되어 있는 폴더 구조를 사용하면 파일 충돌 및 중복 작업을 방지하는 데 도움이 됩니다.확장성: 프로젝트 규모가 커짐에 따라 명확하게 정리되어 있는 폴더 구조를 사용하면 점점 늘어나는 리소스들을 관리하는 데 도..

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

티스토리툴바