時光煮雨 Unity3D實現2D人物動畫② Unity2D 動畫系統&資源效率


系列目錄

【Unity3D基礎】讓物體動起來①--基於UGUI的鼠標點擊移動

【Unity3D基礎】讓物體動起來②--UGUI鼠標點擊逐幀移動

時光煮雨 Unity3D讓物體動起來③—UGUI DoTween&Unity Native2D實現

時光煮雨 Unity3D實現2D人物動畫① UGUI&Native2D序列幀動畫

時光煮雨 Unity3D實現2D人物動畫② Unity2D 動畫系統&資源效率

時光煮雨 Unity3D實現2D人物動畫② Unity2D 動畫系統&資源效率

前言

上篇提到的引用的“圖片切換法”,以及這篇要講的“圖片截取法”(這兩個說法都是引用的大牛深藍色右手的原話),實際上序列幀動畫的本質就是定時器,已經反復強調過了。這里“圖片切換法”和“圖片截取法”主要是針對紋理資源的獲取途徑方式來划分的,主要原因還是渲染效率的問題,如果會寫網頁的同學也一定都知道有CSS有一種Sprite雪碧技術,就是把松散的小圖合並成一張大圖來減少網絡請求數,這里原理是可以類比的。實際上在Unity3D中這個問題已經很好的解決了,這也是本文的一個主題。

本文的兩個主題分別是

一、使用Animation編輯器實現2D人物序列幀動畫

二、Unity3D中2D資源的優化工具簡介

效果圖

1(1)

實現

一、使用Animation編輯器實現2D人物序列幀動畫

這里由於方面的教程很多,所以這里也就是點到為止,記錄關鍵點和關鍵部分,需要學習的朋友自己按照其它教程實現一遍自然明白,這里就不用浪費口舌了。

A、制作素材,這里直接引用深藍的原話了

准備工作:這里我以創建主角向右方向施法動畫為例。首先需要將10幀150*150的圖片通過Photoshop或其他方式合成為一張1500*150的大圖,如下圖:

5

從圖上可以很清晰的看出主角的整個流暢的施法流程。接着,我將該文件取名叫PlayerMagic.png保存。還記得上篇引用的文字嗎,個人覺得挺贊的 (因為是提取的素材,初始寬和高是不均衡值,所以必須擴大成自己的需求,這樣人物會在圖片中居中,並且為后期加入武器或坐騎留好余地。稍微的偏離也可以在后期進行微調

紅字部分覺得比較贊的。將該圖導入到Unity3d中(很多種方法拖拽即可)

B、使用Sprite Editor工具(點擊Project下的圖片)進行分割,這里有了A的上下文思想,所以個人覺得使用靜態分割是比較合理的,圖片素材由美工或者自己按照規格調好,符合單一原則,以下是截圖

spriteEditor

2

C、使用Animation工具窗口,制作序列幀動畫即可(其實我覺得有點像關鍵幀動畫不知道為什么叫序列幀),這里需要注意的就是制作動畫必須選中GameObject(也是Animation工具必須的)這樣動畫控制組件和動畫就自動掛接綁定到了選中的GameObject上,

兩個關鍵點:

1、移動關鍵幀的時候,可以使用滾輪放大時間線,然后逐個拖拽(感覺不是很方便,不知道有沒有更方便的方法)

2、注意調節采樣率已達到最好的顯示效果

animation

二、Unity3D中2D資源的優化工具簡介

實際我們通過一,已經介紹了一個紋理分割的工具Sprite Editor了,下面還有一個工具,就是針對上篇中的非組合打包的圖片,Unity3d也提供了一個工具,叫做sprite Packer,使用很簡單了(注意下圖紅圈即可),主要的疑問是性能的提高的效果,這里就需要介紹Unity3d 性能查看工具了,但是發現Unity3d 5.x以后和很多教程上顯示的不一樣(可能是更新了,這里先不深究以后慢慢研究了)

sprite Packer

Stats

總結

萬里長征第二步終於完成了,沒有什么好說的,簡單還是簡單。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM