【发布时间】:2016-07-03 23:44:42
【问题描述】:
我用 SceneKit 制作了一个旋转立方体并将其放置在 (0,0,0) 处。我希望立方体是黄色的,但我不想把立方体染成黄色。相反,我想要一束黄光照射在旋转的立方体上。我的问题是立方体只有两个面是黄色的,其他 4 个面是黑色的,即使立方体面是面对光线的。谁能告诉我我做错了什么。
这是我创建立方体的代码
SCNBox *myBox = [SCNBox boxWithWidth:8 height:8 length:8 chamferRadius:0];
SCNNode *myBoxNode = [SCNNode nodeWithGeometry:myBox];
myBoxNode.position = SCNVector3Make(0, 0, 0);
[scene.rootNode addChildNode:myBoxNode]
这是灯的代码
SCNLight *light = [SCNLight light];
light.color = [UIColor yellowColor];
light.type = SCNLightTypeOmni;
SCNNode *lightNode = [SCNNode node];
lightNode.light = light;
lightNode.position = SCNVector3Make(0, 10, 10);
[scene.rootNode addChildNode:lightNode];
编辑:
好的,我找到了问题,但没有解决方案。当立方体旋转时,实际上不是立方体在移动而是相机在移动,并且光线固定照射在正面。因此,由于实际的立方体没有移动,其他 4 个面不会暴露在光线下。那么如何才能将灯光与相机一起移动呢?或者如果有任何其他解决方案。
【问题讨论】:
标签: ios objective-c scenekit