일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- 유니티
- jupyter
- c언어
- c# 윈폼
- 다트 언어
- 플러터
- dart 언어
- Flutter
- HTML
- 깃
- Algorithm
- Unity
- C# delegate
- github
- Python
- c# winform
- Houdini
- 구조체
- jupyter lab
- c#
- C++
- vim
- git
- Data Structure
- c# 추상 클래스
- gitlab
- C언어 포인터
- 도커
- 포인터
- Today
- Total
목록유니티 (5)
nomad-programmer
다른 오브젝트에 잇는 스크립트의 변수를 변경하거나 함수를 호출하는 방법을 알아보자. GetComponent 함수를 사용하는 방법과 Singleton 기법을 사용하는 방법이 있다. 2개의 오브젝트 obj1, boj2를 만들고 obj1에는 TextScript1.cs 스크립트를 컴포넌트로 추가하고 obj2에는 TextScript2.cs 스크립트를 컴포넌트로 추가할 것이다. 그리고 TextScript1.cs 스크립트 안에서 obj2의 컴포넌트인 TextScript2.cs 스크립트의 변수를 변경하고 함수를 호출하겠다. GetComponent 함수 사용하기 TextScript1 스크립트를 드래그하여 Hierarchy 뷰에 있는 obj1 오브젝트에 놓는다. 마찬가지로 TextScript2 스크립트를 드래그하여 Hie..
유니티 관련 자세한 설명은 역시 유니티 공식 문서를 보는 것이 최고. https://docs.unity3d.com/kr/530/Manual/ExecutionOrder.html 이벤트 함수 실행 순서(Execution Order of Event Functions) - Unity 매뉴얼 Unity 이벤트 함수는 사전에 정해진 순서대로 실행됩니다. 실행 순서는 다음과 같습니다. docs.unity3d.com 간략하게 설명하자면... 게임이 시작될 때, 초기화해야 하는 것들을 이곳에 넣으면 된다. Start() 함수와의 차이점은 게임이 실행될 때, 단 한번 실행되는 것은 두 함수 모두 같은데 Awake() 함수가 Start() 함수보다 한박자 빠르다.
굴절 효과를 적절하게 사용하면 아주 멋진 효과를 낼 수 있다. 유리나 물에도 응용할 수 있다. 일반적으로 이 효과를 만들 때 프레그먼트 셰이더를 사용한다만 서피스 셰이더로도 만들 수 있다. Shader "Custom/Refraction" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} _RefStrength("Refraction Strength", Range(0, 0.1)) = 0.05 } SubShader { Tags { "RenderType"="Transparent" "Queue"="Transparent"} zwrite off GrabPass{} CGPROGRAM #pragma surface surf nolight noambient alpha:f..
Shader "Custom/AlphaBlend" { Properties { _MainTex ("Albedo (RGB)", 2D) = "white" {} } SubShader { Tags { "RenderType"="Transparent" "Queue"="Transparent" } zwrite off blend SrcAlpha OneMinusSrcAlpha LOD 200 CGPROGRAM #pragma surface surf Lambert keepalpha #pragma target 3.0 sampler2D _MainTex; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutput o) { fixed4 c = tex2D (_..
라이팅을 커스터마이징하게 만들 수 있다. #pragma surface surf Test noambient 라이팅 이름을 Test로 지정하였다. 이름은 마음대로 지어도 상관 없다. 대신 이름에 적합한 라이팅 함수를 추가해주어야 한다. float4 LightingTest(SurfaceOutput s, float3 lightDir, float atten) { return float4(1, 0, 0, 1); } 이 함수는 무엇을 하든지 붉은 결과물을 출력하는 기능을 가진 함수이다. 또한 이어서 나오는 이름에 주의해야 한다. 저자가 설정한 커스텀 라이트 이름은 "Test" 였다. 그래서 앞에 "Lighting" 이란 이름을 추가해야 라이트 함수로 받아들인다. Lighting + (커스텀 라이트 이름) 따라서, 커..