То, что я пытаюсь сделать < /p>
Я хочу сыграть в анимацию персонажа (например, волну), в то же время одновременно смешивая в выражении лица (например, Blink или Lift, используя BlendShapeponcompontompontomponton. отлично работает, когда не играет анимация, но когда я начинаю анимацию с Entity.Playanimation (...), ключи формы, кажется, полностью игнорируются или переопределяются во время этого воспроизведения. < /p>
Моя настройка
Модель: сфальсифицированный персонаж с Blendshapes и анимация внутри. SetBlendShapes (...), как показано ниже. < /p>
Код: Выделить всё
func setBlendShapes(_ blendShapes: [String: Float]) {
guard let root = modelEntity,
let armatureEntity = findEntity(named: "Armature", in: root),
var blendShapeComponent = armatureEntity.components[BlendShapeWeightsComponent.self] else { return }
let weightNames = blendShapeComponent.weightSet[0].weightNames
var weights = blendShapeComponent.weightSet[0].weights
for (blendShapeName, weight) in blendShapes {
if let index = weightNames.firstIndex(of: blendShapeName) {
weights[index] = weight
}
}
blendShapeComponent.weightSet[0].weights = weights
armatureEntity.components.set(blendShapeComponent)
}
< /code>
Это отлично работает ... пока я не запускаю что -то вроде:
modelEntity.playAnimation(trimmedAnimation)Как только играет анимация, формы смеси больше не обновляются - хотя журналы говорят, что значения меняются.
В сценах. Одна и та же модель работает хорошо, формы Blend Получите анимацию вместе с анимацией. /> Это ограничение в RealityKit, или мне не хватает чего -то критического в том, как объединить скелетную анимацию с весами Blendshape?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... n-playback
Мобильная версия