상세 컨텐츠

본문 제목

[Unity] 유니티 애니매이션(스프라이트, 오브젝트) 관련

게임엔진관련/유니티 엔진

by AlrepondTech 2019. 7. 5. 11:20

본문

반응형

 

=================================

=================================

=================================

 

 

 

*오브젝트의 애니매이션 작업클립만들기(스프라이트 애니매이션 작업만들기)

애니매이션 창만 불러놓고 아무것도 안뜰때 이걸 보면 된다.

 

애니매이션 창을 불러올때.

 

오브젝트를 선택을 안하면 위와같이 오브젝트를 선택하라고 메세지가 나온다.

 

 

그리면 "그림1"과 같이 오브젝트를 선택하면 "그림2"와 같이 해당 오브젝트에 애니매이션 클립을 만들거냐고 

"Create" 버튼이 나오면 눌러서 만들어준다.

 

 

그럼 "그림1"과 같이 오브젝트를 선택해주면 애니매이션 창을 열면 "그림2"와 같이 애니매이션 작업할수있게 나온다. 

그리고 자신이 유니티 이미지에서 스프라이트로 나눈 이미지파일들을 "그림2"번부분의 오른쪽부분에 타임타인 부분이

있는데 그부분에 자신이 유니티에서 이미지안에서 나누어서 만든 스프라이트들을 드래그해서 타임라인안에 적절히

배치해주어 실행하면 해당 오브젝트의 설정한 스프라이트 애니메이션이 재생이 된다.

 

 

 

=================================

=================================

=================================

 

 

출처: https://docs.unity3d.com/kr/2018.3/Manual/animeditor-CreatingANewAnimationClip.html

새 애니메이션 클립 생성(Creating a New Animation Clip)

Unity에서 게임 오브젝트를 애니메이션화하려면 오브젝트에 Animator Component 를 연결해야 합니다. 그리고 Animator 컴포넌트는 Animation Clips에 대해 레퍼런스를 포함하는 Animator Controller 를 참조하십시오.

Unity에서 게임 오브젝트를 애니메이션화하기 위해 애니메이션 뷰를 사용하는 경우, 이는 모두 자동적으로 생성, 연결, 설정됩니다.

해당 게임 오브젝트에 대하여 새로운 Animation Clips 를 생성하려면, 우선 Animation Window 를 볼 수 있는지 확인합니다.

게임 오브젝트에 애니메이션 클립이 할당되지 않은 경우에는 애니메이션 윈도우의 타임라인 영역 중앙에 “생성” 버튼이 나타납니다. 생성 버튼을 누르십시오. Assets 폴더에 새로 만든 빈 애니메이션 클립을 저장하라는 창이 나타납니다.

새 애니메이션 클립 생성

새로 만든 빈 애니메이션 클립을 저장한 이후에는 다음의 작업들이 자동으로 진행됩니다.

  • 새로운 애니메이터 컨트롤러 에셋을 생성합니다.
  • 애니메이터 컨트롤러에 새 클립을 디폴트 상태로 생성 및 추가합니다.
  • 애니메이션화되는 게임 오브젝트에 Animator 컴포넌트를 추가합니다.
  • Animator 컴포넌트는 새로운 Animator 컨트롤러를 할당합니다.

이러한 작업이 자동으로 진행되면서 애니메이션 시스템에서 필요한 요소가 설정됩니다. 사용자는 바로 오브젝트를 애니메이션화할 수 있습니다.

다른 애니메이션 클립(Animation Clip) 추가

게임 오브젝트에 이미 한 개 이상의 애니메이션 클립이 할당된 경우, “생성” 버튼은 나타나지 않습니다. 그 대신, 애니메이션 창에는 클립 중 한 개가 나타납니다. 이 경우, 플레이백 컨트롤 바로 아래에 위치한 애니메이션 창의 왼쪽 상단의 메뉴를 통하여 창에 어떤 애니메이션 클립을 나타나게 할지 선택할 수 있습니다.

애니메이션이 이미 할당된 오브젝트에 새로운 애니메이션 클립을 생성하고 싶은 경우, 이 메뉴에서 “새 클립 생성”을 선택해야 합니다. 이 경우에도, 작업 전에 새로 만들어진 빈 애니메이션 클립을 저장하라는 창이 나타납니다.

클립이 이미 할당된 오브젝트에 추가로 새로운 애니메이션 클립을 추가하는 방법

서로 연결되는 원리

