我可以通过SceneKit编辑器设置纹理/材质位移的耕作,但是当我通过这样的代码进行设置时,它会使我的App崩溃。

material.displacement.contents = "displacement.png"
material.displacement.contentsTransform = SCNMatrix4MakeScale(10, 10, 0)
material.displacement.wrapT = .repeat
material.displacement.wrapS = .repeat


如果我在material.displacement.contentsTransform = SCNMatrix4MakeScale(10, 10, 0)这行中注释,则可以正常工作,但在这种情况下不会耕作/重复。

ios - 在SceneKit iOS中设置纹理的置换平铺导致应用崩溃-LMLPHP

崩溃日志:validateFunctionArguments:3341:失败的断言`Vertex Function(commonprofile_vert):来自缓冲区(3)的参数scn_commonprofile [0]具有偏移量(0)和长度(608)具有608个字节的空间,但是参数具有长度(672) 。”

最佳答案

我在使用.obj文件时遇到了这个问题。切换到从3DSMax导出的DAE文件时,该应用程序不再崩溃,而且我可以在我的材料上正确设置“位移”贴图。

似乎SceneKit在.obj错误周围有一些错误。仅使用DAE文件为我节省了很多麻烦。

关于ios - 在SceneKit iOS中设置纹理的置换平铺导致应用崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49490434/

10-10 21:20