Loading...
2016. 4. 15. 00:10

TRANSFORM_TEX

UnityCG.cginc 폴더에 보면 이런게 있다 // Transforms 2D UV by scale/bias property#define TRANSFORM_TEX(tex,name) (tex.xy * name##_ST.xy + name##_ST.zw) 코드에서는 UnityCG.cginc를 include 해서 아래와 같이 사용한다.o.uv = TRANSFORM_TEX(v.uv, _MainTex); 그런데 이게 어떤 기능일까?아래 참고 매뉴얼을 보면 이러한 설명이 되어 있다. 특별한 텍스처 프로퍼티들shader/material 프로퍼티로 설정한 각 텍스처에서, 유니티는 추가정보를 벡터 프로퍼티로 덧붙인다. Texture tiling & offset머티리얼은 종종 기울기와 오프셋 필드를 머티리얼의 텍스처를 위..

Unity Tags

RenderType 관련 태그 ex) Tags { "RenderType"="Opaque"} link : http://docs.unity3d.com/Documentation/Components/SL-ShaderReplacement.html LightMode 관련 태그 ex) Tags { "LightMode" = "Vertex"} link : http://docs.unity3d.com/Documentation/Components/SL-PassTags.html 유니티에 설정되어져 있는 built in tags에 커스텀 tag를 추가하여 Material.GetTag 함수로 사용할 수 있다. SubShader { Tags { ... MyTag"="tagType1" } .....위와 같은 식으로 셰이더 파일에서 설..

Built in shader variables

유니티에서는 셰이더 프로그래밍을 위해 몇개의 전역 셰이더 변수를 빌트 인 하여 제공하고 있다.현재 오브젝트의 변환 행렬이나 라이트 파라미터들, 현재시간 등 과 같은 것들이다.이 변수들을 셰이더 프로그램에서 사용할 때는 다른 변수들 처럼 선언해 줄 피룡가 없다.이들은 이미 UnityShaderVariables.cginc include 파일에 자동으로 포함되어 있다. 변환float4x4 행렬 typeNameValueUNITY_MATRIX_MVP현재 모델 * 뷰 * 투영 행렬 (model*view*projection)UNITY_MATRIX_MV현재 모델 * 뷰 행렬.UNITY_MATRIX_V현재 뷰 행렬.UNITY_MATRIX_P현재 투영 행렬UNITY_MATRIX_VP현재 뷰 행렬 * 투영 행렬UNITY_M..

Texture2D Alpha channel

내가원하는 것은 간단하다1. 원하는 텍스처를 가져온다2. 해당 텍스처의 알파값을 가져온다3. 새 텍스처에 알파값을 넣는다. 이를 위해 알아야 할 것은 아래와 같다.1. 텍스처 정보값을 얻기 위해 GetPixel, SetPixel을 쓰려면 해당 텍스처가 Read/Write Enabled 옵션이 설정되어 있어야 한다. 2. 이상하게 RGB16으로하면 안된다. RGB32로 해야 한다. 3. 이건 왠지 유니티 버그인듯 한데 GetPixel() 함수를 사용하면 제대로 값을 가져오지 못한다 그런데 GetPixels() 함수로 값을 가져와서 for loop을 돌면서 SetPixel()을 사용하면 제대로 된다. Texture2D destTex = new Texture2D(sourceTex.width, sourceTex..

2015. 7. 7. 20:30

unity 에서 log보기

우선 이클립스를 깔아준다.그 후에 아래의 과정을 거친다. 1. Show View - Other 2. LogCat 클릭 3. 아래쪽 버튼을 눌러준다. 4. Unity 라고 넣어준다.

singleton

언제나 많이 쓰는 싱글톤.유니티 c# 스크립트 버전도 검색하면 많이 나옴. 그냥 그대로 써도 되긴 하지만 기본적으로 유니티는 신 전환시신에 올라와 있는 오브젝트를 다 날려버려서 두가지 버전의 싱글톤을 사용하고 있다.첫번째 버전은 현재 신 버전에서만 유용한 녀석. 가벼운 녀석이다. public class Singleton : MonoBehaviour where T : MonoBehaviour { protected static T instance; //Returns the instance of this singleton public static T Instance { get { if (instance == null) { instance = (T)FindObjectOfType(typeof(T)); if (in..

2015. 2. 18. 10:16

C# keywords

요즘 유니티 C# 스크립트 작업중에 가끔 모르는 문법이 나온다.나올때 마다 정리해야지. Partial : 부분적인, 불완전한 1. 우선 파일을 두개 만든다. 2. TestClass.cs 파일의 클래스에 Partial을 사용하여 클래스를 만들고 멤버변수를 추가한다. 3. Program.cs에 TestClass.cs를 Partial과 함께 만들고 Program에서 사용 여기서 중요한 것은 TestClass가 중복되었다는 것과 현재 TestClass버전에는 alpha변수가 없는데사용할 수 있다는 것이다. 결국 partial키워드를 쓰면 따로따로 클래스를 만들 수 있다.허용범위는 컴파일이 한번에 진행되는 모든 곳이며 여러 인원이 작업을 할 때거대한 클래스가 있다면 분담해서 작업할 때 쓰면 좋을 듯 하다. Ref..