위 단계를 활용하면 관련 컴포넌트와 참조가 자동으로 설정되지만, 연결되는 요소가 무엇인지 이해해 두면 많은 도움이 됩니다.

  • 게임 오브젝트는 Animator 컴포넌트를 항상 소유하고 있어야 합니다.
  • Animator 컴포넌트는 할당된 Animator Controller 에셋이 항상 존재해야 합니다.
  • 애니메이터 컨트롤러 에셋은 항상 한 개 이상의 애니메이션 클립을 할당해야 합니다.

아래 다이어그램은 새로운 애니메이션 클립이 애니메이션 윈도우에서 생성된 이후, 어떻게 이들이 할당되는지를 보여줍니다.

새 클립이 생성되고 에셋으로 저장됩니다. 새 클립은 애니메이터 컨트롤러의 기본 상태로서 자동으로 추가되며, 또한 에셋으로 저장됩니다. 애니메이터 컨트롤러는 Animator 컴포넌트에 할당되어 게임 오브젝트에 추가됩니다.

아래 이미지에서 선택된 게임 오브젝트(“Cube”)가 아직 애니메이션화되지 않았음을 볼 수 있습니다. 게임 오브젝트는 Animator 컴포넌트가 없는, 단순한 큐브입니다. 보다 명료하게 하기 위해서 애니메이션, 계층 구조, 프로젝트, 인스펙터 창이 나란히 정렬되었습니다.

이전: 애니메이션화되지 않은 게임 오브젝트(“Cube”)가 선택되었습니다. 게임 오브젝트는 Animator 컴포넌트와 애니메이터 컨트롤러를 아직 가지고 있지 않습니다.

애니메이션 뷰에서 생성 버튼을 누르면, 새로운 애니메이션 클립이 생성됩니다. 이때 Unity는 새로운 애니메이션 클립을 저장할 이름과 위치를 선택하도록 요청합니다. 동시에, Unity는 선택된 게임 오브젝트과 동일한 이름을 가지는 애니메이터 컨트롤러 에셋을 생성하며, 게임 오브젝트에 Animator 컴포넌트를 추가하고, 에셋을 적절하게 서로 연결합니다.

이후: 새 클립 생성 후 프로젝트 창에 새로운 에셋이 생성된 것과 Animator 컴포넌트가 인스펙터 창(맨 오른쪽)에 할당될 것을 볼 수 있습니다. 또한, 새로운 클립이 애니메이터 창에 디폴트 상태로 할당된 것을 확인할 수 있습니다.

새로운 뷰 모드에서는 다음의 창이 나타나게 됩니다.

  • 왼쪽 상단에 위치한 애니메이션 창은 하얀색 재생 헤드 라인이 있는 타임라인을 표시하게 되며, 새로운 키프레임을 레코드할 수 있게 됩니다. 클립의 이름은 플레이백 컨트롤 바로 아래에 위치한 클립 메뉴에 나타납니다.
  • 중앙에 위치한 인스펙터 창은 큐브 게임 오브젝트에 Animator Component 가 추가된 것을 보여주며, 컴포넌트의 “Controllor” 필드는 “Cube”라고 불리는 애니메이터 컨트롤러 에셋이 할당된 것을 보여주고 있습니다.
  • 오른쪽 하단에 위치한 프로젝트 창은 두 개의 새로운 에셋이 생성된 것을 보여줍니다. 이는 “Cube”라고 호출되는 애니메이터 컨트롤러 에셋과 “Cube Animation Clip”이라고 불리는 애니메이션 클립 에셋입니다.
  • 왼쪽 하단에 위치한 애니메이터 창은 애니메이터 컨트롤러 콘텐츠 내용을 보여줍니다. 여기서는 큐브 애니메이션 클립이 컨트롤러에 추가되었고, 현재 주황색으로 표시되어 “디폴트 상태”라는 것을 보여주고 있습니다. 컨트롤러에 향후 추가되는 클립은 회색으로 표시되어, 디폴트 상태가 아님을 표시합니다.

 

 

 

 

반응형

 

 

728x90

 

 

=================================

=================================

=================================

 

 

출처: https://answers.unity.com/questions/931917/animate-image-ui-with-sprite-sheet.html?_ga=2.206710993.318110240.1581408828-1441228205.1537348495

Animate Image UI with Sprite Sheet

I've been digging around for a while but don't seem to be able to find a solution. Does Unity support this option? Seems like something that should be possible.

The method for making a basic 2D animating sprite does not show up in the UI when I attach it to a panel. I have also created an Image object and added an animator to it with no effect.

What am I missing?

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

