Я новичок в Cocos3D, и у меня есть два вопроса относительно частей 3D-модели.Могу ли я получить доступ к частям файла .pod?
Как я понял, файл .POD состоит из нескольких частей. В моем примере у меня есть 3D-автомобиль, в котором есть части: - колесо - шина - класс (и т. Д.), И у этих частей есть подмаски. Я вижу это, когда открываю файл pod с PVRShaman.
Теперь мои вопросы:
Возможно ли для меня, чтобы иметь доступ к этим частям? Например. Я хочу изменить цвет колеса. Могу ли я сделать это программно?
Когда я нажимаю на часть, я хочу знать, на какой части я постучал. Например. Я хочу нажать на колесо, и я знаю, что было выбрано колесо. Как я могу это сделать?
спасибо!
Обновление: после второго предложения, мой метод выглядит следующим образом:
-(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);
}
Ницца, это помогло! Но теперь моя проблема заключается в том, что если я коснусь автомобиля (например, на колесе), в методе '- (void) nodeSelected: (CC3Node *) aNode byTouchEvent: (uint) touchType в: (CGPoint) touchPoint' моего Сцена, aNode - «car.pod», а не «L_back_tire». Как узнать, на какой части я постучал? Но спасибо за первое! – tralala
Я теперь установил каждый сумереш как осязаемый. Это очень много усилий, но единственное, что я мог сделать. Поэтому я использовал свой первый ответ, чтобы получить все подмастеры, и после этого каждый из них должен быть осязаемым. – tralala