본문 바로가기

Unity

(15)
Unity3D Shader 방식 Fixed Function Program키워드로 구성정점기반 라이팅 (가볍고 빠르다)오래된 하드웨어와 호환Fixed Function Program 예 Vertex / Fragment Program셰이더 모델 : 2.0 / 3.0셰이더 언어 : Cg, GLSL셰이더 : 버텍스, 픽셀 셰이더CGIncludes 디렉터리셰이더 관련 다양한 매크로 및 함수 제공Cg To GLSL 자동 변환Vertex / Fragment Shader 예 Surface Shaderexpand source Vertex Lit Rendering PathForward Rendering PathDeferred Lighting Render PathFixed Fundtion ProgramO Vertex Fragment Program O Sur..
HLSL 내장 함수 (자료형) ※ 용어는 사전 링크를 포함하고 있습니다. 함수 내용 sample2D 2D Texture sample3D 3D Texutre float4 32 bit : Vector에 주로 쓰임 half4 16 bit : Color값에 주로 쓰임 (모바일 지원) fixed4 8 bit : Color 값에 주로 쓰임 (모바일 지원 안함) tex2D(s, t) 텍스쳐 샘플링에 사용하는 HLSL 함수. 첫 번째 인자에서 두 번째 인자 좌표에 있는 텍셀을 구하는 함수. s는 샘플러 또는 sampler2D 개체 (Texture), t는 2D 텍스처 좌표 (UV) tex2D(s, t, ddx, ddy) 2D의 투영 텍스처 참조 ddx(x), ddy(x) 스크린공간의 x, y 좌표에 대한 x, y의 편미분을 리턴한다 reflect(..
how to setting vive controller for unity https://www.assetstore.unity3d.com/en/#!/content/99231 https://www.youtube.com/watch?v=e_DnPDGlh24https://www.youtube.com/watch?time_continue=1&v=zYHBSRTgSyA
스크립트에서 쉐이더에 변수 전달하기. .shader Shader "MyShader"{Properties{....} SubShader{ int A; // 전달받을 변수 float B; // 전달받을 변수 sampler2D C; // 전달받을 변수 sampler3D D; // 전달받을 변수} ※ SubShader 에다 변수를 선언하고.... using System.Collections;using System.Collections.Generic;using UnityEngine; public class MyClass: MonoBehaviour { private Material myMaterial; // 쉐이더에 접근할 머트리얼private myMaterial= new Material(MyShader); // MyShader를 적용 // 넘길 데이터..
#1 어찌하다보니 쉐이더도 해야 하는 상황이 왔넹.. 그렇다고 기존에도 잘한건 아니지만...일단 자료를 긁어 모으는 데로 업데이트 할 예정인지라 정리가 잘 안될수도 있음...ㅇㅇ 그렇다구
바이브 입력 ID public enum EVRButtonId{k_EButton_System = 0,k_EButton_ApplicationMenu = 1,k_EButton_Grip = 2,k_EButton_DPad_Left = 3,k_EButton_DPad_Up = 4,k_EButton_DPad_Right = 5,k_EButton_DPad_Down = 6,k_EButton_A = 7,k_EButton_ProximitySensor = 31,k_EButton_Axis0 = 32, // TouchPad Axis Vector2k_EButton_Axis1 = 33, // Trigger Axis Vector2.xk_EButton_Axis2 = 34, k_EButton_Axis3 = 35,k_EButton_Axis4 = 36,k_EBu..
Vive Controller using System.Collections;using System.Collections.Generic;using UnityEngine; public class WandInput : MonoBehaviour{ public SteamVR_TrackedObject trackedObj; public SteamVR_Controller.Device controller { get { return SteamVR_Controller.Input((int)trackedObj.index); } } private void Update() { Debug.Log(controller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis0)); }} /* * k_EButton_SteamVR_Touchpad ..