簡體   English   中英

如何防止相機進入SCNNode-Scenekit iOS

[英]How to prevent the camera from entering a SCNNode - Scenekit iOS

我在SceneKit中的相機有問題,默認情況下,我可以在此行中移動,旋轉,縮放我的相機:

myView.allowsCameraControl = YES;

但是我的相機可以穿過牆壁和地板(這使我可以看到舞台的下面)。

我的第一個要求:是否可以將約束應用於攝像機(位置,旋轉)?

我的第二個要求:我以為制作一個立方體包圍台,並在立方體和相機之間進行碰撞檢測,但是這不起作用...

viewDidLoad的代碼:

SCNView *myView = (SCNView *)self.view3D;
myView.scene = [SCNScene sceneNamed:@"art.scnassets/Pointe Marrin 3 def 3 def 2.dae"];
myView.scene.physicsWorld.contactDelegate = self;
myView.scene.physicsWorld.gravity = SCNVector3Make(0, 0, 0);
cubeLimite = [myView.scene.rootNode childNodeWithName:@"Cube" recursively:YES];
camera = [myView.scene.rootNode childNodeWithName:@"Caméra" recursively:YES];
cubeLimite.physicsBody = [SCNPhysicsBody bodyWithType:SCNPhysicsBodyTypeDynamic shape:nil];
cubeLimite.physicsBody.mass = 0;
cubeLimite.categoryBitMask = SCNPhysicsCollisionCategoryDefault;
cubeLimite.physicsBody.collisionBitMask = SCNPhysicsCollisionCategoryAll;


//test camera
CGFloat boxSide = 0.001;
SCNBox *box = [SCNBox boxWithWidth:boxSide
                            height:boxSide
                            length:boxSide
                     chamferRadius:0];
SCNNode *boxNode = [SCNNode nodeWithGeometry:box];
SCNPhysicsShape *shape = [SCNPhysicsShape shapeWithGeometry:boxNode.geometry options:nil];
camera.physicsBody = [SCNPhysicsBody bodyWithType:SCNPhysicsBodyTypeDynamic shape:shape];
camera.physicsBody.mass = 0;
camera.categoryBitMask = SCNPhysicsCollisionCategoryDefault;
camera.physicsBody.collisionBitMask = SCNPhysicsCollisionCategoryAll;

代表代碼:

- (void)physicsWorld:(SCNPhysicsWorld *)world
 didBeginContact:(SCNPhysicsContact *)contact{
NSLog(@"Contact debut");
}
- (void)physicsWorld:(SCNPhysicsWorld *)world
 didUpdateContact:(SCNPhysicsContact *)contact{
NSLog(@"Contact milieu");
}
- (void)physicsWorld:(SCNPhysicsWorld *)world didEndContact:(SCNPhysicsContact *)contact{
NSLog(@"Contact fin");
}

代理:SCNPhysicsContactDelegate在.h文件中聲明

想法? 預先謝謝你

據我所知,啟用allowsCameraControl時, allowsCameraControl限制默認相機。

旋轉SCNCamera節點查看虛球周圍的對象的答案概述了一種可能適用於您的方法,具體取決於您需要構建的約束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM