美文网首页
用SceneKit 实现3D模型的节点转动,机器人模型骨骼的转动

用SceneKit 实现3D模型的节点转动,机器人模型骨骼的转动

作者: 雨后天_ | 来源:发表于2020-01-03 18:47 被阅读0次

    重点部分

    for(int i=0; i<16; i++)

     {

    MyNode*node=self.nodes[i];

    //根据节点名获取节点  ship 为自己定义的 具体可以查看 移动后的效果图.dae  双击节点可修改节点名    

        node.node=[scene.rootNodechildNodeWithName:[NSStringstringWithFormat:@"ship%d",i+1]recursively:YES];

    #warning 这句很重要。解决3D模型节点错位的问题。我是根据(原型.dae)为原型。由于它所有的节点的原点都是在(0,0,0),所以节点转动起来不是自己想要的效果,后来我就平移节点,移动后的效果图为(移动后的效果图.dae)。使要转动的节点的原点处于我想要转动的那个轴点上。但这样做节点会错位。所以通过下面这句很好的解决了这个问题。        node.node.pivot=SCNMatrix4MakeTranslation(node.node.position.x, node.node.position.y, node.node.position.z);        

    node.delegate=self;   

     }

    demo地址

    相关文章

      网友评论

          本文标题:用SceneKit 实现3D模型的节点转动,机器人模型骨骼的转动

          本文链接:https://www.haomeiwen.com/subject/psktactx.html