首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏用户10004205的专栏

    Unity 编辑器开发实战【Scene View】- UI Selector

    += OnSceneGUI; } private static void OnSceneGUI(SceneView sceneView) { } } } 注意使用InitializeOnLoad属性,该属性应用的对象是静态构造函数,它可以保证在编辑器启动的时候调用该构造函数,因此我们在构造函数中使用SceneView sceneView) { var ec = Event.current; if (ec ! += OnSceneGUI; } private static void OnSceneGUI(SceneView sceneView) { += OnSceneGUI; } private static void OnSceneGUI(SceneView sceneView) {

    1.7K10编辑于 2022-08-29
  • 来自专栏浅探ARKit

    ARKit中控制.dae动画的播放

    interface ViewController () <ARSCNViewDelegate> @property (nonatomic, strong) IBOutlet ARSCNView \*sceneView 生命周期 ======================== - (void)viewDidLoad { [super viewDidLoad]; self.sceneView.delegate = self; self.sceneView.showsStatistics = YES; SCNScene \*scene = [[SCNScene alloc ]init]; self.sceneView.scene = scene; self.animations = [[NSMutableDictionary alloc //该方法会返回一个SCNHitTestResult数组,这个数组中每个元素的node都包含了指定的点(CGPoint) NSArray \*hitResults = [self.sceneView

    2.6K70发布于 2018-05-07
  • 来自专栏游戏开发之旅

    Unity2018定位游戏场景视图到Scene视图工具编写

    using UnityEditor; #endif public class SyncSceneView : MonoBehaviour { #if UNITY_EDITOR private SceneView view = null; // Use this for initialization void Awake() { view = SceneView.lastActiveSceneView ; //view.m_RenderMode = DrawCameraMode.Mipmaps; SceneView.CameraMode cameraMode = view.cameraMode = null) { curViewTool.CloseTool(); curViewTool = null; } else { SceneView view = SceneView.lastActiveSceneView ; //view.m_RenderMode = DrawCameraMode.Textured; SceneView.CameraMode cameraMode = view.cameraMode

    92720发布于 2019-12-02
  • 来自专栏雪碧君终将成长

    use SceneKit to display 3d objects in an iOS project

    with some basic arguments A scene object is an object that holds all 3d objects' properties, and the sceneView We should add the 3d file to a sceneView as the scene, in code: Remember that, SCNScene(named:String) let sceneView = SCNView(frame: self.view.bounds) sceneView.scene = scene self.addSubView( sceneView ) // SwiftUI struct ContentView: View { var body: some View { SceneView(scene let moveGesture = UIPanGestureRecognizer(target: self, action: #selector(drag(_:))) sceneView.addGestureRecognizer

    52110编辑于 2023-02-15
  • 来自专栏浅探ARKit

    ARKit同时检测水平平面和竖直平面

    @interface ViewController () <ARSCNViewDelegate> @property (nonatomic, strong) IBOutlet ARSCNView *sceneView ViewController - (void)viewDidLoad { [super viewDidLoad]; // Set the view's delegate self.sceneView.delegate = self; // Show statistics such as fps and timing information self.sceneView.showsStatistics Create a new scene SCNScene *scene = [SCNScene new]; // Set the scene to the view self.sceneView.scene - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.sceneView.session

    1.9K100发布于 2018-05-07
  • 来自专栏每日一篇技术文章

    SceneKit - 让模型自适应真实环境光照的正确姿势

    // 第一步 设置代理 sceneView.delegate = self let configuration = ARWorldTrackingConfiguration() // 第二 开启光照评估 configuration.isLightEstimationEnabled = true sceneView.session.run(configuration ) 完成上面两步就能检测到真实的光源了信息 下面我们开始第二问题 .如何让游戏场景中的光照匹配这个真实光照 首先先关闭自动更新灯光选项,不启用默认的灯光 sceneView.automaticallyUpdatesLighting = false sceneView.autoenablesDefaultLighting = false 第二步 自定义灯光 亲测环境光类型没有效果,我们改用方向光代替,上下各加一个方向光 = SCNVector3Make(0, 0, 30) directional1.rotation = SCNVector4Make(-1, 0, 0, Float.pi/2.0); sceneView.scene.rootNode.addChildNode

    1.2K10发布于 2018-09-14
  • 来自专栏每日一篇技术文章

    SceneKit-Camera之HDR开篇01

    scenekit 如何使用它 HDR图片可以作为模型的纹理图片或者天宫盒子 下面就一天空盒子为例子写个demo 讲解一下常用的几个属性 第一步 初始化 // 下面都是通用的一些配置,就不一一讲解了 sceneView.delegate = self sceneView.showsStatistics = true sceneView.allowsCameraControl = true let scene = SCNScene() sceneView.scene = scene 第二步 增加一个照相机 cameraNode.camera = SCNCamera() cameraNode.camera automaticallyAdjustsZRange = true sceneView.scene?. rootNode.addChildNode(cameraNode) // 上面都是通用的一些配置,就不一一讲解了 第三步 将hdr格式的图片渲染在天空盒子上 sceneView.scene

    1.1K20发布于 2019-06-15
  • 来自专栏前端漫步

    ArcGIS Maps SDK for JavaScript系列之三:在Vue3中使用ArcGIS API加载三维地球

    要在Vue 3中使用ArcGIS API for JavaScript加载和展示三维地球,需要用到ArcGIS提供的SceneView类。 SceneView类是ArcGIS API for JavaScript中用于呈现和操作3D场景的类。 下面我们先来了解下SceneView类的常用属性和方法 SceneView类的常用属性 container:设置场景视图的容器元素,比如一个div元素。 map:设置或获取场景视图中使用的地图。 中,可以通过创建 Camera 对象并将其设置为 SceneView 的 camera 属性来定义相机。 Camera 对象将定义要在 SceneView 中使用的相机属性,如位置、方向、投影方式等。

    2.7K30编辑于 2023-10-14
  • 来自专栏浅探ARKit

    ARKit 在模型上播放视频(附进度控制)

    interface ViewController () <ARSCNViewDelegate> @property (nonatomic, strong) IBOutlet ARSCNView \*sceneView ARWorldTrackingConfiguration \*configuration = [ARWorldTrackingConfiguration new]; [self.sceneView.session (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; [self.sceneView.session = self; SCNScene \*scene = [SCNScene new]; self.sceneView.scene = scene; [self.sceneView addSubview:self.addNodeBtn]; [self.sceneView addSubview:self.playVoidBtn]; [self.sceneView

    1.8K120发布于 2018-05-07
  • 来自专栏学海无涯

    SwiftUI-3D模型加载与显示

    struct SceneView: UIViewRepresentable { var scene: SCNScene func makeUIView(context: Context ) -> SCNView { let sceneView = SCNView() sceneView.autoenablesDefaultLighting = true sceneView.allowsCameraControl = true sceneView.scene = scene return sceneView NavigationStack { VStack { if let scene = model.scene { SceneView

    43900编辑于 2025-05-27
  • 来自专栏每日一篇技术文章

    SceneKit - 让文字朝向相机的终极攻略

    本节学习目标 1.学会正确设置文字的位置 2.让文字节点一致朝向相机 3.给3D文字设置自定义字体 接下来我们先通过代码一步一步说明一下 第一步 配置工程 sceneView.delegate = self sceneView.showsStatistics = true sceneView.debugOptions = ARSCNDebugOptions.showWorldOrigin

    47230发布于 2019-06-11
  • 来自专栏相约机器人

    使用CoreML和ARKit进行人脸检测和识别

    需要给它屏幕边界,以便摄像机会话占据整个屏幕: let sceneView = ARSCNView(frame: UIScreen.main.bounds) 在该ViewDidLoad方法中,将设置一些内容 ,例如委托,还需要查看帧统计信息以监视帧丢弃: self.view.addSubview(sceneView) // add the scene to the subview sceneView.delegate ) sceneView.delegate = self sceneView.showsStatistics = true guard ARFaceTrackingConfiguration.isSupported 这是从sceneView属性中获取它的简单方法: guard let pixelBuffer = self.sceneView.session.currentFrame?. sceneView.scene.rootNode.addChildNode(textNode) self!.

    3K20发布于 2019-08-05
  • 来自专栏向治洪

    ARKit 简介

    Set the scene to the view //设置ARKit的场景为SceneKit的当前场景(SCNScene是Scenekit中的场景,类似于UIView) self.sceneView.scene ARSKViewDelegate> //ARSKView是ARKit框架中负责展示2D AR的预览视图 @property (nonatomic, strong) IBOutlet ARSKView *sceneView = self; // Show statistics such as fps and node count //显示帧率 self.sceneView.showsFPS = YES; //显示界面节点(游戏开发中,一个角色对应一个节点) self.sceneView.showsNodeCount = YES; // Load the SKScene SKScene nodeWithFileNamed:@"Scene"]; // Present the scene //AR预览视图展现场景(这一点与3D视图加载有区别) [self.sceneView

    3.3K60发布于 2018-02-06
  • 来自专栏iOSDevLog

    ARKit和CoreLocation:第一部分

    override func viewDidLoad() { super.viewDidLoad() sceneView.delegate = self sceneView.showsStatistics = true sceneView.scene = SCNScene() let circleNode = createSphereNode(with: 0.2, color { sceneView.scene.rootNode.childNodes[0].transform = SCNMatrix4Mult(sceneView.scene.rootNode.childNodes [0].transform = SCNMatrix4Mult(sceneView.scene.rootNode.childNodes[0].transform, SCNMatrix4MakeTranslation { sceneView.scene.rootNode.childNodes[0].transform = SCNMatrix4Mult(sceneView.scene.rootNode.childNodes

    3.1K20发布于 2018-09-20
  • 来自专栏Charlie's Road

    ARKit上手 添加3D物体

    session configuration let configuration = ARWorldTrackingConfiguration() // Run the view's session sceneView.session.run sceneView.scene = scene,然后添加代码如下: override func viewDidLoad() { super.viewDidLoad() // 存放所有3D几何体的容器 let -0.5) // rootNode是一个特殊的node,它是所有node的起始点 scene.rootNode.addChildNode(boxNode) // 将 scene 赋给 view sceneView.scene 此外还可以增加一些调试信息 // ARKit统计信息例如fps等 sceneView.showsStatistics = YES; sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints ]; // 调整摄像头属性 当前摄像头有效直径在10m范围内 if let camera = sceneView.pointOfView?.

    2.8K10发布于 2018-10-19
  • 来自专栏iOSDevLog

    ARKit 教学:如何搭配SceneKit来建立一个简单的ARKit Demo设定ARKit SceneKit View从ARSCNView移除物件

    我们也算是设定好我们的sceneView单元,并能执行world tracking,是时候进入令人兴奋的阶段了!增强现实! 最后,让我们的sceneView来显示我们刚建立的场景。 ) let hitTestResults = sceneView.hitTest(tapLocation) guard let node = hitTestResults.first ) let hitTestResults = sceneView.hitTest(tapLocation) guard let node = hitTestResults.first node else { let hitTestResultsWithFeaturePoints = sceneView.hitTest(tapLocation, types:

    2.2K20发布于 2018-08-22
  • 来自专栏韩东吉的Unity杂货铺

    Unity杂货铺 2 《Align View To Selected Object》

    HotKey/Align View to MainCamera &#f")] public static void AlignViewToMainCamera () { if (SceneView.lastActiveSceneView = null) { SceneView.lastActiveSceneView.orthographic = true; SceneView.lastActiveSceneView.AlignViewToObject

    99720发布于 2019-04-25
  • 来自专栏前端漫步

    ArcGIS Maps SDK for JavaScript系列之四:添加自定义底图

    y: 40.57, z: 2000 // 高度 }, tilt: 60, // 相机俯仰角 heading: 0 // 相机偏航角 }); 引入并创建SceneView 对象 SceneView对象是ArcGIS API为我们提供的三维视图场景,使用之前,我们需要先引入 import SceneView from "@arcgis/core/views/SceneView.js "; 创建SceneView对象 view = new SceneView({ center: [-118.80500, 34.02700], zoom: 4, container

    1.6K40编辑于 2023-10-14
  • 来自专栏每日一篇技术文章

    SceneKit - 将屏幕坐标转换至游戏场景oc+swift版

    0.3 : 0.0; double Y = tan((double)(self.sceneView.pointOfView.camera.fieldOfView/180/2)*M_PI) * ( double)(Z_Far-Screen_Aspect); double X = tan((double)(self.sceneView.pointOfView.camera.fieldOfView target = SCNVector3Make((float)(x), (float)(y),(float)(-Z_Far)); SCNVector3 convertPoint = [self.sceneView.pointOfView convertVector:target toNode:self.sceneView.scene.rootNode]; NSLog(@"convertPoint X: %f,Y:%f,Z:%f

    1.2K20发布于 2019-06-11
  • 来自专栏iOSDevLog

    iOS版 使用ARKit和Swift创建交互式Domino游戏

    (configuration) // 2 let location = gesture.location(in: sceneView) guard let hitTestResult = sceneView.hitTest(location, types: .existingPlane).first else { return 在该screenPanned方法中,在sceneView.scene.rootNode.addChildNode(dominoNode)之前添加以下三行代码: // 1 var currentAngle 在viewDidLoad,在行下添加以下行sceneView.scene = scene: sceneView.scene.physicsWorld.timeStep = 1/200 TimeStep 在screenPanned方法前面的行中添加以下行sceneView.scene.rootNode.addChildNode(dominoNode): // 1 dominoNode.physicsBody

    3K30发布于 2019-03-06
领券