无法为 CC3MeshNode 分配边界体积



我想在cocos3d中创建一个CC3MeshNodeboundingvolume。我已经用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 !!!!!!!!!!!!!!!!!!!!!!");
        }

我尝试分配绑定音量,但没有成功。事实上,我在为cc3MeshNode

实现绑定卷时感到困惑

您上面的评论说:

我在[object1 populateAsSolidBox:CC3BoundingBoxMake(9.5, 5.0, 4.0, 0.0, 0.0, 0.0)]; 中出错

以下是您出现错误的原因。从CC3Foundation文档来看,在调用时,您似乎正在将CC3boundboxMake中的最大值设置为低于分钟的值(它们都为零)

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。

相关内容

  • 没有找到相关文章

最新更新