반응형

Unity3D/유니티 공부 18

[Unity / C#] 유니티 오브젝트 이동(2) - Transform.position

[유니티 오브젝트 이동 시리즈 모음] 더보기 https://wonsang98.tistory.com/225 [Unity / C#] 유니티 오브젝트 이동(1) - Transform.Translate 유니티 오브젝트 이동 사람이 현실에서 이동할 수 있는 방법은 다양하다. 직접 걸어서 움직인다던지, 운송수단에 탑승하여 이동한다던지. 마찬가지로 유니티에서 오브젝트의 이동도 구현 방법 wonsang98.tistory.com https://wonsang98.tistory.com/227 [Unity / C#] 유니티 오브젝트 이동(2) - Transform.position [유니티 오브젝트 이동 시리즈 모음] 더보기 https://wonsang98.tistory.com/225 [Unity / C#] 유니티 오브젝트 이..

[Unity / C#] 유니티 오브젝트 이동(1) - Transform.Translate

[유니티 오브젝트 이동 시리즈 모음] 더보기 https://wonsang98.tistory.com/225 [Unity / C#] 유니티 오브젝트 이동(1) - Transform.Translate 유니티 오브젝트 이동 사람이 현실에서 이동할 수 있는 방법은 다양하다. 직접 걸어서 움직인다던지, 운송수단에 탑승하여 이동한다던지. 마찬가지로 유니티에서 오브젝트의 이동도 구현 방법 wonsang98.tistory.com https://wonsang98.tistory.com/227 [Unity / C#] 유니티 오브젝트 이동(2) - Transform.position [유니티 오브젝트 이동 시리즈 모음] 더보기 https://wonsang98.tistory.com/225 [Unity / C#] 유니티 오브젝트 이..

[Unity / C#] 코루틴(Coroutine)과 인보크(Invoke) 비교.

Coroutine VS Invoke 코루틴(Coroutine) [Unity / C#] 코루틴(Coroutine) 코루틴(Coroutine) Coroutine 코루틴의 사용이유 일반적으로 유니티에서 함수를 호출하면 값을 반환하기 전에 실행이 완료되어버린다. 즉, 함수에서 수행되는 모든 Action이 하나의 Frame에서 발생하고 wonsang98.tistory.com 인보크(Invoke) [Unity / C#] 인보크(Invoke) 인보크(Invoke) 단순히 게임이 아니더라도 개발을 하다보면 특정 함수를 일정시간 이후에 실행시켜야 할 필요가 생긴다. 이럴때 사용하는 기능이 인보크(Invoke)이다. 인보크는 아주 간단하게 함수 wonsang98.tistory.com 둘 다 Unity, C#에서 프로그래머..

[Unity / C#] 인보크(Invoke)

인보크(Invoke) 단순히 게임이 아니더라도 개발을 하다 보면 특정 함수를 일정 시간 이후에 실행시켜야 할 필요가 생긴다. 이럴 때 사용하는 기능이 인보크(Invoke)이다. 인보크는 아주 간단하게 함수의 이름과, 시간을 인자로 받아 그 함수를 받은 인자만큼의 시간 이후에 실행한다. float t; private void Start() { t = 0; Invoke("tryInvoke", 5.0f); } private void Update() { t += Time.deltaTime; Debug.Log($"Now Time : {t}"); } void tryInvoke() { Debug.Log("Invoke 실행!"); } 위의 코드를 봐 보자. tryInvoke() 함수를 Invoke를 사용하여 5초 후에..

[Unity / C#] 코루틴(Coroutine)

코루틴(Coroutine) Coroutine 코루틴의 사용이유 일반적으로 유니티에서 함수를 호출하면 값을 반환하기 전에 실행이 완료되어버린다. 즉, 함수에서 수행되는 모든 Action이 하나의 Frame에서 발생하고 그친다는것이다. 그렇기 때문에 Update() 같이 프레임간격으로 실행되는 함수안에서 실행하지 않고 단일 호출로 함수를 실행하게 되면? 그 함수는 아마 우리가 기대한 효과를 가질 수 없을것이다. void Fade() { for (float f = 1f; f >= 0; f -= 0.1f) { Color c = renderer.material.color; c.a = f; renderer.material.color = c; } } 위의 코드가 그 예시와 같다. alpha값을 점진적으로 줄이고 싶은..

[Unity / C#] 가위바위보 프로그래밍.

C#을 사용한 가위바위보 구현 요구사항 숫자키(1~3)로 가위(1) 바위(2) 보(3)를 선택한다. SpaceBar를 누르면 선택한 키(가위/바위/보)가 확정된다. 컴퓨터는 랜덤으로 가위 바위 보를 선택한다. 유저와 컴퓨터의 패를 비교하여 승부를 한다. 승부결과를 알린다. (유저기준) 전체 코드 using System.Collections; using System.Collections.Generic; using UnityEngine; public class RSP : MonoBehaviour { enum Hands { none = 0, Rock = 1, Scisscors = 2, Paper = 3, } Hands user_hand = Hands.Rock; // 유저가 낼 손 Hands com_hand =..

[유니티] UI - 1

지난번 '러닝하이'프로젝트를 하면서 정말 세상에서 제일 귀찮았던것은 UI 작업이었다. UI 배치는 뭐... Scene에서 그냥 휘적휘적하면서 올려두고 뭐 하고 하면 되는데 UI 오브젝트를 스크립트상에서 제 기능을 하도록 이벤트 연결하고, 스크립트 상에서 문자를 넣고 하는게 너무 단순반복 노가다 같고 재미가 없었다. 그도 그럴게 나 같은 경우에는 어떻게 하면 효율적으로 할 수 있을지 크게 생각을 못하고 그냥 오브젝트 하나하나 불러오거나, 기껏해야 비슷한거 배열길이도 이미 정해진거로 만들어갖고 꾸역꾸역 하나하나 경로부터 이름까지 다 불러와서 배치하는 미친 노가다를 했기 때문이다. 그런데 이번에 강의를 들어보니 나같이 멍청하게 안하는 방법이 있어서 배운것을 기록하려고 한다. 1. UI 오브젝트 생성 UI 작업..

유니티 게임 오브젝트와 UI 클릭을 구분하기 - [EventSystem.IsPointerOverGameObject]

입력을 하나의 스크립트에서 처리를 한다고 할 때, 이런 경우가 있을것이다. Player 캐릭터의 움직임에도 마우스 클릭이 사용되고 UI 버튼을 사용할때에도 마우스 클릭이 사용된다. 이 경우, UI 버튼만 누르고 싶어서 누른건데 Player 캐릭터또한 UI 버튼 방향으로 이동한다면? 대충 이런 상황에서 사용되는게 IsPointerOverGameObject이다. https://docs.unity3d.com/kr/530/ScriptReference/EventSystems.EventSystem.IsPointerOverGameObject.html Unity - 스크립팅 API: EventSystems.EventSystem.IsPointerOverGameObject If you use IsPointerOverGam..

반응형