목록프로그래밍 (44)
게임 프로그래밍
이번에 친구와 만든 게임을 구글 플레이 스토어에 등록하였습니다. 최근에 방송으로 유행했던 메이플스토리의 인내의 숲에서 영감을 얻어서 인내의 숲 모바일 버전을 만들었습니다. :) 많이 부족한 게임일수도 있지만, 재밌게 즐겨주셨으면 좋겠고 혹시 플레이하셨으면 리뷰도 남겨주시면 굉장히 기쁠것 같아요 ㅎㅎ https://play.google.com/store/apps/details?id=com.shj.JPER 더쿤점프:인내의숲 - Ducoon Jump - Google Play 앱 (오리)너구리가 포탈에 들어 갈 수 있게 도와주세요! 우리의 (오리)너구리는 숲에 있는 포탈에 들어가야 합니다. 여러분들이 귀여운 (오리)너구리를 움직여 포탈에 갈 수 있게 해주세요! 태초마을에 가는 경우가 많겠지만 포기하지 마세요! ..
스펙큘러 표현 공식은 다양하지만 가장 유명하고 전통적인 방식은 Phong반사 입니다. 이 공식의 기본 원리는 "내가 보는 방향으로부터 반사된 방향에 조명이 있으면 그 부분의 하이라이트가 가장 높다" 입니다. Blinn-Phong의 공식은 "시선 벡터와 조명 벡터의 중간값인 '하프 벡터'를 구하고, 이를 노멀 벡터와 내적한다." 그렇다하면 하프 벡터는 어떻게 구할 수 있을까요? 벡터의 특징중에 하나를 살펴보면 "길이가 같은 두 벡터를 더 하면, 두 벡터 사이의 절반인 각도가 나온다" 라는 특징이 있습니다. 이를 통해 하프 벡터는 "시선 벡터" 와 "조명 벡터" 를 더 하고 이를 normalize 해주면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21..
모든 물체는 기울어질수록 반사가 심해집니다. 반사율은 재질에 따라 다르게 나타납니다. 역광이거나, 털이거나 반투명 재질을 가진 물체들은 이 현상이 매우 강렬하게 나타날수 있고, 재질에 따라 잘 안보일 수도 있습니다. 사진 분야에서는 이것을 Rim Light라고 부릅니다. 금속 재질은 비금속 재질보다 확연하게 반사율이 다릅니다. 이러한 반사 공식을 Fresnel(프레넬) 이라 부릅니다. 이 프레넬 공식을 구현해 림 라이트를 만들어 봅시다. Lambert 라이트에 대해서 잠깐 얘기해보겠습니다. "노멀 벡터와 조명 벡터의 각도가 같으면 밝고, 90도가 되면 어두워진다" 이었습니다. 1 2 3 4 5 struct Input { float2 uv_MainTex; float3 viewDir; }; cs input에..
hierarchy에서 특정한 Script를 컴퍼넌트로 갖는 오브젝트를 검색하고 싶은 경우가 있습니다. 그럴때는 ref:script경로 로 검색하시면 됩니다.
(2019.3.7f1 버전으로 하였습니다.) unity ads는 유니티에서 지원하는 보상형 광고 시스템 입니다. 아마 2018버전부터 별다른 작업없이 쉽게 넣을 수 있도록 된걸로 알고 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Advertisements; public class UnityAds : MonoBehaviour { void Awake() { Advertisement.Initiali..
Array를 list로 변환하는 방법에는 몇가지가 있습니다. 1. List list = ints.OfType().ToList(); 2. List list = new List(new int[] { 1, 2, 3, 4, 5}); 3. list.AddRange(new int[] { 1,2,3,4,5 } );
유니티에서 c# 스크립트를 만들면 기본적인 틀이 있습니다. 우선 using UnityEngine이 추가 되어있을거고 Start 함수와 Update함수도 있을것 입니다. 이러한 틀(Templates)은 유니티에서 미리 정해진 것이고, 상황에 맞게 커스텀도 가능합니다. 우선 ScriptTemplates가 저장된 경로를 살펴봅시다. 기본 경로 : C:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates 유니티 허브 : C:\Program Files\Unity\Hub\Editor\2018.3.13f1\Editor\Data\Resources\ScriptTemplates Mac : Macintosh HD ▸ 응용 프로그램 ▸ Unity ▸ Hub ..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public override void OnInspectorGUI() { base.OnInspectorGUI(); grid = (Grid)target; EditorGUILayout.BeginHorizontal(); string[] ObjectOptions = new string[grid.prefabsList.Length]; string[] selectOptions = { "그리기", "지우기" }; for (int i = 0; i