ios - SceneKit:变换纹理以仅填充球体的一部分
问题描述
我正在开发一个使用 SceneKit API 的应用程序,我遇到的问题是我基本上无法将纹理应用于球体对象并保持纹理的预定义大小。我可以将纹理放大到对象的表面(默认 SceneKit 的行为)或重复它。但是我想要实现的和台球类似:
假设我有一个白色圆圈的 .png 图像,中间有数字“13”。我想把它像照片上的那样。一般来说,我希望它被放大到一个固定的大小,而不是整个表面。
我使用material.diffuse.contents
属性SCNGeometry
来设置纹理,我contentsTransform
在文档中找到了可能可以帮助我整理它的属性,但我没有找到如何将它与球体对象一起使用的解释。
纯SceneKit可以做到吗?任何帮助将不胜感激。
解决方案
您需要一个初步建模的几何体(在您的情况下为多边形球体)及其
UV Mapped texture
在 3D 建模软件(例如 Autodesk Maya)中制作的。
观看这部短片,了解如何获得 UV 贴图纹理。
推荐阅读
- webpack - 将 pg-promise 升级到 10.3.1 后,ncc 构建失败
- windows - 如何在cmd中将文件内容转换为安全字符串?
- c# - 如何重置井字游戏
- html - Poppins 和行高
- ios - Swift 单元测试包含计时器的方法
- java - 如何在带有检票口的应用程序中使用一些动态反馈面板?
- scala - 在 CData 连接器中获取表大小
- java - Web 应用程序无法在 Solaris 机器上托管的 Tomcat 上运行
- php - yii2 Grid View加载中的优化
- r - plotGseaTable 在一个 pdf 页面上多次绘制,而不是创建多个页面