iPad 的交互式 3d 模型
Interactive 3d model for iPad
类似这个问题
Interactive 3D model without WebGL for iOS
我不想走webview/javascript这条路。
我想要这样的东西
http://appserv.kfshrc.edu.sa/Default/Health/Anantomy.aspx
使用 Swift 编写的原生 Metal 或 Scenekit。
我已经搜索过 github 但没有找到任何东西。
这可能吗?通读 SDK,我看不出如何激活表面、边或顶点。
如果您想以简单的方式做到这一点,我建议您使用 SceneKit。您可以使用任何在线 3D 模型制作工具制作人体模型的每个部分,然后将每个部分导出为 .dae,并将其导入到 SceneKit 项目中。 SceneKit 项目中的默认代码已经实现了您想要的大部分功能,您只需修改它显示的资产(所有文件而不是 ship.dae),更改模型的位置以对齐正确,并修改 handleTap 方法以在 if hitresults.count > 0
块内的 HUD UI 中显示文本,在已经存在的代码之后。基本上你可以修改代码块看起来像:
if hitResults.count > 0 {
// retrieved the first clicked object
let result: AnyObject! = hitResults[0]
// get its material
let material = result.node!.geometry!.firstMaterial!
// highlight it
SCNTransaction.begin()
SCNTransaction.setAnimationDuration(0.5)
// on completion - unhighlight
SCNTransaction.setCompletionBlock {
SCNTransaction.begin()
SCNTransaction.setAnimationDuration(0.5)
material.emission.contents = UIColor.blackColor()
SCNTransaction.commit()
}
material.emission.contents = UIColor.redColor()
SCNTransaction.commit()
//this is where your custom code for handling a touch on an object goes. The variable "result" is the object that was tapped
self.myLabel.text = "Something Was Tapped"
}
所以基本上: 1. 制作模型 2. 将模型放入程序中(使用默认项目用于加载船舶的代码) 3. 修改 handleTap 方法以显示所选部分的信息。希望对您有所帮助:)
类似这个问题
Interactive 3D model without WebGL for iOS
我不想走webview/javascript这条路。
我想要这样的东西
http://appserv.kfshrc.edu.sa/Default/Health/Anantomy.aspx
使用 Swift 编写的原生 Metal 或 Scenekit。
我已经搜索过 github 但没有找到任何东西。
这可能吗?通读 SDK,我看不出如何激活表面、边或顶点。
如果您想以简单的方式做到这一点,我建议您使用 SceneKit。您可以使用任何在线 3D 模型制作工具制作人体模型的每个部分,然后将每个部分导出为 .dae,并将其导入到 SceneKit 项目中。 SceneKit 项目中的默认代码已经实现了您想要的大部分功能,您只需修改它显示的资产(所有文件而不是 ship.dae),更改模型的位置以对齐正确,并修改 handleTap 方法以在 if hitresults.count > 0
块内的 HUD UI 中显示文本,在已经存在的代码之后。基本上你可以修改代码块看起来像:
if hitResults.count > 0 {
// retrieved the first clicked object
let result: AnyObject! = hitResults[0]
// get its material
let material = result.node!.geometry!.firstMaterial!
// highlight it
SCNTransaction.begin()
SCNTransaction.setAnimationDuration(0.5)
// on completion - unhighlight
SCNTransaction.setCompletionBlock {
SCNTransaction.begin()
SCNTransaction.setAnimationDuration(0.5)
material.emission.contents = UIColor.blackColor()
SCNTransaction.commit()
}
material.emission.contents = UIColor.redColor()
SCNTransaction.commit()
//this is where your custom code for handling a touch on an object goes. The variable "result" is the object that was tapped
self.myLabel.text = "Something Was Tapped"
}
所以基本上: 1. 制作模型 2. 将模型放入程序中(使用默认项目用于加载船舶的代码) 3. 修改 handleTap 方法以显示所选部分的信息。希望对您有所帮助:)