본문 바로가기

Unity/Unity3D_Quater

Unity3D_Quater - 코인자석 만들기

목표 : 3D오브젝트 코인(금, 은, 동)을 먹으면 코인(3D형태)이 코인UI이미지쪽으로 날라가도록 만들기

 

1. Asset폴더에 Render Texture를 생성한다

  - 생성한 Render Texture는 이 후 과정에서의 날라가는3D오브젝트 이미지를 만드는데 필요한 Camra와, UI-Image에 사용될 것이다  

 

 

2. 카메라를 생성하고 해당 카메라가 비출 오브젝트를 생성한다

 

 - 카메라 생성 후 Target Texture 에 1에서 생성한 Render Texture를 드래그 앤 드랍한다

 - Clear Flags를 Solid Color로 해주어야 카메라가 온전히 본인이 비추는 오브젝트만 깔끔히 보이도록 나온다

 - 카메라가 비출 오브젝트를 우리가 먹을 3D오브젝트 코인과 모양을 같게 만들되 위치정보를 Rect Transform으로 만들어 주고 스스로 회전하는 로직만 담긴 스크립트도 함께 담아준다 Use Gravity도 체크해제 해주어 아래로 떨어지지 않도록 해준다

 

 

3. Raw Image 생성하기

 - 2에서 카메라가 비추고있는 아래의 오브젝트가 하나의 이미지가 되어 우리의 프로젝트 main Camra에 덫붙여씌워질 것이다  

 

 - 따라서 언급한 하나의 이미지가 될 오브젝트인 Raw Image 를 생성한다

 

 - 생성한 Raw Image 오브젝트의 Texture에 1에서 만든 Render Texture 를 드래그앤 드랍한다

 - 이제이부터 이 Image 오브젝트는 2에서 만든 카메라와 같은 Render Texture를 가지고 있으면 카메라가 비추는 화면을 이미지화 한다

 - 생성한 Raw Image를 프리팹화 한다 

*같은 방식으로 각 각  은, 동 3D코인 오브젝트를 보여주는 RawImage 프리팹 2개를 더 만들어 준다

 

4. 스크립트 구현 

  - Player 스크립트에서 플레이어가 코인을 먹으면 해당 코인의 스크립트를 가져오고

  - 먹은 코인의 Index값(동, 은, 금 => 0, 1 ,2)을 자신의 CoinIndex에 저장한다

  - 먹은 코인의 위치정보인 transform도 자신의 eatedCoinPos변수에 저장한다

  - 이후 GameManiger스크립트의 함수를 호출 실행

 

 - GameManiger 스크립트에서 3D 오브젝트가 존재했던 위치에 3D코인 이미지를 생성하고

 - 3D코인 이미지가 코인UI(targetPosition)로 날아가도록 만들며

 - 3D코인 이미지가 UI근처에 다달았을때 destroy되게 만들면서 동시에 코인 이미지에 해당하는 코인값을 + 해주도록 구현

 

 

*참조 

dallcom-forever2620.tistory.com/43

 

[Unity] Rendertexure로 UI에 캐릭터 보이게하기

Rendertexture 기능을 이용해 UI에 캐릭터 모델을 나타 내는걸 진행해보았습니다. 기존에는 canvas 에서 해당 UI씬 마다 필요 캐릭터모델을 로드하고 위치하게 했엇는데, Rendertexture 를 사용하면 한 캐

dallcom-forever2620.tistory.com

game-happy-world.tistory.com/41

 

유니티- 오브젝트를 UI처럼 가운데 위치시키기(렌더텍스쳐)

오늘은 3D 오브젝트를 화면 중앙에 위치시키고 UI처럼 사용하는 방법에 대해 알아보겠습니다. 콘솔게임으로 잠입이나 방탈출 같은 게임을 하다보면 특정 오브젝트와 상호작용했을 때 해당 오브

game-happy-world.tistory.com

jinsdevlog.tistory.com/27

 

유니티 WorldSpace Position에서 Canvas Position으로 전환하기

GameObject WorldObject; //this is the ui element RectTransform UI_Element; //first you need the RectTransform component of your canvas RectTransform CanvasRect=Canvas.GetComponent (); //then you cal..

jinsdevlog.tistory.com

m.blog.naver.com/PostView.nhn?blogId=kwmnusa&logNo=220969107621&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[UI] UI Prefab을 Instantiate 할 때, 위치와 크기를 Parent에 맞추는 법

UI용 Prefab을 Scene에서 생성할 때, Editor에서는 그냥 Drag해서 Parent 이름 위에 놓으면 자동으...

blog.naver.com

ssscool.tistory.com/403

 

[Unity] 유니티 소위말하는 '코인자석'은 이거면 끝인듯 So-called coin magnets only need to know this

[Unity] 유니티 소위말하는 '코인자석'은 이거면 끝인듯 So-called coin magnets only need to know this 유니티 코인자석 안녕하세요 정보처리마법사 입니다. 이번 포스팅의 주제는 코인자석 구현에 관

ssscool.tistory.com

m.blog.naver.com/PostView.nhn?blogId=pxkey&logNo=221326341246&proxyReferer=https:%2F%2Fwww.google.com%2F

 

유니티 벡터의 선형 보간(Linear Interpolation)

안녕하세요. 창작자 픽케입니다.벡터(Vector) 구조체가 제공하는 Lerp 메서드는 두 벡터를 선형 보간(Li...

blog.naver.com