You can animate the Image.sprite property of your UI Image with an animation.

  1. Select your Image in the hierarchy
  2. Open the Animation window
  3. Press the "Add property" button
  4. Save the animation clip with anything you want
  5. Add the Image.sprite property
  6. Add keyframes with the different sprites you want

This will automatically add an Animator component with everything configured to play that animation in an infinite loop.

Add comment ·  Hide 4 · Share

zafadadynamic · '15년 Jul월 06일 AM 10시 01분 5

 

Don't forget that you can drag and drop multiple sprites in the animation window at a time.

CNachtrieb · '15년 Jul월 08일 PM 05시 31분 1

 

But how would you do this through script, allowing a designer to just plug in an sliced sprite sheet with different numbers of columns and rows? Wouldn't using the animator component lock you into using only the selected sprites?

DiegoSLTS · '15년 Jul월 08일 PM 06시 31분 0

 

@CNachtrieb, that's really different, you should ask a new question, but you can load a texture from resources, get the size of ths sprites, create new sprites from each section and then switch them with code at the speed you want. Maybe you can also create an animation clip at runtime, but I'm not sure about that.

earthcrosser · '15년 Jul월 15일 PM 02시 11분 0

 

This answer helped me thanks!

 

 

=================================

=================================

=================================

 

 

출처: https://answers.unity.com/questions/599122/how-to-make-circle-progress-bar-using-sprite-rende.html?&_ga=2.199508204.318110240.1581408828-1441228205.1537348495#answer-1122639

How to make circle progress bar using sprite renderer ?

I try using scale on object but it isn't work great with circle shape. Does anyone know how to do circle progress bar using sprite renderer?

 

-------------------------------------------------------------------------------------------------------------------------------------------

  1. Create your circular progress bar image with an alpha gradient (N.B. it can be ANY shape)
  2. Set the import to be a texture (not a sprite) and DO NOT USE COMPRESSION.
  3. Create a material with the shader being "Transparent Cutout Vertex Lit"
  4. Use texture (made in [1])
  5. Use the following code in a script as a starting point;
    1. float revealOffset = (float)(Time.timeSinceLevelLoad % 10) / 10.1F;
    2.  
    3. gameObject.renderer.material.SetFloat ("_Cutoff", revealOffset);
    4.  

See http://wiki.unity3d.com/index.php/ProgressBar

Enjoy, and remember to mark this as the answer if you like it!

Add comment · Share

 

-------------------------------------------------------------------------------------------------------------------------------------------

 

1

Answer by hersheys72 · '16년 Jan월 06일 AM 05시 17분

I hope this helps, as I had a similar issue and got it to work by doing the following instead of playing around with masks:

Have an "Image" component Drag your first sprite of the animation into the "source image " slot change the image type to "Filled", with radial 360 origin and clockwise optional

To change from a sprite to an animation you have to follow the steps found at http://answers.unity3d.com/questions/931917/animate-image-ui-with-sprite-sheet.html

which is essentially to add an "Animator" component with new animation, then in the "animation " window add the image.sprite property if you drag in the remaining sprites from the sprite sheet it will automatically create a key for each sprite

in the inspector with the animation selected you can change the speed of the animation instead of playing around with the spacing in the animation window

Add comment · Share

 

 

=================================

=================================

=================================

 

 

* 기타관련링크

 

- https://mrbinggrae.tistory.com/34

 

- https://vallista.tistory.com/entry/Unity3D-UGUI-Sprite-Animation-UGUI-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EC%95%A0%EB%8B%88%EB%A9%94%EC%9D%B4%EC%85%98

 

https://m.blog.naver.com/PostView.nhn?blogId=gedog31&logNo=100203987796&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

-https://itskeleton.tistory.com/entry/Unity-Sprite-Animation-%EB%A7%8C%EB%93%9C%EB%8A%94-%EB%B0%A9%EB%B2%95

 

https://prosto.tistory.com/84

 

http://dolphin.ivyro.net/file/mobile/unity/tutorial23.html

 

https://you-rang.tistory.com/40

 

http://lab.lancekun.com/xe/index.php?mid=board_WQPO58&document_srl=1822579

 

https://forum.unity.com/threads/2d-animation-v2-preview-packages.599356/

 

https://devoduck.tistory.com/entry/Unity-Animator-%EA%B8%B0%EB%B3%B8%EC%82%AC%EC%9A%A9%EB%B2%95%EC%97%90-%EB%8C%80%ED%95%B4-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

 

https://codepump.tistory.com/7

 

https://polygonstudio.tistory.com/214?category=747413

 

 

 

=================================

=================================

=================================

 

 

반응형


관련글 더보기

댓글 영역