진우의 혼잣말하는 블로그
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)
  • 홈
  • 태그
  • 방명록
유니티 Canvas Event Camera

유니티 Canvas Event Camera

Event Camera란? Event Camera는 유니티의 이벤트 시스템에 의해 사용되어 UI 요소와 상호작용하는 데 필요한 정보를 수집합니다. 예를 들어, 플레이어가 UI 버튼을 클릭할 때 이벤트 카메라가 해당 입력을 감지하고 이벤트 시스템이 이 정보를 사용하여 적절한 처리를 수행합니다. Event Camera를 할당해주지 않을 경우 생기는 문제점 World Space나 Screen Space로 설정한 Canvas의 경우에는 Camera속성을 할당해주어야 합니다! 할당하지 않았을 경우에는 Camera를 찾기 위해 연산과정을 거쳐 리소스를 낭비하기 때문입니다! 또한, Canvas 내의 UI 요소와 상호작용하는 데 문제가 발생합니다. 이벤트 카메라가 할당되지 않은 경우 다음과 같은 문제가 발생할 수 있습..

  • format_list_bulleted Unity/Study
  • · 2023. 4. 22.
  • textsms
유니티 Optimize Game Objects

유니티 Optimize Game Objects

Optimize Game Objects 캐릭터 프리팹을 살펴보던 중 Optimize Game Object 토글이 있길래 실험삼아 해보았습니다. Optimize Game Objects를 체크해주니 캐릭터의 Transform이 최적화된 것을 볼 수 있었습니다. Character_OP라고 되어있는 캐릭터가 Optimize Game Objects 체크되어 있는 캐릭터이며 Character는 평범한 캐릭터입니다. 즉, 모델의 트랜스폼 계층 구조를 최적화 시켜주는 역할을 하는 듯 하였습니다. 이 두 모델을 가지고 총 4번의 실험을 하였는데요 첫 번째로는 Optimize Game Objects 되어 있는 캐릭터에 Optimize Game Objects체크 되어 있는 애니메이션 클립 두 번째로는 Optimize Gam..

  • format_list_bulleted Unity/Study
  • · 2023. 4. 20.
  • textsms
유니티 원하는 씬으로 실행되게 하기

유니티 원하는 씬으로 실행되게 하기

이 포스팅에서 사용된 코드는 아래 블로거분의 코드를 참고하였습니다! https://mentum.tistory.com/657 unity 언제나 특정 씬에서 시작하게 만들기 #. 특정 씬에서 시작하는 게임 환경 어느 씬 에서나 테스트할 수 있어야 한다!라는 개발 방침을 따르고 있지만 서버 등이 들어간 경우에는 시작 씬부터 초기화를 순차 진행하지 않으면 오류가 발 mentum.tistory.com 코드 [InitializeOnLoad] public class EditorStartInit { static EditorStartInit() { var pathOfFirstScene = EditorBuildSettings.scenes[0].path; var sceneAsset = AssetDatabase.LoadAss..

  • format_list_bulleted Unity/Study
  • · 2023. 4. 16.
  • textsms
유니티 GUID란?

유니티 GUID란?

GUID란? 유니티 GUID는 "Unity Globally Unique Identifier"의 약자로, Unity 엔진에서 사용되는 고유 식별자를 의미합니다. GUID는 전 세계적으로 고유한 128비트 길이의 숫자로, 리소스나 객체를 식별하고 추적할 때 사용됩니다. 유니티에서 GUID는 주로 다음과 같은 상황에서 사용됩니다: 에셋 식별: 프로젝트 내에서 에셋을 참조하거나 관리할 때, 유니티는 각 에셋에 대해 고유한 GUID를 생성하여 중복이나 충돌을 방지합니다. 객체 인스턴스화: 유니티에서 생성된 게임 오브젝트 인스턴스에 대한 고유 식별자로 사용되며, 프리팹의 경우 원본 프리팹에 대한 참조를 유지할 수 있게 도와줍니다. 네트워크 통신: 멀티플레이어 게임에서 각 클라이언트가 서로를 구분하고 통신할 수 있도..

  • format_list_bulleted Unity/Study
  • · 2023. 4. 14.
  • textsms

유니티 SetPositionAndRotation

SetPositionAndRotation이란?SetPositionAndRotation은 Unity에서 사용되는 Transform 클래스의 메서드 중 하나로, 게임 오브젝트의 위치와 회전을 한번에 설정할 수 있습니다. SetPositionAndRotation(Vector3 position, Quaternion rotation) 메서드는 두 개의 매개 변수를 받습니다. 첫 번째 매개 변수는 게임 오브젝트의 위치를 나타내는 Vector3 값이고, 두 번째 매개 변수는 게임 오브젝트의 회전을 나타내는 Quaternion 값입니다. 이 메서드를 호출하면 해당 게임 오브젝트의 위치와 회전이 매개 변수로 전달된 값으로 설정됩니다. 이 메서드는 보통 Transform 컴포넌트를 가진 게임 오브젝트의 위치와 회전을 변경..

  • format_list_bulleted Unity/Study
  • · 2023. 4. 7.
  • textsms
