gpt4 book ai didi

ios - 无法为 CC3MeshNode 分配 BoundingVolume

转载 作者:行者123 更新时间:2023-12-03 20:27:06 26 4
gpt4 key购买 nike

我想在 cocos3d 中创建一个带有 boundingvolumeCC3MeshNode。我创建了一个带有 pod 文件的 CC3MeshNode。我想收到碰撞通知。

 -(void) initializeScene 
{
[self addContentFromPODFile: @"hello-world.pod" withName:@"pod1"];
CC3MeshNode *object1 = (CC3MeshNode*)[self getNodeNamed: @"pod1"];
CC3MeshNod *object2=[[object1 copyWithName:@"pod1"]autorelease];
[object1 populateAsSolidBox:CC3BoundingBoxMake(9.5, 5.0, 4.0, 0.0, 0.0, 0.0)]; object1.location=cc3v(-5.0, 0.0, 0.0); object2.location=cc3v(5.0, 0.0, 0.0);
[self addChild:object2];
CCActionInterval *move1=[CC3MoveTo actionWithDuration:3.0 moveTo:cc3v(-1.0, 0.0, 0.0)]; CCActionInterval *move2=[CC3MoveTo actionWithDuration:3.0 moveTo:cc3v(1.0, 0.0, 0.0)]; [object1 runAction:move1];
[object2 runAction:move2];
}
-(void) updateAfterTransform: (CC3NodeUpdatingVisitor*) visitor
{
if([object1 doesIntersectNode:object2])
NSLog(@"Collision !!!!!!!!!!!!!!!!!!!!!!");
}

我尝试分配 boundingvolume 但没有成功。实际上我在为 cc3MeshNode

实现 boundingvolume 时感到困惑

最佳答案

您在上面的评论说:

I get error in [object1 populateAsSolidBox:CC3BoundingBoxMake(9.5, 5.0, 4.0, 0.0, 0.0, 0.0)];

这就是您遇到错误的原因。来自CC3Foundation documentation看起来您在调用中将 CC3BoundingboxMake 中的最大值设置为低于最小值(它们均为零)

CC3BoundingBoxMake(9.5, 5.0, 4.0, 0.0, 0.0, 0.0)]; 

即从上面的链接来看,CC3BoundingBoxMake()的签名是

CC3BoundingBoxMake ( GLfloat minX,
GLfloat minY,
GLfloat minZ,
GLfloat maxX,
GLfloat maxY,
GLfloat maxZ
)

minX 为 9.5,maxX 为 0.0,minY 为 5.0,maxY 为0.0,你的 minZ 是 4.0 而你的 maxZ 是 0.0。

关于ios - 无法为 CC3MeshNode 分配 BoundingVolume,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17609385/

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