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..
프로젝트를 진행하다보니 특정 에셋을 자주 찾아보게 되었습니다. 북마크를 이용해서 즐겨찾기 하는 방식으로 할 수 있지만 이번 시간에는 에디터 기능을 이용해서 상단 버튼을 누르면 해당 에셋에 접근할 수 있는 방법에 대해 알아보고자 합니다. Selection.activeObject 활용하기Selection.activeObject는 에디터 내에서(현재 찾고자 하는) 선택된 오브젝트를 나타냅니다. Selection.activeObject를 사용하는 방법은 매우 간단합니다. 먼저 UnityEditor 네임스페이스를 사용해야 하며, 그 다음 특정 오브젝트를 선택하려면 Selection.activeObject에 해당 오브젝트를 할당하면 됩니다.using UnityEditor;using UnityEngine;publi..
Fusion2란?Fusion2는 Photon의 차세대 네트워크 엔진으로, 서버 모드, 호스트 모드, 공유 모드 등 다양한 네트워크 토폴로지를 지원합니다. 모드 특징 사용 사례 서버 모드전용 서버, 공용 IP, 높은 안정성, 보안성대규모 멀티플레이어 온라인 게임호스트 모드호스트 플레이어, 간편한 설정소규모 협동 게임공유 모드클라우드 룸, StateAuthority다양한 디바이스와 네트워크 환경 지원 Fusion2의 주요 기능으로는 네트워크 객체 동기화, 입력 동기화, 네트워크 이벤트 처리, 유연한 Room 관리 등이 있습니다. Fusion2 시작하기 Fusion 2 1 - 시작하기 | Photon EngineFusion 공유 모드 기초는 Fusion 프로젝트를 시작하는 데 필요한 초기 단계를 설명합니..
유니티에서도 Grid Layout Group 컴포넌트가 존재하긴 합니다. 하지만 해당 컴포넌트를 사용하면 각 행과 열의 Element이 Grid 형태에서 벗어나지 못한다는 문제가 있습니다(뭔 소리야 ㅋㅋ..그러려고 Grid Layout Group 컴포넌트 쓰는건데!) 워워... 그 뜻이 아니라 Grid란 사전 의미를 찾아보면 다음과 같습니다.수평선과 수직선이 교차해서 이루어진 집합체이다. 하나의 집합체는 세로 열을 그리고 다른 하나는 가로 행을 정의합니다. 각 요소는 이러한 열과 행으로 된 라인으로 배치할 수 있다. 즉, 위와 같은 조건을 충족만 하면 Grid라 할 수 있는거죠. 유니티의 Grid Layout Group 컴포넌트는 Grid 조건을 만족하지만 정해져 있는 모습을 벗어나지 못한다는 점입니다...
record 변수란?record는 C# 9.0에서 도입된 새로운 데이터 구조입니다. 주로 불변(immutable) 데이터 구조를 정의하는 데 사용되며, 값 기반 비교와 복사 기능이 내장되어 있습니다. record는 클래스와 비슷하지만, 데이터 저장 및 관리를 더 간편하게 해줍니다.클래스(Class)와의 차이점 불변성(Immutable)record는 기본적으로 불변 객체로 사용되므로 생성된 이후에는 객체의 상태를 변경할 수 없습니다.반면에 클래스는 가변 객체로, 생성 후에도 상태를 변경할 수 있습니다. 값 기반 비교record는 객체의 참조가 아닌 값을 기반으로 비교하므로 두 개의 record 객체가 동일한 값을 가지면 같은 것으로 간주됩니다.클래스는 참조 기반 비교를 사용합니다. 즉, 두 객체가 동일한 ..
I2Localization에 대해서 모르시는 분은 아래 포스팅을 참고해 주세요. 유니티 가장 강력한 번역도구 I2 Localization을 소개합니다!I2 Localization란? Unity에서 사용할 수 있는 번역 시스템입니다. UI, 2D, TextMesh Pro와 같은 주요 컴포넌트들에 사용가능하며 개발자가 다양한 플랫폼(PC, 모바일 등)에서 로컬화(번역)된 경험을 제공할wlsdn629.tistory.com I2Localization 번역을 사용하기 위해서는 이전 작업을 하고 오셔야 합니다.아래 포스팅을 참고해 주세요. 유니티 I2Localization #Google Spreadsheet 연동하기예전에 번역을 도와주는 에셋에 대해 소개드린적이 있었습니다. 설명이 부족한 것 같아 I2Localiz..
예전에 번역을 도와주는 에셋에 대해 소개드린적이 있었습니다. 설명이 부족한 것 같아 I2Localization 에셋 사용방법에 대해 조금씩 올려보고자 합니다. 유니티 가장 강력한 번역도구 I2 Localization을 소개합니다!I2 Localization란? Unity에서 사용할 수 있는 번역 시스템입니다. UI, 2D, TextMesh Pro와 같은 주요 컴포넌트들에 사용가능하며 개발자가 다양한 플랫폼(PC, 모바일 등)에서 로컬화(번역)된 경험을 제공할wlsdn629.tistory.com 이번 포스팅에서는 Google Spreadsheet 연동하는 방법에 대해서 알아보고자 합니다.Google Spreadsheet 연동하기 Source 컴포넌트를 보면 SpreadSheet 탭이 존재합니다. Spre..
삼각형 그래프를 그리고 싶었는데 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 {..
RefreshShownValue란?RefreshShownValue() 함수는 'TMP_Dropdown 컴포넌트'에서 사용되는 함수입니다. RefreshShownValue 함수는 드롭다운 메뉴 값을 갱신하여 현재 선택된 값을 표시합니다. 이 함수를 호출하면 드롭다운의 표시가 변경되어 현재 선택된 값을 나타낼 수 있습니다. 사용 예를 들어. 사용자가 게임 설정에서 그래픽 품질을 변경하는 드롭다운 메뉴가 있다고 가정해 보겠습니다. 사용자가 새로운 품질 수준을 선택하면 이를 즉시 반영하여 드롭다운 버튼에 표시할 때 사용하면 됩니다.
where 키워드란? 제네릭 프로그래밍에서 중요한 역할을 하며, 제네릭 타입에 대한 제약 조건을 지정할 때 사용됩니다. where키워드를 사용함으로써 컴파일 타임에 타입의 특정 특성을 보장할 수 있게 해줍니다. 예를 들어, 특정 타입이 반드시 클래스여야 하거나 특정 인터페이스를 구현해야 한다는 등의 조건을 걸 수 있습니다.where 키워드 예시 형식 설명 예시 where T : class제네릭 타입 매개변수가 클래스여야 함where T : classwhere T : struct제네릭 타입 매개변수가 구조체여야 함where T : structwhere T : new()제네릭 타입 매개변수가 매개변수가 없는 기본 생성자를 가져야 함where T : new()where T : SomeBaseClass제..
접근 제어자 기호 설명 Public+클래스 외부에서도 접근 가능Private-클래스 내부에서만 접근 가능Protected#클래스 및 서브클래스에서 접근 가능Default (Package)~동일한 패키지 내에서만 접근 가능Static_클래스의 인스턴스가 아닌 클래스 자체에 속함
팩토리 패턴은 객체 생성을 담당하는 팩토리 클래스를 도입하여 객체 생성 로직을 캡슐화하는 디자인 패턴입니다. 팩토리 패턴을 사용하면 객체를 생성하는 코드를 분리하여 유연성을 높이고, 객체 생성 방식을 변경할 때 코드 수정을 최소화할 수 있습니다. 팩토리 패턴을 유니티에서 사용하는 경우, 다음과 같은 상황에서 유용합니다.동일한 객체를 반복적으로 생성해야 하는 경우객체 생성 로직을 단일 위치에 집중하여 코드를 관리하고자 하는 경우UML을 바탕으로 코드 작성해보기 제가 직접 짠거는 아니고 유니티 공식 자료에서 가져와봤습니다.저번시간에 UML 작성법을 공부했다고 저 화살표가 무엇을 의미하는지 알게 되어 뜻을 이해할 수 있게 되었습니다. Factory라는 클래스를 ConcreteFactory에서 상속을 받아 사..
여러분들은 코드를 작성하실 때 어떤 방식으로 시작하고, 끝을 맺으시나요? 저는 개발해야하는 순간이 다가오면 잠깐의 고민을 하고 바로 키보드를 두들기며 코드를 작성합니다.이 방식이 잘못되었다는 것은 아니지만, 저는 제 습관을 고치고 싶습니다. 코드를 작성하다보면 무엇을 짜고 있는지 가끔 방향을 잃을 때도 있고, 명확하지 못한 코드들이 남발하게 되며, 나중에 코드를 보게 됐을 때 기억이 나지 않는 등의 문제를 겪곤 합니다. 그래서 앞으로는 코드를 작성하기 전에 저만의 규칙을 만들어보고자 합니다. 사진의 모든 출처는 다음과 같습니다.출처 - https://velog.io/@ssuh0o0/%ED%97%B7%EA%B0%88%EB%A0%A4%EC%84%9C-%EC%A0%81%EC%96%B4%EB%86%93%EB%8..
디자인 패턴이란?디자인패턴이란 개발할 때 자주 발생하는 문제에 대한 해결책이자, 효율적이고 유연한 설계를 위한 가이드라인이라고 생각하면 됩니다. 과거 우리의 대선배님들이 직접 경험으로 쌓아온 노하우와 설계 원칙을 바탕으로 만들어졌다고 합니다. 디자인패턴은 특정 문제 상황에 대한 해결 방법을 제시하고, 재사용 가능한 형태로 만들어 설계에 적용할 수 있게 해줍니다. 이를 통해 유지보수성, 확장성, 재사용성을 향상시키고, 일관된 개발 방법론을 제공한다는 장점이 있습니다. 디자인 패턴은 보통 다음과 같은 구성 요소로 이루어져 있습니다.문제 (Problem): 디자인 패턴이 적용될 문제나 상황을 정의합니다.해결책 (Solution): 문제를 해결하기 위한 구체적인 설계 방법이나 패턴을 제시합니다.결과 (Conse..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.