草庐IT

ARKit-SceneKit

全部标签

ios - 单击 SpriteKit 覆盖标签时如何在 SceneKit 中切换场景?

我被这个问题困住了。我在SceneKit场景上放置了一个SpriteKit节点。我试着使用SpriteKit显示标签,这些标签在触摸时切换场景。将“游戏开始”、“退出”、“商店”想象成按钮。但它不起作用。我应该如何通过与SpriteKit标签的交互在SceneKit中切换场景?GameStartimageoverridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){/*Calledwhenatouchbegins*/fortouch:AnyObjectintouches{letlocation=touch.locationI

XCode:Scenekit,图形场景未在编辑器中显示

我在使用scenekit时遇到了一些问题。我用scenekit创建了一个新的游戏项目,默认情况下它有一个ship.scn,但是当我打开它时,我在编辑器中看到“什么都没有”!我正在使用虚拟机来处理下一个配置:VMware®Workstation12专业版12.1.0build-3272444OSXElCapitan(版本10.11.2)处理器:2x3,34GHz未知内存4.6Gb图形:显示128MB我的电脑配置:Windows8.1企业版(x64)英特尔酷睿i7-4771DDR3:8GB视频:NvidiaGTX660 最佳答案 我也有

ios - Scenekit 中的变换和旋转

我有一个SCN节点,我已将其转换为所需的旋转和角度。我现在想在它的新x轴上无限旋转它,但我似乎无法让它旋转360度,它只是轻微移动。letspin=CABasicAnimation(keyPath:"rotation")spin.fromValue=NSValue(SCNVector4:SCNVector4(x:item.rotation.x,y:item.rotation.y,z:item.rotation.z,w:item.rotation.w))spin.toValue=NSValue(SCNVector4:SCNVector4(x:Float(2*M_PI),y:item.ro

ios - 碰撞检测 SceneKit Swift

我使用委托(delegate)SCNPhysicsContactDelegate构建了一个带有碰撞检测的应用程序。我尝试检测与SCNPhysicsContactDelegate委托(delegate)的碰撞,但它不起作用。什么是磨损!?这是我的代码letCollisionCategorySpaceMan=1letCollisionCategoryEnemy=2funcphysicsWorld(world:SCNPhysicsWorld,didBeginContactcontact:SCNPhysicsContact){ifcontact.nodeB.physicsBody!.categ

ios - 在 SceneKit 中按名称获取 Material

我已经将一个collada.dae文件导入到scenekit中。我可以在场景编辑器/检查器中看到有一个带有命名Material的实体和Material列表。但我不知道如何以编程方式请求这些。如果我知道一个节点和使用它的几何图形,我可以通过名称从几何对象中请求Material,如下所示:myscene.rootNode.childNodes[68].geometry?.materialWithName("carpaint")但是这些是在许多子几何体上使用的可重复使用的Material,所以应该在某处有一个全局索引(?)我本以为会是这样的myscene.materialWithName("

ios - SceneKit 地板纹理在 Xcode 8 中改变了颜色

我的SceneKit场景中有一个地板,根据我为其漫反射属性选择的纹理,它应该是绿色的。它在Xcode7中完美运行,但是,在Xcode8中它是红色的,在我的设备上显示为灰色。下面是一些有助于更好地解释这一点的屏幕截图:非常感谢任何帮助。 最佳答案 我想这是因为您的图像只有一个颜色channel,而SceneKit将其处理为R8纹理。尝试将其转换为RGB(无论如何SceneKit在iOS9/Xcode7中所做的)。请提交错误。 关于ios-SceneKit地板纹理在Xcode8中改变了颜色,

ios - SceneKit 的 SCNMatrix4 存储为列优先还是行优先?

我困惑的根源是关于SCNMatrix4的文档来自苹果:SceneKitusesmatricestorepresentcoordinatespacetransformations,whichinturncanrepresentthecombinedposition,rotationororientation,andscaleofanobjectinthree-dimensionalspace.SceneKitmatrixstructuresareinrow-majororder,sotheyaresuitableforpassingtoshaderprogramsorOpenGLAPIs

IOS11 Beta ARKit 无法缩放 Scene 对象

我创建了一个基本场景,并添加了一个dae文件。首先,每次我运行或保存项目时,我都会弹出:无法保存文件“billboard.dae”。虽然它仍然运行,但很烦人。但问题是我无法缩放对象。我尝试了不同的值0.5s和>1但似乎没有任何效果。这是我的代码overridefuncviewDidLoad(){super.viewDidLoad()sceneView.delegate=selfsceneView.showsStatistics=trueletscene=SCNScene(named:"art.scnassets/billboard.dae")!letbillboardNode=scen

ios - SceneKit 物理模拟与实际节点位置不匹配

我正在尝试在Scenekit中实现第一人称太空射击游戏,我遇到了(我知道这很熟悉)让物理模拟与物理模拟应该表示的SCNNode的实际位置和变换相匹配的问题.敌方无人机船是使用此函数创建的,它将节点放置在名为SectorObjectNode的SCNnode中,该节点包含船舶外部的所有游戏对象(敌人、星星等)及其鱼雷(两者都位于场景的根目录中节点:funcspawnDrone(_sender:UIButton){lethumonshipScene=SCNScene(named:"Humon.scn")lethumonShip=humonshipScene?.rootNode.childNo

ios - Swift iOS ARKit 从文件加载 ARWorldMap 数据 NSKeyedUnarchiver NSKeyedArchiver

我正在尝试保存然后将ARKitARWorldMap加载到本地文件。我似乎有储蓄工作正常:funcsaveWorldMap(){ARView?.session.getCurrentWorldMap{[unownedself]worldMap,erroringuardletmap=worldMapelse{return}do{letdata=tryNSKeyedArchiver.archivedData(withRootObject:map,requiringSecureCoding:true)do{leturl:URL=URL(fileURLWithPath:self.worldMapF