Add texture to some part of 3D model(向3D模型的某些部分添加纹理)
本文介绍了向3D模型的某些部分添加纹理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在实现ARKit/SceneKit时面临一个问题。我只想将纹理添加到3D模型的某些部分(例如,汽车的3D模型,我想在其中更改车轮和镜子的纹理)。
let dragonScene = SCNScene(named: "art.scnassets/Dragon_Baked_Actions_fbx_6.dae")!
let position = anchor.transform
for childNode in dragonScene.rootNode.childNodes {
self.dragonNode.addChildNode(childNode)
}
let scale:Float = 0.01
self.dragonNode.scale = SCNVector3(x: scale, y: scale, z: scale)
self.dragonNode.position = SCNVector3(x: position.columns.3.x, y: position.columns.3.y, z: position.columns.3.z)
self.sceneView.scene.rootNode.addChildNode(self.dragonNode)
let material = SCNMaterial()
material.diffuse.contents = UIImage(named: "Fire_A_2.png")
material.isDoubleSided = true
material.diffuse.wrapT = SCNWrapMode.repeat
material.diffuse.wrapS = SCNWrapMode.repeat
material.isDoubleSided = true
self.dragonNode.childNodes.first?.geometry!.replaceMaterial(at: 0, with: material)
推荐答案
如果模型的每个部分都是单独的3D对象,则可以轻松地在Xcode中更改其纹理。但如果您有一个单一模型(即所谓的one-piece
模型),您只能通过UV-mapping更改其特定部分的纹理(您可以在3dsmax、Maya、Cinema4D、Blender等中进行更改)。
以下是UV映射纹理的外观:
考虑一下,Xcode的Scene graph
编辑器根本不适合UV映射。在Xcode中,您只能应用预制的UV映射纹理。
这篇关于向3D模型的某些部分添加纹理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:向3D模型的某些部分添加纹理


基础教程推荐
猜你喜欢
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- iOS4 创建后台定时器 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01