팀프로젝트/R&D 9

2020.06.28. Shader_오브젝트 뒤에 가려진 물체 렌더링

이 코드보고 리뷰해보려고 공부한건데 아직 공부 못한 부분이 많아서 잘 모르겠음 1. 팬텀 쉐이더 출처: z buffer test 를 조작해서 phantom shader 를 만들어 보자 [ 서론 ] 유튜브를 배회하다 우연히 본 동영상. 보다시피 돈주고 사야하는 Asset임. 공식적인 명칭인지는 모르겠지만 팬텀 쉐이더 (phantom shader) 를 오늘 한번 만들어 보겠음. [ 본론 ] 1.어떻게 구현� egloos.zum.com 동영상에 보이는 것처럼 물체 뒤로 가면 색이 들어간 유령처럼 반투명해짐 Stencil 버퍼와 rim lighting 방법을 이용했다고 함 _PhantomPower 변수를 조절해서 불투명 반투명 조절할 수 있음 *이것저것 만져봐서 원래 원작자가 올려주셨던 코드랑 좀 다를 수 있음..

팀프로젝트/R&D 2020.06.28

2020.06.28. Shader_Stencil Buffer, Culling & Depth Test, Pass, Blending

*아직 공부하는 중임* 1. Stencil Buffer stencil Buffer 라는 것이 있다. 이걸 쓰면 포토샵의 마스크처럼 각도에 따라 또는 오브젝트에 가려지는 부분만 렌더링 할 수 있게 함 즉, 마스크 렌더러임 stencil { ref 20 comp Always pass replace } 1)Ref -버퍼에 기록하기 위해 서로 비교하는 값(Comp이 Always가 아닌 경우) -0~255까지 정수타입 -Pass, Fail , ZFail로 대체될 값임 2)Comp -Buffer에 있는 Ref값을 현재 Contents와 비교할 때 사용 ( 디폴트는 Always) 3)Pass -Stencil 테스트와 Depth테스트를 통과한다면 Buffer의 Contents를 어떻게 할 것인지 지정 ( 디폴트는 Ke..

팀프로젝트/R&D 2020.06.28

2020.06.24. 스크롤 뷰 전환 버튼 UI

버튼 입력에 따라 스크롤뷰가 포함된 UI창 전환 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 37 38 39 40 41 42 43 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class App : MonoBehaviour { public Button btn1; public Button btn2; public Button btn3; public GameObject scrollview1; public GameObject scroll..

팀프로젝트/R&D 2020.06.24

2020.06.15. 조명 + 낮, 밤 Cycle 만들기

소중한 시간 절약을 위해 10초 주기로 낮 밤이 바뀌게 했습니다 실제 인게임에서는 30초 주기로 구현할 예정입니다 먼저 10초 주기로 낮->밤, 밤, 밤->낮, 낮 ....싸이클을 코루틴으로 만들어보았음 그리고 각각 밤과 낮에 진입할 때 각 오브젝트의 메테리얼에 접근해서 조명을 켜주고 꺼줬음 그다음 하늘 바꾸기 PolyCity를 만든 제작사에서 무료 에셋인 simple sky를 다운받으면 안에 SkyDome 이 있음 열어보면 해랑 달, 별들이 붙어있는 커다란 반구가 나옴. (구름은 안붙어 있음) 그걸 구조물 위에 얹고 쉐이더를 standard로 바꿔줌 이 반구는 Vector3.up(수직)을 기준으로 빙글빙글 돌려줄거임 여기서 Offset에 접근해서 시간의 흐름에 따라 색상을 바꿔줄거임(이러면 노을이 생김..

팀프로젝트/R&D 2020.06.16

2020.06.14. Emission 모바일에 적용시키기

Emission이 PC에서는 잘되는데 모바일에서 안된다면 해결방법 1. Build Setting -> Player Setting -> Other Settings에서 Auto Graphics ApI를 체크해제 해주고 OpenGLES3 를 제거해준다 OpenGLES3 제거하는 건 아래 링크에 댓글러가 설명해줌 디바이스로 빌드할 때 유니티에서 standard 쉐이더인건 OpenGLES3를 잘못 컴파일 해준다고 생각하는 것 같음 아무튼 그게 맞는 건지 그대로 해서 해결됐다는 사람들이 꽤 있는 모양 Simple shader turns black on Android - Unity Answers answers.unity.com 이 방법으로 안되면 2. Emission이 제어되는 오브젝트에 적용되는 메테리얼에서 Glo..

팀프로젝트/R&D 2020.06.14

2020.06.14. 낮,밤 / 조명 (버튼) - Emission 이 쉐이더 눌러야 적용되던 것 해결

emission color에 잘 접근했는데 쉐이더 버튼을 일일히 눌러줘야 적용되던 걸 해결했다 this.arrMaterials[index1].EnableKeyword("_EMISSION"); this.arrMaterials[index1].globalIlluminationFlags = MaterialGlobalIlluminationFlags.RealtimeEmissive; 저 두줄을 start에 넣어주면 되는 거였음 emission color는 시작할 때 비어있어서 사용하려면 초기화를 한번 해줘야한다고 한다. 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 37 38 39 40 ..

팀프로젝트/R&D 2020.06.14

2020.06.13 모바일 조이스틱 + 터치 화면 회전(카메라 컨트롤)

구현한 것 1. 조이스틱으로 캐릭터를 움직이고 2. 화면 터치로 카메라를 움직인다 ( 수평 yaw -캐릭터 주위를 공전, 수직 pitch - 일정 각도까지만 회전) 조이스틱까진 수월하게 구현했는데 터치로 카메라를 제어하는 것이 어려웠다. 모바일 환경에서 터치로 카메라를 어떻게 조종하는가 찾아보면 대부분 getmouseButton 에 raycast를 쏘는 방식으로 구현하는지 터치 구조체를 이용하는 방법은 잘 나오지 않았다 거기에 한손으로 이동 조작을 하면서 다른 손가락 터치로 카메라를 어떻게 제어하는지 코드나 방법을 찾아보았는데 대부분 카메라가 플레이어를 따라다니는 것까지만 구현하는 게 가장 많았고 내가 필요했던 방법은 나오질 않았다.. 여차저차 열심히 구글링해서 나오는대로 터치 구조체를 이용하지 않고 g..

팀프로젝트/R&D 2020.06.13

2020.06.10. 조이스틱 + 조이스틱 카메라 회전 / Euler, Mathf.Clamp

좌표를 설정할 때 Euler를 써야 우리가 아는 그 좌표값이 나온다!!!!!!! (ex 35도) rotation.x 이런 거 쓰면 안된다 Mathf.Clamp(적용할 대상, 최소값, 최대값) 적용할 대상의 최소값과 최대값을 지정한다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Center : MonoBehaviour { [SerializeField] private GameObject player; [SerializeField] private float speed; void Start() { } /..

팀프로젝트/R&D 2020.06.11

2020.06.09. 조이스틱 구현하기 / 조이스틱 방향으로 캐릭터 회전

가속도 없이 이동 + 조이스틱 방향으로 캐릭터를 회전 조이스틱의 방향값 ( x, y) 을 아크탄젠트로 변환시키고 라디안을 디그리 값으로 변환시켜준 값을 곱해준 뒤 캐릭터의 Y축 변환값으로 넣어줌 if (this.value != null) { this.go_Player.transform.rotation = Quaternion.Euler(0f, Mathf.Atan2(this.value.x, this.value.y) * Mathf.Rad2Deg, 0f); } 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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 5..

팀프로젝트/R&D 2020.06.09