gpt4 book ai didi

ios - 在 iOS SceneKit 中更新几何表面的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-28 08:20:43 25 4
gpt4 key购买 nike

我知道您可以在首次将球体或平面添加到场景时通过执行类似操作将其设置为图像。

            UIImage image = UIImage.FromFile("firstimage.jpg");
Sphere.FirstMaterial.Diffuse.Contents = image;

但是当您想根据用户操作更新它时怎么办...比如按钮点击时。现在我正在做这样的事情。

            UIImage newImage = UIImage.FromFile("secondimage.jpg");
//digs through the scnview and the scene, into it's child nodes, finds the geometry and replaces the image
mySCNView.Scene.RootNode.ChildNodes[0].Geometry.FirstMaterial.Diffuse.Contents = newImage;

但这看起来有点困惑,实际上需要大约 2 或 3 秒才能完成。我并不是特别担心数组索引硬编码。

是否有更有效的方式来进行此类更新?

附言我为一些看起来很有趣的代码行道歉,这实际上是用 Xamarin.iOS 编写的,但请随意用 Swift 或 C 回答,我会进行翻译。

最佳答案

听起来您的瓶颈是将图像传输到 GPU。那么如何预加载呢?在需要之前实例化 Material 。然后根据用户操作将其换出。

关于ios - 在 iOS SceneKit 中更新几何表面的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41383636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com