게임 65

[HLSL] Normal Mapping의 이해

노멀매핑 쉐이더를 공부하면서 가장 중요한 것은 접선공간에 관련된 것이라고 생각하고 있다.노멀벡터의 xyz값이 텍스쳐의 rgb값 변수에 저장되어 있다. 그냥 디퓨즈 매핑이나 스페큘러 매핑 쉐이더에서는 정반사광과 난반사광을 정점쉐이더에서 구현했는데, 노멀 매핑에서는 빛 계산을 픽셀 쉐이더에서 하게 된다. 노멀 맵에서의 현재 UV좌표에 따른 픽셀 데이터가 바로 노멀 벡터이다. 법선 맵의 법선벡터들은 표면의 바깥쪽 방향을 법선의 +Z로 두고 만들어져 있다. 그리고 각 표면마다 각각 다른 공간에 있다.이것을 '접선공간' 또는 '표면(서피스)공간' 이라 하고, 여기서는 접선 공간이라 하겠다. 표면이란 폴리곤이라고 생각하면 된다.모든 오브젝트들은 따로 설정을 해주지 않는 이상 기본적으로 로컬 공간에 있다. 접선공간 ..

게임/Shader 2012.12.04

[Unity3D] Character Controller의 충돌 검사

http://www.devkorea.co.kr/reference/Documentation/ScriptReference/CharacterController.OnControllerColliderHit.html______________________CharacterController.OnControllerColliderHit function OnControllerColliderHit (hit : ControllerColliderHit) : void설명이동 수행하는 동안 컨트롤러는 콜리더를 눌렀을때 OnControllerColliderHit가 호출됩니다.캐릭터와 충돌하면이 개체를 미는데 사용 할 수 있습니다.C#using UnityEngine; using System.Collections; public clas..

게임/Unity3D 2012.11.27

[Unity3D][EZ GUI] UIButton Event 처리 방식

참고 : http://www.devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=17183---------------- EZ GUI에서 버튼의 터치 이벤트를 처리할 때, UIButton의 inspector창의 설정으로 터치 입력 설정을 하는 것 보다는 델리게이트 함수로 이벤트 처리를 하는 것이 더 정확하고 빠르다고 한다. 다음은 소스 코드이다. using UnityEngine; using System.Collections; public class CUIButton : MonoBehaviour { // Use this for initialization void Start () { buttons.AddInputDelegate(ButtonDelegate); } // U..

게임/Unity3D 2012.11.05

[Unity3D] EZ-GUI

출처 : http://ncanis.tistory.com/337------------------------------------------------------------EZ-GUI 1. 설치 Editor, Plugins 가 설치되는데 디렉토리를 바꾸지 않도록 유의한다. UnityEngine 툴에 설치되는것이기때문이다. ( UnityEngine 규칙임) 2. UIManager - User의 입력을 받고 EZGUI 컨트롤들에 전달하는 매니저 - 모든 Secene에는 반드시 하나의 UIManager가 하나 존재해야 한다. Perperty * Pointer Type(mouse, touchpad, ray etc) : 어떤 입력장치를 통하는가, 예>AUTO_TOUCHPAD : pc에서는 마우스, 패드에선 터치 * ..

게임/Unity3D 2012.11.05

[Unity3D][Shader] 텍스쳐와 Alpha값에 대한 고찰

FBX 파일과 .tga 텍스쳐를 받고 유니티에 띄우고 쉐이더는 텍스쳐를 투명값만 조정하는 기능의 쉐이더인 Unlit의 Transparent를 썼는데, 각도에 따라 모델의 일부분이 투명하게 되길래 놀랬다. 이 쉐이더는 완벽하게 Alpha값을 걸러내진 못하는 것 같다..그리고 얇은 옷가지 같은 모델이 있을 때, 한 쪽에서만 볼 수 있게 제작된 모델이라면 다음의 UnlitAlpha 쉐이더를 사용하면 해결된다.(아직 쉐이더를 제대로 해보진 않았으므로 잘 모르겠지만.. 뜯어본 결과 Cull off가 안 되어있었고, ZWrite라는게 꺼져있었다. 그리고 여러가지 다른 점이 있지만, 쉐이더 공부할 때 분석해 보아야겠다.)이 쉐이더는 조명의 영향을 받지 않으며, 텍스쳐의 투명값을 조정하고 폴리곤의 앞, 뒤 둘 다 볼 ..

게임/Unity3D 2012.11.01
반응형