[유니티] BoxColliders does not support negative scale or size. 해결 Tool
·
unity tools & functions
"BoxColliders does not support negative scale or size." Warning은 오브젝트의 스케일과 반대 값인 Collider의 size가 Negative값으로 설정되어있으면 나타나는 경고입니다. 이것은 오브젝트를 좌우반전 등 특정 scale을 음수값으로 설정하였을 때, Collider의 size도 함께 음수로 설정하지 않아 발생합니다. 이것을 쉽게 해결하는 Tool을 제작하여 배포합니다. 💬 서론 📖 구현 내용 Tools에서 Window창을 열고 쉽게 Scene에 있는 문제가 발생할 수 있는 BoxCollider을 찾을 수 있습니다. 해당 오브젝트를 손쉽게 보고, 문제를 해결할 수 있습니다. ✅ 적용 · 스크립트 다운로드 스크립트를 다운로드 받아 프로젝트에 포함시킵니..
.OBJ 파일을 쉽게 수정하는 Tool (MeshWiz 1.0)
·
unity tools & functions
OBJ 파일을 읽어 크기, 회전 및 Verticles Quality를 쉽게 조절하고 OBJ 파일의 스크린샷과 GIF를 촬영할 수 있는 기능을 제공하는 MeshWiz를 Unity로 개발하여 공유합니다. 💬 서론 이 기능은 오픈소스를 활용하여 제작하였습니다. 유니티 프로젝트는 깃허브에 업로드 되어있으며, 무료로 사용이 가능합니다. GitHub - Bonnate/MeshWiz: A program that sets the size(scale), rotation, and pivot(to center) of the .obj file. A program that sets the size(scale), rotation, and pivot(to center) of the .obj file. - GitHub - Bonna..
[유니티] Edit 모드에서 물리를 이용해 오브젝트 배치
·
unity tools & functions
유니티의 Play Mode에서 활성화되는 유니티 물리 시뮬레이션을 Edit Mode에서 사용하여 리지드바디와 콜라이더를 이용하는 오브젝트들을 물리 시뮬레이션을 이용하여 자연스러운 배치가 가능합니다. Play Mode가 시작될 때 오브젝트가 끼거나 공간이 남아 불필요한 움직임을 미리 계산하여 오브젝트들의 안정적인 배치가 가능합니다. GitHub - Bonnate/Unity-Non-Playmode-Physics-Simulator: a unity tool designed to focus on the Simulation feature in edit mode a unity tool designed to focus on the Simulation feature in edit mode - GitHub - Bonnat..
[유니티] WAV. 파일의 decibel 조절 tool
·
unity tools & functions
효과음의 평균 db이 서로 달라 별도의 프로그램으로 조절해야하는 불편함이 있어 이 문제를 해결하기 위해 unity editor에서 wav 파일의 db을 손쉽게 조절할 수 있는 tool을 만들어 배포합니다. 📺 미리 보기 💬 서론 이 기능은 Github에 업로드 되어있습니다. Unity Editor 2021.3.5f1 및 2022.3.7f1에서 테스트 되었습니다. GitHub - Bonnate/Unity-WAV-Easy-Volume-Editor: Unity Editor extension designed for developers working with WAV files. Unity Editor extension designed for developers working with WAV files. - Git..
[유니티] 에셋의 이름을 편리하게 변경
·
unity tools & functions
유니티에서 Assets의 이름을 직관적이고 규칙적으로 관리하는것은 매우 중요합니다. 연속적인 같은 이름을 가지는 에셋들의 이름을 편리하게 지어주는 Tool을 구현하였습니다. 📺 미리 보기 📖 구현 내용 Project 폴더 내 에셋들의 이름을 변경할 수 있습니다. 하이어라키에 내 오브젝트들의 이름을 변경할 수 있습니다. 시작 인덱스 값을 지정하여 이 값부터 시작할 수 있습니다. (예시, 12부터 새롭게 넘버링) 하이어라키 오브젝트의 이름을 변경한 건에 대하여 undo가 가능합니다. ⚒️ 구현 Editor Tool로 구현하였습니다. · 구현 내용 #if UNITY_EDITOR using UnityEditor; using UnityEngine; public class EasyRenameWindow : Edit..
[유니티] 중복 Enum ID 업데이트 툴
·
unity tools & functions
열거형(enum)을 사용할 때 기획 의도에 따라 이미 선언된 enum id에서 중간에 번호가 삽입되어 중복되는 enum 번호가 생길 수 있습니다. 이런 경우 자동으로 enum ID를 중복되지 않게 갱신해 주는 툴을 사용할 수 있습니다. 📺 미리 보기 enum MsgId { .... // 생성된 GenerateTransformSync를 파괴 C_DESTROY_GENERATE_TRANSFORM_SYNC = 14; S_DESTROY_GENERATE_TRANSFORM_SYNC = 14; C_TRANSFORM_SYNC = 15; S_TRANSFORM_SYNC = 16; C_MOVE_RIGIDBODY_TRANSFORM_SYNC = 17; C_REQUEST_RIGIDBODY_SYNC_TEST_1 = 17; C_REQ..
[유니티] 엑셀(excel) 파일 읽기, json으로 변환하여 사용
·
unity tools & functions
엑셀은 데이터를 직관적이고 편리하게 관리할 수 있게 해줍니다. 이러한 장점을 이용하여 유니티에서 엑셀 파일을 json으로 변환하여 엑셀 파일의 데이터를 이용할 수 있도록 함수를 구현하여 정리하였습니다. 📺 미리 보기 엑셀 파일을 읽어 그 데이터를 이용할 수 있습니다. 💬 서론 이 기능은 ExcelDataReader, ExcelDataReader.DataSet, Newtonsoft.Json 패키지를 사용합니다. 📖 구현 내용 using UnityEngine; using System.Collections.Generic; using System.IO; using System.Data; // Newtonsoft.Json과 ExcelDataReader 패키지가 필요합니다. // nuget에서 다운로드 받아 사용하..
[유니티] 유니티 에디터 스크린샷 캡쳐 도구
·
unity tools & functions
유니티 에디터에서 Scene의 화면을 빠르게 캡쳐할 수 있는 유니티 윈도우 에디터를 구현하여 배포합니다. 📺 미리 보기 GitHub - Bonnate/Unity-Editor-Screenshot-Capture: Unity Editor Window for capturing screenshots Unity Editor Window for capturing screenshots. Contribute to Bonnate/Unity-Editor-Screenshot-Capture development by creating an account on GitHub. github.com 💬 기능 미리 정의된 해상도 중에서 선택하거나 사용자 지정 해상도를 설정합니다. 선택한 해상도에 따라 종횡비를 자동으로 계산합니다. 캡쳐된..
[유니티] Hex를 RGB Color로 변환
·
unity tools & functions
색상을 표현하기 위해 HEX(#000000)를 사용할 수 있습니다. 유니티에서 HEX를 RGB Color로 변환하여 사용할 수 있도록 스크립트를 작성하였습니다. 💬 서론 · 기본 함수 Color color; ColorUtility.TryParseHtmlString("#60594F", out color); mActiveOptionLabels[i].color = color; 유니티의 기본 기능 중 Hex를 Color로 변환하는 코드가 이미 있습니다. 하지만, 함수 매개변수가 ref out을 사용하기때문에 Color을 미리 선언하고, 참조해야하기에 불필요한 코드가 늘어납니다. · 구현한 함수 mActiveOptionLabels[i].color = Utility.HexToColor("60595F"); 구현한 함..
[유니티] InputField Tab Navigation, Button Event
·
unity tools & functions
키보드 탭 내비게이션은 키보드 사용자가 UI 요소를 효율적으로 탐색하고 상호작용할 수 있도록 도와주는 접근성 기능입니다. 이 기능을 구현하고, 쉽게 설정할 수 있는 도구를 함께 제작하여 정리하였습니다. 📺 미리 보기 HTML 삽입 미리보기할 수 없는 소스 📖 구현 내용 Tab을 누르면 다음 입력필드로, Shift + Tab을 누르면 이전 입력필드로 이동합니다. 특정한 입력필드(마지막 입력필드)에서 설정한 키를 누르면 버튼 이벤트를 호출합니다. 입력필드 설정을 쉽고 간편하게 하기위해 자동으로 설정해주는 에디터 Tool을 구현하였습니다. ⚒️ 구현 에디터 기능과 런타임 도중 실행될 두개의 스크립트가 있습니다. · UiTabNavi 런타임도중 실행되어 키보드의 입력을 확인하여 탭 내비게이션을 수행합니다. us..
[유니티] 오브젝트 위치 자동 정렬
·
unity tools & functions
에디터에서 개발자는 효율적인 게임 레벨 디자인과 시각적 일관성을 위해 오브젝트 위치를 편리하게 정렬해야할 필요가 있습니다. 이번 글에서는 특정 오브젝트를 기준으로 동일한 간격으로 편하게 정렬하는 기능을 구현하고 이를 정리하였습니다. 📺 미리보기 HTML 삽입 미리보기할 수 없는 소스 💬 서론 이 기능은 유니티 에디터 기능으로 빌드 후 런타임 도중 실행되는 기능은 아닙니다. ⚒️ 구현 해당 스크립트를 그대로 복사하여 프로젝트에 추가하면 바로 사용이 가능합니다. · Script using UnityEditor; using UnityEngine; public class ObjectAlignWindowViaVector : EditorWindow { private GameObject baseObject; priv..
[유니티] 파일 암호화 (json 암호화)
·
unity tools & functions
게임 세이브 파일을 암호화하면 게임 진행 상황을 보호하고 부정 행위를 방지할 수 있습니다. AES를 이용하여 파일을 암호화하고 읽는 방법을 정리하였습니다. 📺 미리보기 · 암호화 이전 · 암호화 이후 📖 구현 내용 string 문자열을 쉽게 암호화하고, 복호화 할 수 있습니다. AES를 사용하기위한 키와 이니셜벡터를 스크립트에 하드코딩 하지 않습니다. 전역 함수를 사용하여 컴포넌트를 찾거나 레퍼런스 하지 않고 직접 호출하여 편리하게 사용 가능합니다. ⚒️ 구현 · AES.cs using System.Security.Cryptography; using System.Text; using UnityEngine; /// /// AES 암호화 및 복호화 /// public static class AES { // ..
[유니티] UI 창 드래그
·
unity tools & functions
게임 내부의 UI 드래그 기능은 사용자 정의 가능한 환경을 제공하며, 더 나은 사용자 경험을 제공합니다. 이는 게임 플레이에 대한 제어와 편의성을 향상시킵니다. 또한 사용자 맞춤 설정을 지원하며, 개인적인 기호에 따라 UI를 최적화할 수 있습니다. 📺 미리보기 HTML 삽입 미리보기할 수 없는 소스 📖 구현 내용 게임 내에 지정한 UI 창을 드래그하여 원하는 위치로 UI 창을 옮길 수 있습니다. 선택한 창을 상단으로 위치하게하여 다른창에 가려지지 않게 합니다. UI 창이 화면 영역을 완전히 벗어나지 않습니다. 언제든 다시 원하는 위치로 복구시킬 수 있습니다. 위치값이 유지되어 게임 중 다시 UI 창을 열었을 때 그 위치가 유지되어 나타납니다. ⚒️ 구현 매우 간단한 스크립트 작성으로 기능을 구현합니다. ..
bonnate