#addchild #cocos3d
#addchild #cocos3d
Вопрос:
Я использую Cocos3D. Там у меня есть список разных CC3Node
файлов. Я хочу поместить изображение рядом с каждым из них. Моя проблема в том, как создать новое CC3Node
и добавить его как дочернее.
Ответ №1:
Вам нужно сделать что-то вроде этого:
CC3PlaneNode *imageNode = [CC3PlaneNode nodeWithName:@"One Plane Node on 3D Object"];
[imageNode populateAsCenteredRectangleWithSize: CGSizeMake(200.0, 200.0)
andTessellation:ccg(40, 40) withTexture: [CC3Texture textureFromFile:@"Your Image Address"] invertTexture: YES];
imageNode.material.specularColor = kCCC4FLightGray;
imageNode.shouldCullBackFaces = NO;
[imageNode retainVertexLocations];
[self addChild:imageNode];
И для выполнения этого для каждого узла:
CC3PlaneNode *newImageNode = [imageNode copyWithName:@"New Node Name"];
...
[self addChild:newImageNode];
В конце концов, если вы хотите добавить эти узлы к каждому узлу как дочернему, выполните:
[previousNode addChild:newNode];
вместо того , чтобы:
[self addChild:newNode];
Я надеюсь, что это сработает для вас!
Комментарии:
1. Я попробовал — но я не вижу ни одного узла.. Может быть, я допускаю ошибку? pastebin.com/XZvYTdNJ
2. Если вы видите свои объекты, но не видите эти изображения, возможно, вам нужно изменить положение моих объектов! Иначе, возможно, вы неправильно настроили камеру и источники света!
3. я настраиваю камеру следующим образом: CC3Camera* cam = [CC3Camera nodeWithName: @»Camera»]; cam.location = cc3v(0.0, 0.0, 6.0); [self addChild: cam]; есть ли ошибка? прошу прощения за форматирование — не знаю, как это изменить. и лампа такая: CC3Light* lamp = [CC3Light nodeWithName: @»Lamp»]; lamp.location = cc3v( -2.0, 0.0, 0.0 ); lamp.isDirectionalOnly = НЕТ; [cam addChild: lamp]; извините за форматирование. я не знаю, как это изменить.
4. Вы можете использовать обратную галочку для форматирования вашего кода. Можете ли вы просмотреть свои объекты перед добавлением новых изображений в world?
5. я вижу один объект. это изображение находится в середине моего «родительского» узла.