добавить изображение в качестве дочернего элемента CC3Node

#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. я вижу один объект. это изображение находится в середине моего «родительского» узла.