add setBoneTransform method

This commit is contained in:
Nick Fisher
2023-11-17 16:40:17 +08:00
parent daf319bf2c
commit f5d5a36f22
13 changed files with 182 additions and 70 deletions

View File

@@ -73,6 +73,8 @@ namespace polyvox {
bool hide(EntityId entity, const char* meshName);
bool reveal(EntityId entity, const char* meshName);
const char* getNameForEntity(EntityId entityId);
bool setBoneTransform(EntityId entityId, const char* entityName, int skinIndex, int boneIndex, math::mat4f transform);
private:
AssetLoader* _assetLoader = nullptr;
@@ -96,9 +98,7 @@ namespace polyvox {
inline void updateTransform(SceneAsset& asset);
inline void setBoneTransform(SceneAsset& asset, int frameNumber);
inline void setBoneTransformFromAnimation(SceneAsset& asset, int frameNumber);
};
}

View File

@@ -125,6 +125,13 @@ FLUTTER_PLUGIN_EXPORT void set_bone_animation(
const char** const meshName,
int numMeshTargets,
float frameLengthInMs);
FLUTTER_PLUGIN_EXPORT bool set_bone_transform(
void* assetManager,
EntityId asset,
const char* entityName,
const float* const transform,
int boneIndex
);
FLUTTER_PLUGIN_EXPORT void play_animation(void* assetManager, EntityId asset, int index, bool loop, bool reverse, bool replaceActive, float crossfade);
FLUTTER_PLUGIN_EXPORT void set_animation_frame(void* assetManager, EntityId asset, int animationIndex, int animationFrame);
FLUTTER_PLUGIN_EXPORT void stop_animation(void* assetManager, EntityId asset, int index);