swift - 如何扩展 SCNScene?
问题描述
我使用以下代码在 AR 中显示 USDZ 模型:
class ViewController: UIViewController {
@IBOutlet var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
sceneView.autoenablesDefaultLighting = true
sceneView.scene = SCNScene(named: "art.scnassets/model.usdz")!
sceneView.session.run(ARWorldTrackingConfiguration())
}
但是模型太大了。我该如何扩展它?
解决方案
尝试这个:
override func viewDidLoad() {
super.viewDidLoad()
let sceneView = self.view as! SCNView
let scene = SCNScene()
sceneView.scene = scene
sceneView.backgroundColor = .darkGray
sceneView.allowsCameraControl = true
sceneView.autoenablesDefaultLighting = true
// Fighter
let fighterScene = SCNScene(named: "art.scnassets/ship.scn")!
let fighterNode = fighterScene.rootNode.childNode(withName: "fighter",
recursively: true)
fighterNode?.scale = SCNVector3(0.3, 0.3, 0.3)
scene.rootNode.addChildNode(fighterNode!)
// ...
}
推荐阅读
- mysql - 带条件的 SQL 排序
- mysql - 没有重叠mysql的时间差异总和
- python - django orm:使用一个基本模型连接 2 个模型
- java - Spring Data Aggregation:访问引用的对象字段
- javascript - 在节点 js 中异步和等待 MySQL 调用
- python - 如何从 NETcdf 时间维度存储月份(0 对应于 jan)?
- vue.js - Vee-validate 无法验证匹配密码
- vba - 将文件保存在特定位置的宏
- angular - Angular 5如何将json响应数据设置为新的obj
- html - Angular CSS 未应用于“mat-grid-list”