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

진우의 혼잣말하는 블로그

  • 분류 전체보기 (630) N
    • Unity (444) N
      • Study (220) N
      • VR (75)
      • AR (6)
      • Assets (39)
      • Fusion2 (8)
      • 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)
    • 홍보 및 리뷰 (8)
    • 웹 개발 (27)
    • 정리 안 됨 (16)
    • 뉴스레터 (0)
  • 홈
  • 태그
  • 방명록
유니티 Meta App Lab등록 시 발생하는 에러 해결하기

유니티 Meta App Lab등록 시 발생하는 에러 해결하기

APK 설치 위치는 auto(android:installLocation in AndroidManifest.xml)여야 합니다.APK 화면 방향이 가로가 아닙니다(AndroidManifest.xml의 android:screenOrientation).빌드를 하는데 자꾸 위와 같은 에러가 계속 발생해서 거의 며칠간 끙끙 앓았네요.... APK 설치 위치는 auto(android:installLocation in AndroidManifest.xml)여야 합니다. 해결하기 모바일 - Ohter Settings 탭에 Install Location을 Automatic으로 해줍니다.  APK 화면 방향이 가로가 아닙니다(AndroidManifest.xml의 android:screenOrientation). 해결하기 R..

  • format_list_bulleted Unity/Study
  • · 2024. 7. 19.
  • textsms
유니티 Custom Grid Layout 만들기

유니티 Custom Grid Layout 만들기

유니티에서도 Grid Layout Group 컴포넌트가 존재하긴 합니다. 하지만 해당 컴포넌트를 사용하면 각 행과 열의 Element이 Grid 형태에서 벗어나지 못한다는 문제가 있습니다(뭔 소리야 ㅋㅋ..그러려고 Grid Layout Group 컴포넌트 쓰는건데!) 워워... 그 뜻이 아니라 Grid란 사전 의미를 찾아보면 다음과 같습니다.수평선과 수직선이 교차해서 이루어진 집합체이다. 하나의 집합체는 세로 열을 그리고 다른 하나는 가로 행을 정의합니다. 각 요소는 이러한 열과 행으로 된 라인으로 배치할 수 있다. 즉, 위와 같은 조건을 충족만 하면 Grid라 할 수 있는거죠. 유니티의 Grid Layout Group 컴포넌트는 Grid 조건을 만족하지만 정해져 있는 모습을 벗어나지 못한다는 점입니다...

  • format_list_bulleted Unity/Study
  • · 2024. 7. 5.
  • textsms
유니티 C# record 데이터 타입에 대해서

유니티 C# record 데이터 타입에 대해서

record 변수란?record는 C# 9.0에서 도입된 새로운 데이터 구조입니다. 주로 불변(immutable) 데이터 구조를 정의하는 데 사용되며, 값 기반 비교와 복사 기능이 내장되어 있습니다. record는 클래스와 비슷하지만, 데이터 저장 및 관리를 더 간편하게 해줍니다.클래스(Class)와의 차이점 불변성(Immutable)record는 기본적으로 불변 객체로 사용되므로 생성된 이후에는 객체의 상태를 변경할 수 없습니다.반면에 클래스는 가변 객체로, 생성 후에도 상태를 변경할 수 있습니다. 값 기반 비교record는 객체의 참조가 아닌 값을 기반으로 비교하므로 두 개의 record 객체가 동일한 값을 가지면 같은 것으로 간주됩니다.클래스는 참조 기반 비교를 사용합니다. 즉, 두 객체가 동일한 ..

  • format_list_bulleted Unity/Study
  • · 2024. 7. 4.
  • textsms
유니티 큰 숫자 a, b, c 로 표기하기 #10000 = 10a, 10000a = 10b

유니티 큰 숫자 a, b, c 로 표기하기 #10000 = 10a, 10000a = 10b

