Swift
visionOS 标签描述

本例选择了《天空之城》的25张照片,组成5x5的照片墙)。首先我们在setupContentEntity方法中构建了一个纹理数组,将这25张照片添加到数组images中。其中封装了setup方法,借助于visionOS对沉浸式空间的支持,我们创建了三个平面,组成具有立体感的照片墙。 在setup方法中调用了addChildEntities,对images随机打散,通过quotientAndRemainder方法对5求商取余来设置x和y的值,从而生成5x5的照片,z轴上仅以平面为基准做了小小的调整。将准备好的位置和纹理,传入makePlane方法进行配置返回实体再分别添加到3个平面中。 为增加趣...

本文我们要在visionOS内实现一个标题输出的动画效果。主要讲ViewModifier协议,修饰符(modifier)应用于视图或另一个视图修饰符,生成原值的另一个版本。在希望创建一个可应用于不同视图的修饰符时可实现ViewModifier协议。 首先定义ViewModel,本例中的模型比较简单,仅定了三个变量,分别表示当前文本、标题输出是否完成以及最终的标题文本。 importSwiftUI @Observable classViewModel{ vartitleText:String="" varisTitleFinished:Bool=false varfinalTitle:Str...

我们在Day8中演示了attachment的实现,本节的知识点是portal。portal相当于哆啦A梦里的任意门,它让我们可以打开另一个世界,这个世界独立于当前的世界,具有单独的光照系统并且由portal几何图形进行遮罩。 要创建portal,首先就需要创建一个世界(makeWorld),在其中可以添加自己的实体。接着创建portal并将其关联至刚刚创建的世界。 主要的代码如下: importSwiftUI importRealityKit structContentView:View{ varbody:someView{ RealityView{contentin letworld=m...