Client/C# with Unity 14

[정보] 몰랐던 사실 기록! 1. 쉐이더 2. 랜더링 파이프라인

1. Shader == Meterial (심지어 언리얼엔진에서는 쉐이더가 없고 모두 메터리얼이라고 부른다고 한다! 충격...!) 2. Rendering Pipeline (랜더링이 이루어지는 순서. 아래의 모든 과정이 매 프레임 이루어지는 것이다.) 1. 오브젝트 데이터 받아오기: 그래픽카드가 Vertex로 이루어진 오브젝트의 데이터 값을 받아와서 Vertex 정보에 따라 Vertex들 사이를 이어서 면을 생성한다. 2. Vertex 쉐이더: 1. 모든 오브젝트들의 로컬 좌표계를 월드 좌표계로 변환해준다. 2. 월드 좌표계로 변환된 모든 버텍스들에 '카메라 행렬'을 곱해서 모든 버텍스들이 카메라로부터 얼마나 떨어져있는지 알아낸다. - 여기까지가 Orthographic Projection 3. 만일 Pers..

[정보] Unity 2D RayCast와 tag를 사용해서 화면에 터치된것들 구분하기! _ ex) UI에 가려진 부분은 터치에 반응하지 않도록 만들기.

제가 사용한 코드 입니다. 아직 많이 모자라서 이렇게 블로그에 올리긴 부끄럽지만.... 저도 항상 인터넷에서 도움을 많이 받는 입장에서 저도 선순환에 참여하고자 제 글이 조금이나마 도움이 되길 바라며 용기내봅니다. 더 좋은 방법을 알게되면 새롭게 포스팅 하겠습니다 :) 아래처럼 인자로 터치 포지션을 넣어서 사용해주시면 됩니다. //터치된것이 UI이면 True 리턴. private bool Check_if_it_is_UI(Touch touch) { var pointer_event_data = new PointerEventData(null); pointer_event_data.position = touch.position; List raycast_results_list = new List(); //여기에 히..

[Unity C#] String to int, Char to int

String을 int형으로 바꾸는 방법은 간단하다. int.Parse(string s) 를 사용해주면 끝!! 하지만 아래와 같은 char 형을 int형으로 바꿔주려고 캐스팅을 하게되면 char a = '3' print( (int)a ) 의도와는 다르게 결과값으로 3 대신 51이란 숫자를 보게될것이다. 이유가 뭘까? 위 그림은 아스키 코드표의 일부분을 캡쳐한 것인데, 각 문자를 int형으로 바꾸게 되면 왼편의 파란 원에 있는 숫자들로 바뀌어 출력되게 된다. 기본적으론 그 중에서도 가장 왼쪽줄에 있는 십진수의 형식으로 출력될 것이다. 이 문제를 해결하는 방법들 중 두 가지를 소개하겠다. 1. int.Parse를 사용하는 방법. 이 방법을 사용하면 간단하지만, int.Parse는 인자로 string 형태의 값..

[정보] Unity Resources.Load 스크립트상에서 유니티 Resources 폴더에 있는 데이터 사용하기!

https://docs.unity3d.com/kr/530/ScriptReference/Resources.Load.html Unity - 스크립팅 API: Resources.Load Returns the asset at path if it can be found otherwise returns null. Only objects of type will be returned if this parameter is supplied. /path/는 프로젝트의 애셋 Assets 폴더에 내에 Resources 폴더의 상대경로로, 확장자는 생략되 docs.unity3d.com https://docs.unity3d.com/ScriptReference/Resources.Load.html Unity - Scripting AP..

[정보] Unity Toggle 스크립트에서 listener 추가하는 방법. Toggle.onValueChanged.AddListener

위 내용처럼 delegate를 사용해 메서드를 전달해주면 됩니다. onValueChanged.AddListener(delegate{ '실행할 메서드' }) https://docs.unity3d.com/2019.1/Documentation/ScriptReference/UI.Toggle-onValueChanged.html Unity - Scripting API: UI.Toggle.onValueChanged You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see..

[정보]Unity Cinemachine Free Look Camera를 이용한 화면 회전시 마우스 감도 조절 방법

Cinemachine Free Look Camera의 화면 회전값은 기본적으로 Mouse X, Mouse Y의 입력을 받도록 되어있다. 이걸 따로 컨트롤러를 만들어서 사용하지 않는 한, 저 둘의 마우스 입력 감도를 설정하는 방법은 다음과 같다. 1. Cinemachine Free Look Camera 내의 Y축, X축 회전의 Speed 값을 수정한다. 2. InputManager에서 Mouse X와 Mouse Y의 마우스 민감도 항목의 값을 수정한다.( 1로 설정하면 윈도우 마우스 민감도와 같아진다 )

[정보] Unity inspector상에 Header, Range 설정하기

이렇게 변수 앞에 [Header("헤더명")] 입력해주면 이렇게 인스펙터상에 굵은 글씨로 헤더가 설정된다. 추가로 [Range(float, float)]를 사용하면 뒤따르는 변수의 값을 인스펙터상에서 슬라이더로 조절 가능해진다. 다른 기능도 많으니 '유니티 헤더' 라고 검색해보길 바란다! https://docs.unity3d.com/kr/530/ScriptReference/HeaderAttribute.html Unity - 스크립팅 API: HeaderAttribute Success! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read e..