gpt4 book ai didi

cocoa - 当我尝试将 SCNScene 写入文件时,设置 SCNNode.morpher 会导致崩溃

转载 作者:行者123 更新时间:2023-12-03 17:20:45 24 4
gpt4 key购买 nike

好的,我正在尝试将 SCNGeometry 数组添加到 SCNMorpher 对象,并将该对象添加到场景的根节点,并将结果导出到 DAE 文件。

出于某种原因,每当我尝试保存文件时,我都会在 writeToURL 调用中收到 BAD_ACCESS 错误。

只有当我设置了node.morpher属性时才会发生这种情况。即使我将 morpher 属性设置为 [[SCNMorpher alloc] init]] 或具有空目标数组的实例,也会发生这种情况。

这是在 Mac 应用程序上。我的代码:

NSMutableArray *frames = [[NSMutableArray alloc] init];
for (int f=0; f<self.Animations[0].framesCount; f++) {
SCNGeometry *frameGeo = [self MorphedModel:self.Animations[0] atFrame:f+1];
SCNMaterial *framemat = [SCNMaterial material];
framemat.diffuse.contents = texture;
framemat.name = @"Dino Skin";

frameGeo.firstMaterial = framemat;
[frames addObject:frameGeo];
}
self.MorphedModels = [[SCNMorpher alloc] init];

self.MorphedModels.targets = [[NSArray alloc] initWithArray:frames];
node.morpher = self.MorphedModels;

SCNScene *scene = [SCNScene scene];
[scene.rootNode addChildNode:node];

NSString *path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Dino.dae"];
[scene writeToURL:[NSURL fileURLWithPath:path] options:nil delegate:nil progressHandler:nil];

有什么想法吗?我现在一无所知。

最佳答案

啊,我明白了。没有任何关于此的文档,但它是有道理的。您必须在 SCNMorpher 实例上将其中一个目标设置为完整权重 (1.0f):

[self.MorphedModels setWeight:1.0f forTargetAtIndex:0];

一旦我这样做了,一切就正确保存了。

关于cocoa - 当我尝试将 SCNScene 写入文件时,设置 SCNNode.morpher 会导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28868663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com