[英]Static image for 3d Object (Swift AR)
我只是想知道如何使我的SceneKit對象像普通的2D圖像一樣是靜態的,而不是使其形狀像球形。 我對AR很陌生,所以我真的不知道如何編程。 謝謝!
import UIKit
import SceneKit
class Ship: SCNNode {
let radius : CGFloat = 0.11
override init() {
super.init()
self.geometry = SCNSphere(radius: radius)
self.physicsBody = SCNPhysicsBody(type: .dynamic, shape: nil)
self.physicsBody?.isAffectedByGravity = false
self.physicsBody?.categoryBitMask = CollisionCategory.ship.rawValue
self.physicsBody?.contactTestBitMask = CollisionCategory.bullets.rawValue
// add texture
let material = SCNMaterial()
material.diffuse.contents = UIImage(named: "innierevised")
self.geometry?.materials = [material, material, material, material, material, material]
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
您將必須創建一個SCNPlane並使用其material屬性為其分配圖像:
// Compute Material
let material = SCNMaterial()
material.isDoubleSided = false
material.diffuse.contents = UIImage(named: "innierevised")
material.diffuse.contentsTransform =
SCNMatrix4Translate(SCNMatrix4MakeScale(-1, 1, 1), 1, 0, 0)
// This is if your image is flipped vertically (as SceneKit coordinate system is different from UIKit one)
然后 :
// Create Plane
let newPoi = SCNPlane(width: radius, height: radius)
newPoi.materials = [material]
let newPoiNode = SCNNode(geometry: newPoi)
newPoiNode.position = // your SCNVector3 expected position
newPoiNode.constraints = [SCNBillboardConstraint()] // Look towards camera
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.