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

系列目錄

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

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

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

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

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

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

前言

上篇提到的引用的「圖片切換法」,以及這篇要講的「圖片截取法」(這兩個說法都是引用的大牛深藍色右手的原話),實際上序列幀動畫的本質就是定時器,已經反覆強調過了。這裏「圖片切換法」和「圖片截取法」主要是針對紋理資源的獲取途徑方式來劃分的,主要緣由仍是渲染效率的問題,若是會寫網頁的同窗也必定都知道有CSS有一種Sprite雪碧技術,就是把鬆散的小圖合併成一張大圖來減小網絡請求數,這裏原理是能夠類比的。實際上在Unity3D中這個問題已經很好的解決了,這也是本文的一個主題。優化

本文的兩個主題分別是動畫

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

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

效果圖

1(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上,

兩個關鍵點:

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

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

animation

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

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

sprite Packer

Stats

總結

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

相關文章
相關標籤/搜索