首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将纹理映射到SCNSphere上的正确方法是什么?

将纹理映射到SCNSphere上的正确方法是什么?
EN

Stack Overflow用户
提问于 2015-03-25 14:51:20
回答 2查看 3.1K关注 0票数 6

我想用这个图像作为SCKSphere的素材:

我可以这样做:

代码语言:javascript
运行
AI代码解释
复制
SCNSphere *sphereGeometry = [SCNSphere sphereWithRadius:5];
sphereGeometry.firstMaterial.diffuse.contents = [UIImage imageNamed:@"navball.png"];

但是,当我运行应用程序时,图像在映射到球体时被扭曲了,从上到下的线条不再是直线:

有什么方法可以确保材料被正确地映射到球体上,而直线保持在直线上?

下面左边的图片显示了我所期待的,而右边的图像显示了我正在经历的--波浪线,当我希望它们是直的时:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-29 03:00:21

我通过增加球面几何学的segmentCount值来解决这个问题,这增加了用于渲染形状的多边形网格的细节,使它看起来“更平滑”。

有关更多细节,请参见SCNSphere文档

票数 4
EN

Stack Overflow用户

发布于 2016-05-23 10:07:21

实时纹理映射通常使用“UV”纹理坐标来完成,该坐标定义图像中的哪个像素被固定在网格中的哪个顶点上。在这些引脚之间,图像只是线性地拉伸。对于曲面,如果近似曲面的平面多边形过于粗糙,这种近似将导致可见伪影。这就是为什么在球体中增加片段(和平滑度)会使图像看起来更好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29268000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档