swift - 如何使用 SCNShaderModifierEntryPointGeometry?
问题描述
我正在尝试学习如何为 SCNShaderModifierEntryPointGeometry 设置动画以跨 SCNPlane 移动纹理。
为了尝试理解它,我在上一个问题上找到了一些示例代码:
在 SceneKit 中使用着色器修改器对纹理进行动画处理会导致纹理随着时间的推移而抖动
这是插入到代码中的示例:
super.init()
self.geometry = SCNPlane(width: 1, height: 1)
self.geometry?.firstMaterial?.diffuse.contents = UIImage(named:"art.scnassets/cloud.png")
let mTrans = SCNMatrix4MakeTranslation(0, 0, 0)
let mScale = SCNMatrix4MakeScale(1, 1, 1)
self.geometry?.firstMaterial?.diffuse.contentsTransform = SCNMatrix4Mult(mTrans, mScale)
self.geometry?.firstMaterial?.diffuse.wrapS = SCNWrapMode.repeat
self.geometry?.firstMaterial?.diffuse.wrapT = SCNWrapMode.repeat
self.geometry?.firstMaterial?.shaderModifiers = @{ SCNShaderModifierEntryPointGeometry : @"_geometry.texcoords[0] = vec2((_geometry.texcoords[0].x+floor(u_time*30.0))/10.0, (_geometry.texcoords[0].y+floor(u_time*30.0/10.0))/7.0);" };
预期的结果是在平面上动画的云纹理
错误消息说:
将“SCNShaderModifierEntryPointGeometry”替换为“SCNShaderModifierEntryPoint.geometry”
但我检查了苹果文档,它存在: https ://developer.apple.com/documentation/scenekit/scnshadermodifierentrypointgeometry?language=objc
谢谢阅读。
解决方案
推荐阅读
- charts - 具有多个列角色的 Google 时间轴图表
- ios - 未计算文件的 React-Native Bundle Error 错误 SHA-1
- javascript - Jquery搜索过滤器并按对象键限制记录
- javascript - 在setState中反应分配动态ID?
- javascript - 有没有办法在用户输入字符时获取用户输入值,这意味着一旦他们点击提交
- php - 空购物车按钮无法删除购物车
- ruby-on-rails - Rails 返回创建的方式在控制器上有很多关联
- mysql - DBeaver 数据格式 - 巴西
- c++ - c ++中每次输出不同(意外行为)
- sed - 尝试将“user='mysql'”替换为“user=`whoami`”时,sed 无法按预期工作