목록BCA/4. Unity (25)
VioletaBabel
이전 편 : http://violetababel.tistory.com/444 PostMessage - 지금 하던 일 끝난 후 할 것 (LateUpdate 이용)DelayMessage - 일정 시간이 지난 후 함 === 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128..
- 툴 만드는 법크게 두 가지이다.우선 Editor라는 폴더 안에 있지 않으면 인스펙터 변형에 작동이 되지 않음. 에디터 폴더의 위치나 갯수는 상관 X1. 인스펙터를 변형Enemy를 만들어 그 오브젝트에 이 스크립트를 넣어준다.1234567891011121314151617181920//Enemy.csusing System.Collections;using System.Collections.Generic;using UnityEngine; public class Enemy : MonoBehaviour{ public MonsterType monsterType; public int HP; public float Damage; public string Tag; public bool CanRun;} public en..
2018.11.7 - 모바일에서 이미지, 사운드의 용량과 퀄리티간의 밸런스안드와 아이폰 텍스쳐 압축 방식이 다르고, 아이폰은 6 이전과 이후에 따라 압축 방식 등이 나뉨.안드로이드는 유니티 버전 별로 다름. 유니티 2018의 경우엔 텍스쳐 누르면 플랫폼 별로 나오는데, Max Size = 적당히 실제보단 같거나 크게 해라Resize Algorithm = 가만 둬라. 가능한 기본이 좋고 아니면 육안으로 보며 판단.Compression = High Quality압축된 건 색감이 달라진다. 근데 압축 푸는 건 비추. 모바일 상에서 압축 안되면 메모리가 상당히 무리. 색감이 달라져서 맘에 안들면 차라리 이미지를 바꿔라.압축은 필수!!pvrtc는 아이폰 용 압축 알고리즘인데, 굉장히 이미지가 많이 깨짐.그래서 A..
- 게임을 각 챕터마다 다운받게 하는 것장점 : 끝까지 하는 사람이 아니면 다 받아가지 않기 때문에 서버비 절감단점 : 개발도상국의 경우 인터넷 연결될 때 쫙 받기 때문에 플레이가 막히는 문제 - NGUI, UGUI 차이점환생킹은 NGUI. 차기작은 UGUI.과거엔 NGUI가 좋았고 업뎃은 계속 되고있지만 이제 UGUI가 더 좋아져버림.NGUI는 퍼포먼스가 딸린다고 함. 만들기는 쉬운데 최적화가 매우 어려움.이제는 UGUI.UGUI를 공부하는 방법 : 에셋 스토어에서 유니티 테크놀로지라고 검색. 그 다음 유니티가 만들어 올린 게임 데모 프로젝트 패키지를 보고 거기 있는 UI를 보고 공부해서 따라하라. 그게 가장 훌륭한 공부 방법. 직접 만든 사람이 그렇게 샘플을 만들었기 때문. 그걸 보고 따라 만들어보고..
Model-View-Controller 구조 1. SendMessage [Player] [U I] [Sound] [Key]│ ↑ │└────→FrameWork←─────────┘ 이렇게 따로 떨어져있으면 독립성 유지. 디버깅 편리, 각자 알아서 동작하게 함. 모델 뷰 컨트롤러라는 디자인 모델을 변경한 것. FrameWork는 SendMsg(바로 지금 처리), PostMsg(지금 하는 일이 다 끝나면 처리), DelayMsg(몇 초 후에 처리) 등을 가지고 있다.Manager라는 클래스를 두고 ReceiveMsg라는 함수를 둔 후, Player, UI, Sound, Key 등에게 상속시켜준다. === 프로젝트를 하나 만들고GameObject, Player, KeyManager라는 오브젝트를 만들어준다.Pl..
유니티 A* 글 현재 위치에서 목적지까지 A* 경로를 만든 후, 목적지에 가까운 그리드부터 하나씩 현 위치까지 선을 긋는다. 그 선 위에 존재하는 그리드들 중 장애물이 있을 경우 검사한 그리드를 출발지에 가까워지게 1칸 움직여 다시 선을 그으며 검사하고, 장애물이 없는 경우에는 그 그리드까지만 직선 운동 후 다시 검사를 시작한다. 이동 시 추가적인 보간은 넣지 않았기에 움직임이 부드럽지 않음. 보간은 알아서 나중에 넣자. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848..
Cube를 하나 만들어 플레이어로 둔다.Grid라는 Quad를 만들어 프리팹화 한다.큐브, 장애물 그리드, 길 그리드, 플레이어의 색을 표시할 마테리얼을 둔다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293//Click.csusing System.Collections;using System.Collections.Generic;using UnityEngine; /* * 설명 : 임의로 장애물을 만들고 지우고 경로를 출력하는 임시 클래스 *..
셰이더는 예쁘게 꾸미기 위해 병렬처리를 하는 것 123456789101112131415161718192021222324Shader "Game/SampleShader"//디렉토리와 이름{ Properties {//내부상의이름("인스펙터에뜰이름",지정된타입) = 밸류 _Color ("Color", Color) = (1,0,0,1) //컬러값 _MainTex ("Albedo (RGB)", 2D) = "white" {}//텍스쳐 } SubShader { Pass { Material { Diffuse[_Color] //재질에 디퓨즈 속성으로 컬러를 넣은 것. //재질에 반사되는 빛이 컬러색이라고 보면 된다. Ambient[_Color] //디퓨즈가 정면으로 오는 빛에 대한 것이면 이 녀석은 주변 반사광에 대한 것..
심심해서 해야할 건 안하고 즉흥으로 만들어 봄 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143//Settings.csusing System.Collections;using System...
빌보드 : 3d 게임에서 모델링 대신 이미지를 판처럼 세워두는 것. 멀리 있는 건물, 자연 풍경 등에 이용. 항상 플레이어를 바라보게 만듦. 유니티에서 퀄리티 세팅이라는 것이 있다.옵션에서는 그걸 이용하면 됨. LOD : Level of Detail. 멀리 갈 수록 작은 이미지를 써서 속도를 올림. 이거 대신 mipmap을 사용할 수도 있다. 프로그램 적으로 줄이거나, mipmap을 이용하거나인데 전자는 속도가 떨어지나 용량이 줄고, 후자는 용량이 늘지만 속도가 빠르다. 가장 퀄리티 세팅에서 쉽지만 강력한 영향을 주는 것이 빛을 얼마나 멀리까지 비추느냐, 텍스쳐 크기를 얼마나 줄이느냐, 카메라에서 멀리 떨어진 것은 안개를 준다던가. 어쨌든 유니티에 기본으로 있는 세팅을 바꿔보려면 이러면 됨 1234567..