Vision应用程序构建-01-创建您的第一个visionOS应用程序

3个月前 (02-09) 0 点赞 0 收藏 0 评论 3 已阅读

使用SwiftUI构建一个新的visionOS应用程序,并添加特定于平台的功能。

概述

如果您是visionOS的新手,请从一个新的Xcode项目开始,以了解平台功能,并熟悉visionOS的内容和技术。当您为visionOS构建应用程序时,SwiftUI是一个很好的选择,因为它可以让您完全访问visionOS功能。虽然您也可以使用UIKit构建应用程序的部分内容,但您需要将SwiftUI用于许多平台独有的功能。

为visionOS开发需要配备苹果芯片的Mac。

在任何SwiftUI应用程序中,您可以使用场景将内容放置在屏幕上。场景包含要显示在屏幕上的视图和控件。场景还定义了这些视图和控件在屏幕上出现时的外观。在visionOS中,您可以在同一场景中包含2D和3D视图,并且您可以在窗口中或作为人周围环境的一部分显示这些视图。

有窗户的场景

带有窗口和3D对象的场景

从一个新的Xcode项目开始,并添加功能以熟悉visionOS内容和技术。在模拟器中运行您的应用程序,以验证您的内容是否与您预期的一样,并在设备上运行它以查看您的3D内容栩栩如生。

围绕一个或多个场景组织内容,这些场景管理应用程序的界面。每个场景都包含您想要显示的视图和控件,场景类型决定了您的内容是采用2D还是3D外观。SwiftUI专门为visionOS添加了3D场景类型,还为所有场景类型添加了3D元素和布局选项。

创建您的Xcode项目

通过选择文件>新建>项目,在Xcode中创建一个新项目。导航到模板选择器的visionOS部分,然后选择应用程序模板。出现提示时,为您的项目指定一个名称以及其他选项。

创建新的visionOS应用程序时,您可以从配置对话框中配置应用程序的初始场景类型。要在初始场景中主要显示2D内容,请选择一个窗口作为初始场景类型。对于主要是3D内容,请选择一个卷。您还可以添加一个身临其境的场景,将您的内容放置在人的周围。

当您想创建从应用程序中显示的3D资产或场景时,请包括Reality Composer Pro项目文件。使用此项目文件从原始形状和现有的USDZ资产构建内容。您还可以使用它为您的内容构建和测试自定义RealityKit动画和行为。

修改现有窗口

使用标准的SwiftUI视图构建您的初始界面。视图为您的界面提供基本内容,您可以使用SwiftUI修饰符自定义它们的外观和行为。例如,.background修饰符在您的内容后面添加了部分透明的色调:

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
               .background(.black.opacity(0.8))
        }


        ImmersiveSpace(id: "Immersive") {
            ImmersiveView()
        }
    }
}

要了解有关如何使用SwiftUI创建和配置接口的更多信息,请参阅SwiftUI Essentials。

处理您视图中的事件

许多SwiftUI视图会自动处理交互——您所做的只是提供在交互发生时运行的代码。您还可以将SwiftUI手势识别器添加到视图中,以处理点击、长按、拖动、旋转和缩放手势。系统会自动将以下类型的输入映射到您的SwiftUI事件处理代码:

image.png

间接输入。这个人的眼睛表示互动的目标。要开始互动,对方用一只或两只手一起触摸拇指和食指。额外的手指和手部动作定义了手势类型。

image.png

直接输入。当一个人的手指占据与屏幕上项目相同的空间时,系统会报告交互。额外的手指和手部动作定义了手势类型。

image.png

键盘输入。人们可以使用连接的鼠标、触控板或键盘与项目交互,触发菜单命令并执行手势。

有关在SwiftUI视图中处理交互的更多信息,请参阅SwiftUI Essentials教程中的处理用户输入。

构建并运行您的应用程序

在模拟器中构建并运行您的应用程序,看看它看起来如何。visionOS的模拟器有一个虚拟背景作为应用程序内容的背景。使用键盘和鼠标或触控板在环境中导航并与应用程序交互。

点击并拖动应用程序内容下方的窗口栏,以在环境中重新定位窗口。将指针移到窗口栏旁边的圆圈上,以显示窗口的关闭按钮。将光标移动到窗口的一个角落,将窗口栏变成调整大小控件。

应用程序无法控制窗口在空间中的位置。系统将每个窗口放置在其初始位置,并根据与应用程序的进一步交互来更新该位置。

有关如何在模拟器中与应用程序交互的更多信息,请参阅在visionOS模拟器中与应用程序交互。


本文收录在
0评论

登录

忘记密码 ?

切换登录

注册