NVisionXR_iOS教程九 —— 渲染一個骨骼動畫
阿新 • • 發佈:2018-04-02
NVisionXR iOS Android Vuforia ARKit 這篇給大家介紹如何在NVisionXR引擎中渲染骨骼動畫。
在NVisionXR引擎中,動畫模型的格式為.mesh,材質貼圖格式為.material,骨骼格式為.skeleton。(具體參考《NVisionXR引擎基本介紹》)
在我們NVisionXR引擎中,我們內置了一個Rabbit的動畫,但是我們是將其資源整合為zip。NVisionXR引擎支持直接讀取並加載渲染zip中的資源文件。這種方式有兩方面的優勢:
1、可以很好地管理資源
2、節約空間,最多可以節約80%
所有自己添加的資源需要在導演類實例話後,場景加載之前添加,我們在NVisionController.m中預加載zip文件路徑。
代碼:
在NVisionXR引擎中,動畫模型的格式為.mesh,材質貼圖格式為.material,骨骼格式為.skeleton。(具體參考《NVisionXR引擎基本介紹》)
在我們NVisionXR引擎中,我們內置了一個Rabbit的動畫,但是我們是將其資源整合為zip。NVisionXR引擎支持直接讀取並加載渲染zip中的資源文件。這種方式有兩方面的優勢:
1、可以很好地管理資源
2、節約空間,最多可以節約80%
所有自己添加的資源需要在導演類實例話後,場景加載之前添加,我們在NVisionController.m中預加載zip文件路徑。
代碼:
// 加載骨骼動畫資源 NSString *path = [[NSBundle mainBundle] pathForResource:@"UserRes.bundle/Rabbit.zip" ofType:nil]; [[NVAppDirector sharedNVAppDirector] setResourcesPath:path type:ZIP];
在MyFirstScene.m中添加頭文件 #import "NVSkeletonWidget.h"
在onCreate方法中實例話骨骼動畫,如下圖:
代碼:
// 加載骨骼動畫 NVSkeletonWidget *mRabbit = [[NVSkeletonWidget alloc] initWithScenePlay:self WidgetName:@"Rabbit"]; // 添加模型形狀 [mRabbit setShape:@"Rabbit_LowPoly_RigUnity_Final.mesh"]; // 設置位置 [mRabbit setPosition:NVPosition(0, 5, 0)]; // 設置縮放 [mRabbit setScale:NVPosition(0.015, 0.015, 0.015)]; // 添加動畫名稱 [mRabbit addAnimation:@"BaseFBXFileAnim"]; // 添加到場景中 [self addWidget:mRabbit];
運行程序效果如下:
NVisionXR_iOS教程九 —— 渲染一個骨骼動畫