草庐IT

ARKit-SceneKit

全部标签

swift - 如何在 SceneKit 中绘制箭头?

我正在尝试使用SCNGeometrySource、SCNGeometryElement绘制箭头。但无法像下图那样绘制精确的箭头。是否可以像下图那样绘制带有头部或箭头的简单箭头线。?我试过下面的代码,但行不通。letindices:[Int32]=[0,1,1]letsource=SCNGeometrySource(vertices:[vector1,vector2])letelement=SCNGeometryElement(indices:indices,primitiveType:.triangles) 最佳答案 如果箭头将始终

swift - ARKit 拖动对象改变比例

我正在尝试将我放置的SCNNode对象移动到表面上。当我第一次开始移动时,它会移动,但比例会发生变化,它会变小。这是我做的;@IBActionfuncdragBanana(_sender:UIPanGestureRecognizer){guardlet_=self.sceneView.session.currentFrameelse{return}if(sender.state==.began){letlocation=sender.location(in:self.sceneView)lethitTestResult=sceneView.hitTest(location,option

swift - 如何在将场景保存/导出为 .dae 格式时保留 SceneKit 中纹理的平铺信息(contentTransform 属性)?

我在将场景导出为mac中的.dae格式时遇到问题。我创建了一个包含前墙、左墙和右墙的场景,以及一个地板和三个3D.dae模型。对于墙壁,我设置了这样的纹理。wall.geometry!.firstMaterial!.diffuse.contents="art.scnassets/wall.jpg"wall.geometry!.firstMaterial!.diffuse.contentsTransform=SCNMatrix4Mult(SCNMatrix4MakeScale(8,2,1),SCNMatrix4MakeTranslation(0,1,0));wall.geometry!.

ios - ARKit,用于 ARSCNView 的金属着色器

试图找出如何解决将着色器应用于我的ARSCNView的问题。以前,在使用标准SCNView时,我已经能够通过以下方式成功应用失真着色器:ifletpath=Bundle.main.path(forResource:"art.scnassets/distortion",ofType:"plist"){ifletdict=NSDictionary(contentsOfFile:path){lettechnique=SCNTechnique(dictionary:dictas![String:AnyObject])scnView.technique=technique}}用ARSCNView

swift - ARKit——适应光照条件

我目前正在学习在Unity和Swift中做一些ARKit的事情。有人知道如何让我的物体的光适应环境光吗?谢谢! 最佳答案 ToenableARKit'sLightEstimationusethiscode:在viewDidLoad()方法中启用光照估计:configuration.lightEstimationEnabled=true利用lightEstimate.ambientIntensity更新光照:funcrenderer(_renderer:SCNSceneRenderer,updateAtTimetime:TimeInt

ios - ARKit 2 : Place 3D objects using ARKit causes screen to freeze in Xcode 10. 1 和 iOS 12

我正在使用ARKit将虚拟对象放置在真实环境中。它在Xcode9和iOS11中运行良好。但是当我更新Xcode和iOS时,如果我将虚拟对象放在检测到的平面上,它就会卡住,如果我旋转相机,相机也会不断制动。我正在登录XcodeWorldtrackingperformanceisbeingaffectedbyresourceconstraints1指导我解决这个问题。 最佳答案 仅允许纵向设备方向。它为我解决了这个错误。 关于ios-ARKit2:Place3DobjectsusingARK

swift - 如何像在 Measure 应用程序中一样在 ARKit (SceneKit) 中绘制虚线?

只是想知道是否有可能(我知道,但如何)像在Measure应用程序中一样在ARSCNView中绘制虚线?也许有一种开箱即用的场景节点的方法,idk。我一直在使用SCNCylinder绘制直线,IDK是否可以重复使用它并进行调整,或者我们必须使用一种完全不同的方式来制作虚线。importSceneKitclassCylinderLineNode:SCNNode{private(set)varcylinder:SCNCylinderprivate(set)varpositionA:SCNVector3private(set)varpositionB:SCNVector3init(withpo

swift - 为什么 SceneKit 聚光灯角度会影响阴影?

我正在尝试在场景中使用聚光灯并为对象添加阴影。但是,我注意到当我增加spotInnerAngle时,对象的阴影会发生显着变化。这是一个例子:这些图像中的两个阴影看起来完全不同——有谁知道为什么增加聚光角度会导致阴影不那么明显?这是我用来为我的场景创建聚光灯/添加阴影的代码:letspotLight=SCNNode()spotLight.light=SCNLight()spotLight.light?.type=SCNLight.LightType.spotspotLight.light?.spotInnerAngle=120spotLight.light?.spotOuterAngle

ios - SceneKit 在多个透明平面上延迟阴影

问题我已经设置了一个最小的SceneKit项目,其中包含一个默认飞机和一个充当阴影接收器的透明平面的场景。我复制了这个设置,所以有两个飞机和两个透明阴影平面。有一个转换阴影的定向光,其shadowMode属性设置为.deferred。当两个阴影平面重叠时,离相机较近的平面会“剪掉”离相机较远的平面上的阴影。我知道这是因为飞机的Material将其.writesToDepthBuffer属性设置为true。但是,如果没有它,延迟阴影将不起作用。问题有没有办法在多个重叠平面上显示阴影?我知道我可以使用SCNFloor来显示多个阴影,但我特别希望在具有不同Y位置的多个平面上显示阴影。想一想A

iphone - SceneKit Physics——摩擦和凹多面体

我正在SceneKit中开发沙包游戏,遇到了SCNPhysicsShape和SCNPhysicsBody摩擦的错误。游戏的棋盘通过.dae文件加载,并设置为SCNPhysicsShapeTypeConcavePolyhedron。这允许bean袋从孔中掉落,但它似乎消除了板上的摩擦力。尽管bean袋的摩擦值为1.0(bean袋的摩擦值为1.0),但当bean袋撞到木板时它会立即滑落。如果我将板更改为SCNPhysicsShapeTypeConvexHull,那么摩擦会起作用,但bean袋不会从孔中掉落。这是我的自定义电路板初始化:letgeo=nodeWithFile("board.d