본문 바로가기
반응형

유니티245

유니티 - 드래그로 블럭 옆으로 한 칸 움직이기 (Drag GameObject Snapped to a Grid) Unity 전체 링크 블럭 한 칸 이동하기 (그리드 기반 이동, 코루틴) 드래그로 오브젝트 Y축 회전하기 (Drag to Rotate Object in Y-axis) 드래그로 오브젝트 위, 아래로 움직이기 (Drag Object in Y-Axis) 드래그로 오브젝트 움직이기 (Move GameObject with Drag) 드래그로 땅 위의 오브젝트 움직이기 (Drag and Move on the Ground) 드래그로 평면 위의 오브젝트 움직이기 (Drag and Move on the Plane) 드래그로 블럭 옆으로 한 칸 움직이기 (Drag GameObject Snapped to a Grid) 아래와 같이 드래그로 블럭을 움직이고, 한 칸 단위(그리드)로만 움직이도록 구현해보자. 먼저 드래그로 자연.. 2022. 6. 12.
유니티 쉐이더 - 카메라 흑백 효과로 게임 오버 이펙트 만들기 (Camera Game Over Effect) Unity 전체 링크 아래와 같이 게임이 종료되었을 때, 카메라를 흑백 처리하여서 GAME OVER가 되도록 해보자. 적당히 원하는 게임 씬을 만들고, Canvas에 Text와 Button을 추가한다. Button에 이벤트를 연결할 것이므로 EventSystem도 추가한다. 여기서는 버튼을 누를 경우 gameOverCameraEffect()를 호출해 강제로 GameOver가 되도록 할 예정이다. 실제 게임에서는 게임 오버 조건을 만족할 경우 gameOverCameraEffect()를 호출하면 된다. Text도 미리 사이즈를 원하는대로 조절하도록 하자. 카메라에는 CameraGameOverEffect.cs를 추가한다. using System.Collections; using System.Collection.. 2022. 6. 11.
유니티 - 전처리기 지시문을 사용하여 조건부 컴파일하기 (Scripting Define Symbols) Unity 전체 링크 유니티 C#에서도 조건부 컴파일이 가능하다. 아래의 DefineTest.cs를 큐브에 추가한 후, 큐브를 클릭해보자. using System.Collections; using System.Collections.Generic; using UnityEngine; public class DefineTest : MonoBehaviour { void OnMouseUp() { #if DEFINE_TEST Debug.Log("OnMouseUp"); #endif } } 아마 아무 동작도 하지 않을 것이다. DEFINE_TEST가 등록되지 않았기 때문에 전처리기가 해당 코드를 지울 것이다. 유니티에서도 사용자가 임의로 define 값을 정의할 수 있다. [Edit] → [Project Setting.. 2022. 6. 10.
유니티 - 스크립트로 게임 일시정지하기 (Unity Pause by Scirpt) Unity 전체 링크 유니티에서 게임을 멈추는 방법(Pause)은 두 가지가 있다. - Time.timeScale을 변경하여 Time.deltaTime을 0으로 만들기 - EditorApplication.isPaused를 true로 변경하여 실제 게임을 멈추기 먼저 PauseTest.cs를 만들고 큐브 3개에 추가한다. 각 큐브를 누르면 public에서 설정한대로 timeScale이 변경되고 큐브에서 마우스를 떼면 원상태로 돌아간다. 즉, 원래 TimeScale은 1이다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class PauseTest : MonoBehaviour { public floa.. 2022. 6. 10.
유니티 쉐이더 - 속성 타입과 인터페이스 옵션 (Properties Type and Interface Attributes) Unity 전체 링크 유니티 세이더에 설정할 수 있는 여러 타입이 있다. https://docs.unity3d.com/Manual/SL-Properties.html Unity - Manual: ShaderLab: defining material properties ShaderLab: defining a Shader object ShaderLab: assigning a fallback ShaderLab: defining material properties This page contains information on using a Properties block in your ShaderLabUnity’s language for defining the structure of Shader objects. Mor.. 2022. 6. 6.
블렌더 오브젝트를 유니티로 내보내기 - Scale 설정 A형 필수 알고리즘을 체계적으로 배우고 싶다면? (인프런 바로가기) Blender 전체 링크 유니티 오브젝트를 블렌더로 내보내기 (export FBX)블렌더 오브젝트를 유니티로 내보내기 (export FBX)블렌더 오브젝트를 유니티로 내보내기 - Scale 설정.blender 파일을 유니티로 가져오기블렌더 오브젝트를 유니티로 내보낼 때, 아래와 같이 Scale 100이 되는 경우가 생긴다. FBX를 내보낼 때, 왼쪽의 ▼변환에서 Apply Transform을 체크해주면 된다. Apply Transform을 적용한 후, 유니티에 불러오면 Scale이 1로 조정된 것을 알 수 있다.게다가 Rotation도 (0, 0, 0)으로 재설정된다. 유니티와 블렌더의 좌표 축이 다르기 때문에 Apply Transfor.. 2022. 6. 5.
유니티 - 스카이 박스 변경 (Skybox) 깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기) Unity 전체 링크 심심해 보이는 스카이 박스(Skybox)를 변경해보자. [Window] → [Rendering] → [Lighting] 으로 이동하자. [Envirnment] 탭에서 Skybox Material의 Default-Skybox를 원하는 Material로 변경하면 된다. 머테리얼을 적용하니 하늘이 이쁘게 변경되었다. watersky 머테리얼는 에셋 스토어에서 무료로 다운 받을 수 있다.https://assetstore.unity.com/packages/2d/textures-materials/sky/free-hdr-sky-61217 Free HDR Sky | 2D 하늘 | Unity Asset StoreElevate y.. 2022. 6. 1.
유니티 C# - 확장 메서드 (Extension Method) / static method 의 this parameter Unity 전체 링크 C#에는 확장 메서드(Extension Method) 기능을 지원한다. 미리 정의된 형식에 사용자 정의 함수를 추가할 수 있다. MyMath.cs를 만들고 아래와 같이 작성한다. 이때 static class인 MyMath의 static 메서드에서 parameter에 this가 있는 MySquared가 확장 메서드가 된다. using System; public static class MyMath { /* 확장 메서드 */ public static int MySquared(this int value) { return value * value; } /* 정적 메서드 */ public static float MySafeDivide(float value, float divider) { if .. 2022. 5. 30.
유니티 - JsonUtility로 Json 파싱하기 : (2) 배열 파싱 Unity 전체 링크 JsonUtility로 Json 파싱하기 (1) Json Parsing (2) Json Array Parsing (배열 파싱) (3) Array of Objects in Json Array Parsing (배열 안에 있는 오브젝트 배열 파싱) (4) Json Export (파일 출력, 내보내기) 이번에는 여러 개의 로또 번호를 가지고 있는 json 파일을 파싱해보자. 배열과 List로 받을 수 있다. Dictionary 같은 타입은 지원되지 않기 때문에 먼저 List로 파싱한 후 직접 만들어야 한다. LottoWinningNumber.json은 아래와 같다. 글을 쓰는 시점에서 최신 로또 번호 회차인 1017회까지 "winning" 프로퍼티에 배열로 정의되어 있다. { "winnin.. 2022. 5. 29.
반응형