私は Cocos3D の初心者で、3D モデルのパーツに関して 2 つの質問があります。
私が理解したように、.POD ファイルはいくつかの部分で構成されています。私の例では、パーツを持つ 3D 車があります: - ホイール - タイヤ - クラス (など) で、これらのパーツにはサブメッシュがあります。PVRShaman でポッド ファイルを開くと、これが表示されます。
今私の質問:
これらの部品にアクセスすることは可能ですか? たとえば、ホイールの色を変更したい。プログラムでこれを行うことはできますか?
パーツをタップするとき、どこのパーツをタップしたか知りたい。たとえば、ホイールをタップしたいのですが、ホイールが選択されていることがわかっています。これどうやってするの?
どうもありがとうございました!
更新: 2 番目の提案の後、私の方法は次のようになります。
-(void) nodeSelected: (CC3Node*) aNode byTouchEvent: (uint) touchType at: (CGPoint) touchPoint {
NSLog(@"Node selected: %@", aNode.name);
CC3Ray touchRay = [camera unprojectPoint: touchPoint];
CC3NodePuncturingVisitor* puncturedNodes = [self nodesIntersectedByGlobalRay: touchRay];
// The reported touched node may be a parent. We want to find the descendant node that
// was actually pierced by the touch ray, so that we can attached a descriptor to it.
CC3Node* localNode = puncturedNodes.closestPuncturedNode;
NSLog(@"Node local: %@", localNode.name);
}