게임을 제작하다 보면 재화의 수치가 급격하게 커져서 100,000 / 1,000,000 이런식으로 표기하는게 점점 어려워 집니다.위와 같이 수를 그냥 나열하는 방식이라면 1억이라는 데미지를 어떻게 표현할까요...(메이플에선 그냥 표기하기도 하던데 저는,,, 1억 5천만! 이런식으로 보여지는게 편하더라고요) 그래서 대다수의 게임은 큰 수의 경우 수를 알파벳으로 치환해서 표기하곤 합니다.예를 들어 10,000 이라는 수치는 10a로 표기하거나, 10,000a 라는 수치는 10b 이런식으로 치환해서 사용하곤 합니다. 위와 같은 방식의 장점은 수가 커져도 어느정도 커버가 가능하다는 것이며, 알파벳이 높아질 수록 사용자는 더 쎄지는 기분을 직관적으로 받을 수 있습니다.표기되는 모습 저는 소수점 셋 째 자리까지 표..

  • format_list_bulleted Unity/Study
  • · 2024. 7. 3.
  • textsms
유니티 삼각형 그래프 그리기 #(외곽선)테두리만 존재하게

유니티 삼각형 그래프 그리기 #(외곽선)테두리만 존재하게

삼각형 그래프를 그리고 싶었는데 LineRender는 잘 안되고...어쩔 수 없이 Mesh를 활용해서 삼각형 그래프를 그려보는 방식으로 시도해봤습니다. 결과는 아래 움짤과 같이 잘 작동하나 코드에 문제가 있을 수 있으니.. 조심히 사용하시길 바랍니다.  코드using System.Collections.Generic;using UnityEngine;namespace IslandMonkey{ [RequireComponent(typeof(MeshFilter))] [RequireComponent(typeof(MeshRenderer))]#if UNITY_EDITOR [ExecuteAlways]#endif public class PieChartOutline : MonoBehaviour {..

  • format_list_bulleted Unity/Study
  • · 2024. 6. 28.
  • textsms
유니티 드롭다운 박스를 새로고침하기 #RefreshShownValue

유니티 드롭다운 박스를 새로고침하기 #RefreshShownValue

RefreshShownValue란?RefreshShownValue() 함수는 'TMP_Dropdown 컴포넌트'에서 사용되는 함수입니다. RefreshShownValue 함수는 드롭다운 메뉴 값을 갱신하여 현재 선택된 값을 표시합니다. 이 함수를 호출하면 드롭다운의 표시가 변경되어 현재 선택된 값을 나타낼 수 있습니다. 사용 예를 들어. 사용자가 게임 설정에서 그래픽 품질을 변경하는 드롭다운 메뉴가 있다고 가정해 보겠습니다. 사용자가 새로운 품질 수준을 선택하면 이를 즉시 반영하여 드롭다운 버튼에 표시할 때 사용하면 됩니다.

  • format_list_bulleted Unity/Study
  • · 2024. 6. 13.
  • textsms
유니티에서의 제네릭 프로그래밍: where 키워드의 활용

유니티에서의 제네릭 프로그래밍: where 키워드의 활용

where 키워드란? 제네릭 프로그래밍에서 중요한 역할을 하며, 제네릭 타입에 대한 제약 조건을 지정할 때 사용됩니다.  where키워드를 사용함으로써 컴파일 타임에 타입의 특정 특성을 보장할 수 있게 해줍니다. 예를 들어, 특정 타입이 반드시 클래스여야 하거나 특정 인터페이스를 구현해야 한다는 등의 조건을 걸 수 있습니다.where 키워드 예시  형식 설명 예시 where T : class제네릭 타입 매개변수가 클래스여야 함where T : classwhere T : struct제네릭 타입 매개변수가 구조체여야 함where T : structwhere T : new()제네릭 타입 매개변수가 매개변수가 없는 기본 생성자를 가져야 함where T : new()where T : SomeBaseClass제..

  • format_list_bulleted Unity/Study
  • · 2024. 6. 10.
  • textsms
유니티 transform.GetSiblingIndex()에 대해서

유니티 transform.GetSiblingIndex()에 대해서

transform.GetSiblingIndex()란?transform.GetSiblingIndex()는 GameObject가 현재 계층 구조에서 몇 번째 위치(자식 순서)에 있는 반환해줍니다.  예를 들어, 게임 오브젝트들이 같은 부모 오브젝트 아래에 있는 경우, GetSiblingIndex()를 사용하여 해당 GameObject의 위치 순서(번호?)를 얻을 수 있습니다. GetSiblingIndex함수는 GameObject의 자식들을 정렬하는 경우에 유용합니다. 실제로 transform.GetSiblingIndex()를 사용해서 슬롯을 정렬하는 함수를 만들어봤습니다.int childIndex = transform.GetSiblingIndex();int row = childIndex / maxHorizo..

  • format_list_bulleted Unity/Study
  • · 2024. 5. 29.
  • textsms
유니티 더 이상 사용하지 않는 컴포넌트에 경고 문자 표시하기 #System.Obsolete

유니티 더 이상 사용하지 않는 컴포넌트에 경고 문자 표시하기 #System.Obsolete

System.Obsolete란?System.Obsolete는 C#에서 제공하는 속성으로, 특정 메서드나 클래스가 더 이상 권장되지 않음을 나타내는 데 사용됩니다. System.Obsolete속성을 사용하면 해당 메서드나 클래스를 사용하는 코드가 컴파일될 때 경고 또는 오류를 생성합니다.System.Obsolete 속성은 다음과 같이 세 가지 형태로 사용할 수 있습니다.[Obsolete]: 매개변수를 사용하지 않으면 해당 메서드나 클래스를 사용하는 코드가 컴파일될 때 경고를 생성합니다.[Obsolete(string message)]: 더 이상 권장되지 않는 이유를 설명하는 메시지를 포함합니다.[Obsolete(string message, bool error)]: 불리언 값이 true로 설정되면, 해당 메서..

  • format_list_bulleted Unity/Study
  • · 2024. 5. 28.
  • textsms
유니티 LoadingScene #Scene Controller

유니티 LoadingScene #Scene Controller

Scene Controller을 만들기 위해서는 Singleton과 UniTask를 사용해야 합니다. 아래 포스팅에서 '싱글톤'과 'UniTask' 사용방법을 참고해주세요.  두고두고 써먹는 싱글톤(SingleTon) 코드싱글톤 패턴이란? Unity 싱글톤 패턴은 특정 클래스가 게임 수명 기간 동안 하나의 인스턴스만 갖도록 하기 위해 Unity 게임 개발에서 일반적으로 사용되는 디자인 패턴입니다. 이 패턴은 게임 내wlsdn629.tistory.com  유니티 코루틴 대신 unitask유니티에서 unitask를 사용하기 앞서, 유니티에서 사용하는 코루틴이 무엇인지 알아야 진정한 unitask의 장점을 알 수 있습니다. 지피지기 백전불태 그렇기에 유니티에 기본적으로 내장되어 있는wlsdn629.tistor..

  • format_list_bulleted Unity/Study
  • · 2024. 5. 27.
  • textsms
유니티 제발 Universal RP Sample 받아서 공부해주세요 ㅠㅠㅠ

유니티 제발 Universal RP Sample 받아서 공부해주세요 ㅠㅠㅠ

URP에도 샘플이 존재합니다. 샘플 수가 적은 편이 아니고 꽤 되는 편입니다.Rendering Pipeline공부하시는 사람이라면 반드시 샘플 먼저 공부하시면 도움이 될 것 같습니다.  예전에 지나가면 길이 움푹 파이는 효과를 구현해보고 싶었는데 URP 샘플에 있어서 공부할 수 있었습니다.

  • format_list_bulleted Unity/Study
  • · 2024. 5. 21.
  • textsms
유니티 Door(문) 스크립트

유니티 Door(문) 스크립트

using UnityEngine;using System.Collections;[RequireComponent(typeof(Collider))]public class Door : MonoBehaviour { public enum rotOrient { Y_Axis_Up, Z_Axis_Up, X_Axis_Up } public enum rotFixAxis { Y, Z } public rotOrient rotationOrientation; public bool applyRotationFix = false; public rotFixAxis rotationAxisFix; public float doorOpenAngle = -90.0f; [Range(1,5)] public float speed = 3.0f;..

  • format_list_bulleted Unity/Study
  • · 2024. 5. 17.
  • textsms
유니티 PlayerPrefs 초기화하는 방법

유니티 PlayerPrefs 초기화하는 방법

using UnityEngine;using UnityEditor;public class ResetPlayerPrefs : MonoBehaviour{ [MenuItem("Window/PlayerPrefs 초기화")] private static void ResetPrefs() { PlayerPrefs.DeleteAll(); Debug.Log("PlayerPrefs has been reset."); }} 유니티 에디터 상단에서 버튼을 통해 PlayerPrefs 데이터를 초기화하는 코드입니다. 코드는 에디터 폴더에 만드셔야 합니다.코드를 만들고 나면 위 사진처럼 윈도우 탭에서 PlayerPrefs 데이터를 초기화할 수 있게 됩니다.

  • format_list_bulleted Unity/Study
  • · 2024. 5. 16.
  • textsms
유니티 Sprite Altas 만들기 #최적화

유니티 Sprite Altas 만들기 #최적화

위와 같이 여러개의 Image를 사용하는 캔버스가 있다고 가정하겠습니다.이런 경우, 우측 사진처럼 각 이미지마다 Draw Call을 발생하게 됩니다. 하나의 Image를 여러개의 이미지처럼 사용하는 Altas기법을 사용해서 최적화를 해보겠습니다.Sprite Altas 사용하기 Sprite Altas를 사용하기 위해서는 사전 세팅이 필요합니다.프로젝트 세팅에 가서 에디터 탭, Sprite Altas 모드를 Sprite Altas V1 - Always Enabled로 설정해줍니다. 만약 보이지 않는다면 2D Sprite 패지키를 다운받아줍니다.  그 후, Sprite Atlas를 생성해줍니다. 생성해준 다음 사용할 Sprite들을 집어넣어줍니다.Preview를 하면 아틀라스가 생성된 것을 확인할 수 있습니다..

  • format_list_bulleted Unity/Study
  • · 2024. 5. 9.
  • textsms
유니티 UI 최적화하는 방법에 대해서

유니티 UI 최적화하는 방법에 대해서

해당 글은 아래 유니티 블로그에 나온 글을 정리한 것입니다. Optimize your mobile game performance: Get expert tips on physics, UI, and audio settings | Unity BlogYou might have UI elements that only appear sporadically in the game (e.g., a health bar that appears when a character takes damage). If your invisible UI element is active, it might still be using draw calls. Explicitly disable any invisible UI componentsblog.u..

  • format_list_bulleted Unity/Study
  • · 2024. 5. 8.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 15
  • navigate_next
진우의 혼잣말 하는 블로그👱‍♀️
📂전체 카테고리
  • 분류 전체보기 (630) N
    • Unity (444) N
      • Study (220) N
      • VR (75)
      • AR (6)
      • Assets (39)
      • Fusion2 (8)
      • 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)
    • 홍보 및 리뷰 (8)
    • 웹 개발 (27)
    • 정리 안 됨 (16)
    • 뉴스레터 (0)
인기 글
최근 글
태그
  • #웹 개발
  • #Meta SDK
  • #VR
  • #Unity
  • #유니티 VR
  • #오블완
  • #유니티
  • #자바스크립트
  • #유니티 꿀팁
  • #티스토리챌린지
09-13 00:00
전체 방문자
오늘
어제
전체
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바