유니티 Position Constraint를 이용하여 오브젝트 따라다니게 하기

유니티 Position Constraint를 이용하여 오브젝트 따라다니게 하기

사용방법 Position Constraint를 활성화 하기 위해서는 Is Active를 활성화 시켜야 합니다! Zero를 누르면 Target Object의 Position으로 초기화할 수 있습니다 상태를 초기화하고 Is Active와 IsLock을 확인하면 됩니다! 예제 Boss Room 프로젝트 Boss Room Scene에서 사용됩니다! 플레이어 아바타의 자식으로 Pickup_Socket이 존재합니다 플레이어가 항아리를 들면 항아리 안에 있는 Position Constraint컴포넌트의 Sources에 플레이어 아바타의 자식으로 있는 Pickup_Socket가 등록됩니다! 그렇게 하여, 항아리는 플레이어의 Pickup_Socket Position을 따라가게 됩니다! 멀티플레이와 관련된 내용이긴 하나 ..

  • format_list_bulleted Unity/Study
  • · 2023. 3. 19.
  • textsms
유니티 캐릭터 Simple Movement Code(Rigidbody)

유니티 캐릭터 Simple Movement Code(Rigidbody)

using UnityEngine; [RequireComponent(typeof(Rigidbody))] public class Movement : MonoBehaviour { private Rigidbody _rigidbody; [SerializeField] private float _moveSpeed = 2f; [SerializeField] private float _jump = 2f; //rotation private float _targetRotation = 0.0f; private float _rotationVelocity; public float RotationSmoothTime = 0.12f; private GameObject _mainCamera; private void Awake() { if..

  • format_list_bulleted Unity/Study
  • · 2023. 3. 18.
  • textsms
유니티 Dictionary, HashTable, HastSet 간단 설명

유니티 Dictionary, HashTable, HastSet 간단 설명

# Dictionary란? var dictionary = new Dictionary(); dictionary.Add("Name", "KinJinwoo"); var name = dictionary["Name"]; Debug.Log(name); Dictionary 구조로 되어 있습니다 도서관을 예시로 들면, 컴퓨터로 책 제목을 치면 위치를 얻을 수 있습니다 즉, Key와 Value를 사용하여 자료를 저장합니다 중복 를 허용하지 않습니다 위 코드를 예시로, dictionary에 Name이라는 Key값을 저장했으므로, 또 다시 Name이라는 Key값을 Add할 수 없습니다! 제네릭으로 TKey와 TValue의 타입을 미리 정할 수 있어 박싱과 언박싱이 발생하지 않습니다 위 코드에는 TKey와 TValue 타입이..

  • format_list_bulleted Unity/Study
  • · 2023. 3. 13.
  • textsms

유니티 코루틴 주의사항

코루틴이 돌아가고 있던 객체가 파괴될 시에는 코루틴이 자동으로 중단된다! 코루틴이 돌아가고 있는 객체의 상태가 Disable될 때에는 자동으로 중단되지 않는다! 스크립트가 중단될 일이 있을 경우(ex. SetActive(false)) 별도의 종료 호출이 필요하다. (ex.StopAllCoroutine()) 비활성화 상태인 오브젝트에서 코루틴이 활성화될 경우 에러가 발생할 수 있다.

  • format_list_bulleted Unity/Study
  • · 2023. 3. 8.
  • textsms
유니티 Async & await

유니티 Async & await

Async 란? 비동기 방식을 사용할 때 사용하는 "키워드"입니다. 비동기란? "비동기"는 대기하거나 특정 주문에 묶이지 않고 작업을 수행하는 것을 의미합니다. 친구와 카톡을 하고 있다고 가정하고 할 수 있는 작업이 2가지 있다고 상상해 보겠습니다. 카톡을 하는데 친구가 말을 마칠 때까지 기다려야 한다. 친구가 카톡 입력을 마칠 때까지 기다리지 않고 바로 카톡을 답장한다. 첫 번째 작업에서는 조치를 취하기 전에 어떤 일이 발생하기를 기다리기 때문에 "동기적으로" 작업을 수행합니다. 두 번째 작업에서는 상대방이 완료할 때까지 기다리지 않고 바로 응답할 수 있기 때문에 "비동기적으로" 작업을 수행하고 있습니다. 특정 상황에 얽매이지 않고 그동안 멀티태스킹이나 다른 일을 할 수 있습니다. 컴퓨팅 또는 프로그래..

  • format_list_bulleted Unity/Study
  • · 2023. 3. 7.
  • textsms
유니티 Lightmap굽고 텍스쳐 깨지는 현상

유니티 Lightmap굽고 텍스쳐 깨지는 현상

Generate Lightmap UVs를 키면 라이트맵을 베이크하기위한 추가적인 UVs를 생성한다. 텍스쳐가 깨질 때 이 부분 키고 라이트맵 다시 굽기! 이 설정 키면 설정값 조정하는게 있는데 입맛에 맞게 하기!

  • format_list_bulleted Unity/Study
  • · 2023. 2. 18.
  • textsms
Unity Timeline 만들기

Unity Timeline 만들기

TimeLine 세팅하기 상단 [Window] 탭에 => [Sequencing]탭을 누른 후 [Timeline]을 누르면 Timeline 윈도우 창이 생성되는 것을 확인할 수 있습니다. Track Group 타임라인을 테스트 할 큐브를 하나 생성해준 후 큐브의 이름을 Player로 바꿔주었습니다. 다음으로 Empty GameObject를 생성해준 다음 이름을 TimelineDirector로 바꿔주었습니다. 다음으로 TimelineDirector 클릭하고 Timeline창의 Create버튼을 눌러줍니다. 만약, Timeline창에 Create버튼이 생기지 않았다면 TimelineDirector가 클릭된 상태가 아니기 때문입니다! Timeline의 Create버튼을 누르면 TimelineDirector에 P..

  • format_list_bulleted Unity/Study
  • · 2023. 2. 14.
  • textsms
Unity InverseTransformPoint란?

Unity InverseTransformPoint란?

InverseTransformPoint란?Unity에서 `InverseTransformPoint`는 주로 좌표 변환에 사용되는 메소드입니다. 객체의 월드 좌표를 해당 객체의 로컬 좌표로 변환할 때 사용됩니다. 예를 들어, 어떤 객체 A가 World 좌표계에서 위치 (10, 10, 10)에 있고, 객체 B는 A의 자식(child) 객체로서 A의 Local 좌표계에서 위치 (1, 1, 1)에 있다고 가정해보겠습니다. 이 경우 객체 B의 월드 좌표는 (11, 11, 11)이 될 것입니다. 이때, 객체 A의 `InverseTransformPoint` 메소드를 사용하여 객체 B의 월드 좌표 (11, 11, 11)을 입력하면, 결과로 (1, 1, 1)이라는 로컬 좌표가 반환됩니다. private void OnDra..

  • format_list_bulleted Unity/Study
  • · 2023. 2. 13.
  • textsms
유니티 MIRROR(거울) 구현하는 방법

유니티 MIRROR(거울) 구현하는 방법

Mirror 세팅하기빈오브젝트를 하나 생성해 준 다음, 빈오브젝트 자식으로 quad를 하나 생성해 줍니다.스케일(Size : x , y)을 9: 16으로 설정해 주고 Scale을 줄여줍니다.줄이고 난 후에는 "좌우반전"을 위해 x값에 -1을 곱해줍니다.Render Texture 만들기 유니티 Render Texture에 대해Render Texture을 만들면 Dimension, Size, Anti-aliasing, Enable Compatible Format, Color Format, Depth Stencil Format, Enable Mip Maps, Dynamic Scaling, Wrap Mode, Filter Mode가 존재하는 것을 확인할 수 있습니다. 이것들에 대해 간단wlsdn629.tisto..

  • format_list_bulleted Unity/Study
  • · 2023. 2. 12.
  • textsms

Null 병합 연산자

Null 병합 연산자 ??는 Null 조건부 연산자처럼 null 검사를 간결하게 만들어주는 역할을 한다 ?? 연산자는 두 개의 피연산자를 받아들이고 왼쪽 피연산자가 null인지를 평가한다 평가 결과가 null이 아닌 것으로 나타나면 왼쪽 피연산자를 그대로 반환하고, 만약 왼쪽 피연산자가 null인 것으로 평가되면 오른쪽 피연산자를 반환한다 예를 들어, int? a = null; Debug.Log($"{a ?? 0"}); 을 하면 null이므로 0을 출력한다 반대로 int a = 77; Debug.Log($"{a ?? 0"}); 을 하면 a가 null이 아니므로 77을 출력한다

  • format_list_bulleted Unity/Study
  • · 2023. 2. 10.
  • textsms
  • navigate_before
  • 1
  • ···
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • ···
  • 15
  • navigate_next
진우의 혼잣말 하는 블로그👱‍♀️
📂전체 카테고리
  • 분류 전체보기 (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)
인기 글
최근 글
태그
  • #VR
  • #오블완
  • #Unity
  • #자바스크립트
  • #유니티 꿀팁
  • #유니티
  • #티스토리챌린지
  • #Meta SDK
  • #유니티 VR
  • #웹 개발
10-18 05:06
전체 방문자
오늘
어제
전체
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바