유니티 공부.. 스냅 세팅 외
https://learn.unity.com/tutorial/66c65e15edbc2a0345695b53#66c65e1fedbc2a035076e170
2022버전 3D 강의
스냅 기본
상단 Increment Snapping 옵션에서 스냅을 어느정도 할건지 정할 수 있음
스냅 활성화는 Ctrl 키 임
버텍스 스냅 단축키는 V 키임
단,
Subdivide 해서 잘게 쪼갠 물체에게 V 버텍스 스냅이 잘 먹힘
로우 폴리면 버텍스 스냅이 점 내가 생각된 대로 잘 안됨
+
지금 화면을 카메라 뷰로 설정하고 싶을 땐
상단 gameobject 메뉴에서
align with view (단축키 Shift Ctrl F)
카메라 뷰로 되돌아 가고 싶을 땐
상단 gameobject 메뉴에서
align view to selected (단축키 없음)
+
![]() |
![]() |
인스펙트 창에서 ? 물음표 클릭시
공홈 가이드가 열림
한국어 지원
이지만...
설명력이 바닥이라 봐도 뭐라하는지 모
도움이 하나도 안됨
+
인스펙터 값 슬라이더로 만드는법
[Range(1.0f, 10.0f)]
public float 위에 이거 한 줄 넣으면 됨. 저 숫자는 최소값~최대값 임
+
값 지정할 때 * / ^ + - 이런 수학 연산으로 사용 가능함
1+(7*4)+1
이렇게 소괄호 입력도 가능함
지수(Exponentiation)
2^3 = 8
2 * 2 * 2 = 8
이는 2를 3번 곱하는 것을 의미함
+
우측 상단 인스펙터 아이콘을 내가 원하는 대로 지정 가능
png 만든 후
아래 프로젝트 파일 칸에 드래그 후
인스펙터 아이콘 에서 other.. 클릭 후
png의 파일 이름을 검색하면 됨
+
![]() |
![]() |
CGHierarchyIcons https://assetstore.unity.com/packages/tools/utilities/cghierarchyicons-163353인스펙터 창에서 클릭만으로 하이어라키 아이콘을 내가 원하는대로 설정할 수 있게 해주는 에셋 스크립트 스크립트 안 짜도 되서 사용하기 편리함 my assets - hierachyicon - download - import 인스펙터 창 script - Hierachyicon - 네모 icon 선택 other.. 에서 내가 원하는 png 파일로도 선택 가능
유니티 버전 6.000 에서도 하이어라키 기본 아이콘 제공 안해줌
유니티 버전 6.000 에서 CGHierarchyIcons 작동 됨
-> 이거 오래되서 오류나는거 같음
그냥 rainbow hierachy 쓰는게 맘 편할듯
+
참고로 발더스 게이트 3 모드 툴킷의 아이콘 분류는 아래와 같음
+
플레이 테스트 모드에서,
인스펙터 수치값 요리조리 만져보는데, 원하는 값을 찾았으면
오른쪽 ... 칸에서 copy , 테스트 모드 중지 후 , paste 로 복붙 가능
+
variable [베리어블] 변수, 변하는 값
변수의 반댓말로는 constant [콘스턴트] 지정된 값, 정수
boolean [불리언] true / false 두 값만 가지는 경우
+
[SerializeField]
를 스크립트에서 사용하면
private 문구라도, public 처럼 인스펙터 창에 드러나게 할 수 있다
이는 private 문구를 public 으로 변환하는 것과 같음
+
그외 훈수들 :
물리 시뮬을 위해선 1단위 = 1미터로 통일
1미터 = 1단위 = 32px
유니티 내부 프로젝트 창에서의 파일이동은 괜찮지만,
유니티 밖, 윈도우즈 창 폴더에서의 파일이동은 권장하지 않습니다
텍스쳐는 512x512 ~ 1024x1024 를 사용해라
2048x2048 이상의 텍스쳐를 사용했다간 용량이 너무 커질 것이다
이미지는 png.
오디오는 ogg.
이게 기준이다
+
잘 정돈된 하이어 라키 메뉴 구성 :
하나의 씬을 기준으로 삼음
- MainScene
- Environment
- Terrain
- Decorations
- Trees
- Rocks
- Buildings
- Props
- Water
- PlayerParty
- Player_01
- Player_02
- Player_03
- Player_04
- Player_05
- Player_06
- Player_07
- Player_08
- Enemies
- EnemyGroup_01
- Enemy_01
- Enemy_02
- EnemyGroup_02
- Enemy_03
- Enemy_04
- EnemyGroup_03
- Enemy_05
- Enemy_06
- UI
- Canvas
- HealthBar
- TurnIndicator
- SkillWindow
- InventoryWindow
- EventSystem
- Audio
- BackgroundMusic
- SoundEffects
- Lighting
- DirectionalLight
- PointLight
- Camera
- MainCamera
- UICamera
+
유니티 팁에서 : 빌드 플레이 또는 플레이모드 들어가기 전, 모든 엠티 오브젝트 부모들을
해제하고 숨기는 에디터 스크립트를 작성해라
그래야 성능 향상 최적화가 된다
라는 말이 있어. 이는 어떤 스크립트를 써야하지?
라고 코파일럿에게 질문
using UnityEditor;
using UnityEngine;
public class EmptyObjectHandler : Editor
{
// 유니티가 로드될 때 한 번 호출되는 메서드
[InitializeOnLoadMethod]
static void OnLoad()
{
// 플레이 모드로 전환될 때만 실행
EditorApplication.playModeStateChanged += OnPlayModeChanged;
}
// 플레이 모드 상태가 변경될 때 호출되는 메서드
static void OnPlayModeChanged(PlayModeStateChange state)
{
// 플레이 모드로 진입할 때만 실행
if (state == PlayModeStateChange.ExitingEditMode)
{
HandleEmptyObjects();
}
}
// 모든 빈 오브젝트를 처리하는 메서드
static void HandleEmptyObjects()
{
// 모든 게임 오브젝트를 검색
GameObject[] allObjects = Object.FindObjectsOfType<GameObject>();
foreach (GameObject obj in allObjects)
{
// 오브젝트가 비어 있는지 확인 (자식이 없고, 어떤 컴포넌트도 없는 경우)
if (obj.transform.childCount == 0 && obj.GetComponents<Component>().Length == 1)
{
// 부모를 해제 (루트 레벨로 이동)
obj.transform.SetParent(null);
// 오브젝트를 비활성화
obj.SetActive(false);
}
}
Debug.Log("모든 빈 오브젝트의 부모를 해제하고 비활성화했습니다.");
}
}
이거 되는진 모르겠지만,
엠티 오브젝트 부모해제, 엠티 오브젝트 비활성화는 필요하다 함
최적화 과정이라 함
+
'열쇠 아이템 획득'
'스테이지 클리어'
'HP 완전 회복'
'적에게 hp10 즉시 데미지 주기'
처럼 특정 이벤트를 넘어갈 수 있는 치트를 만들어라
발동 인풋은
alt+ f1 키 라던가
+
작은 사이즈의 씬(스테이지)를 만들어라
turn rpg 툰셰이딩 3d isometric tactics 장르 기반
비 전투맵 씬 | 전투맵 씬 |
TestTownScene | TestBattleScene |
매직미사일 리깅애니와 이펙트를 직접 시전하는 npc (데미지는 주지 않음) |
|
랜덤하게 데미지 숫자를 표현해주는 npc | |
대화 한줄 출력해주는 npc | |
회복물약 1개를 지급해주는 npc | |
플레이어의 컬러팔레트를 변경해주는 npc | 플레이어의 hp를 회복시켜주는 장애물 |
적 hp를 회복시켜주는 장애물 | |
180cm 근돼남 3명이 1개의 그리드 (1m x 1m)에 나란히 놓여져서 있음 서로 몸이 겹치나 테스트 |
|
플레이어의 에너지 , 스킬사용회수를 회복시켜주는 함정 |
|
장애물 콜리전 테스트 코스 | |
실시간 navmesh 및 ai npc의 길찾기. 주인공을 따라다니는 npc |
턴제 기반의 적 ai npc의 패스파인딩 |
스킬 세팅창 ui | 플레이어가 사용 가능한 : 평타 |
장비 세팅 및 캐릭터 스탯 및 소지아이템 ui | 플레이어가 사용 가능한 : 투사체 원거리 스킬 |
파티원 관리 창 ui | 플레이어가 사용 가능한 : 특정 지점에 아무것도 없어야 발동하는 기술 |
환경설정 옵션 ui | |