unity/유니티 기초 16

keytool 문제 해결방법 - keytool은 내부또는외부명령,실행할수있는프로그램,또는배치파일이아닙니다.

파이어베이스의 sh1 인증을 추가하기위해 keytool을 사용하려고 했는데 계속 없다고 나온다...1. jdk가 존재하지 않을경우jdk를 설치해준다 2. 환경변수가 생성되어있지 않을경우시스템 환경변수로 들어간뒤 path부분에 경로를 설정해 준다 3. cmd를 관리자전용으로 실행하지 않았을 경우관리자 전용으로 실행해 준다 동작 확인방법1. java -version2. javac 이 두가지가 성공적으로 실행되면 1, 2문제가 아니고 3문제이니 관리자 전용으로 실행해 준다

Unity - Button Attribute만들기

전에 타일맵을 생성하는 인스펙터 창을 제작하면서 이번에는 따로 인스펙터 창을 제작하지 않아도 간단하게 [Button]을 추가하면 인스펙터 창에서 실행할수 있도록 제작하려고 한다 결과  1. ButtonAttribute 만들기using System;using UnityEngine;namespace PKW_Attributes{ public enum ButtonEnableMode { // 항상 Always, // 에디터 상에서만 Editor, // Playmode 상에서만 Playmode } // 하나의 매소드를 대상으로 동작 [AttributeUsage(AttributeTargets.Method, Allow..

IEnumerator을 활용한 맵 생성 시뮬

BSP 알고리즘을 활용한 맵생성의 과정을 한눈에 보기 위해서 IEnumerator를 한번 활용해 보았다 결과 방 분리과정 다리 연결과정  기초 코드는 아래를 참조하였습니다 Unity2D 절차 지향적 맵 생성2D 타일맵을 검색해 보면 BSP 알고리즘을 이용한 생성과 간단한 절차 지향적 알고리즘을 이용한 생성을 많이 소개합니다그중 절차 지향적으로 랜덤맵을 생성하는 방법을 시도해 보았습니다 결rimugiri.tistory.com 1. 맵이 나눠지는 과정을 확인할 수 있는 코드입니다using System.Collections.Generic;using System.Linq;using UnityEngine;namespace PKW_Tilemap{ public class TestVisual : DungenGen..

Unity2D - Tilemap에서 플레이어가 움직이지 않을경우

타일맵에 콜라이더를 설정해 주었을때 플레이어가 콜라이더 사이에 끼어 움직이지 않는 경우가 발생할 수 있다그래서 Tilemap에서 주로 사용하는 방식이 복합 콜라이더를 설정해 주는 것이다. 이렇게 설정합으로써 타일맵의 각각의 콜라이더가 하나로 통합이 된다 Geometry type은 Outline은 외곽선만 polygon은 속까지 콜라이더를 채워준다Generation Type은 Manual은 직정 Regenerate를 눌렀을 경우에만 물체를 이동시켰을때 콜라이더도 함께 이동하고 Synchronous는 이동시키면서 함께 콜라이더도 이동한다

Unity - 꿀팁 정리 <2월 24일 추가>

오브젝트 이동 1. v 키를 통해 오브젝트를 딱 맞게 정렬할 수 있다 - 피봇의 위치가 변경되는것을 볼 수 있다. 2. Ctrl + Shift 키를 이용해 terrain같은 울퉁불퉁한 지형을 따라 이동시킬수 있다 - v키와 함께 사용하여 기준점을 변경할 수 있다 3. Ctrl + Shift + F 키를 이용해 현재 바라보고 있는 위치로 카메라를 이동시킬 수 있다. - 사실 다른 오브젝트도 되지만 카메라에 주로 사용한다. 4. Shift + F 키를 이용하여 게임 진행 중에 어떤 오브젝트의 이동을 따라갈 수 있다. 5. 인스텍터 창의 position에 L(start, end)를 통해서 오브젝트를 한번에 정렬할 수 있다 오브젝트 빠른생성 1. Ctrl + Shift + N을 통해 빈 오브젝트를 빠르게 생성할..

Unity - Collision, Trigger 간단정리

1. Collision - 한 오브젝트에 rigid, collider가 존재하고 다른 오브젝트에 trigger가 켜지지 않은 collider가 존재할 결우 발생 - 단 rigid에 isKenematic은 꺼져있어야 한다 -> 다른 오브젝트는 켜져있어도 무관하다 2. Trigger - 한 오브젝트에 rigid, collider가 존재하고 다른 오브젝트에 trigger가 켜있는 collider가 존재할 경우 발생 결론 한 오브젝트에는 rigid와 collider둘다 필수적으로 들어가야 된다