Open Brush 是 Tilt Brush 的免费分支,Tilt Brush 是一款由 Google 提供的房间级 3D 绘画虚拟现实应用程序,最初由 Skillman & Hackett 开发。我们对原始代码库进行了大量更改,包括 Unity 升级和功能添加,使 Open Brush 达到现代 XR 开发标准。您可以在我们的文档网站上找到显著的变化。
我们希望将 Tilt Brush 作为一个社区主导的项目永久免费维护和改进!
由于原始仓库已归档,我们无法提交 PR,所以欢迎在这里提交!
用户指南 开发者说明 路线图 请加入 Icosa Discord 并参与其中! 社区教程、文章和其他资源列表 在 Open Collective 上支持我们
无需等待正式发布,您可以从 Github 发布页面下载自动构建的 Windows(SteamVR)或 Oculus Quest / Quest 2 版本的 ZIP 文件。版本号形如"vX.Y.0"的是官方发布版,而不以.0结尾的版本仅供测试使用,不保证质量。此外,这些发布版被标记为"预发布"。但是,如果您想在正式发布之前测试最新的更改,您可以使用这些版本来替代或与正式 Open Brush 发布版并行使用。 这些构建版本与官方Open Brush发布版共享保存位置,但可以与正式版本并行安装。Oculus构建版本与所有侧载内容一样,会列在"未知来源"中,并在名称后附加"Github"字样(包名也不同),以区别于官方发布版。
请注意,"实验性"构建版本包含实验性笔刷,使用这些笔刷创建的草图在官方版Open Brush中加载时可能会呈现不同的效果!
此外,还有一个为Windows单目视觉创建的版本,它被列为Github Actions的"Artifact",但这仅供开发人员使用,普通用户不应使用。你可以通过浏览提交列表找到它,然后点击标题下方的绿色对勾(在XXX committed XXX ago旁边),滚动到你想要的构建版本,点击Details。然后在右上角点击Artifacts,再点击构建版本的名称。解压下载的文件,然后运行可执行文件(桌面OpenXR/单目视觉)或使用adb install com.Icosa.OpenBrush-github.apk
安装apk文件(Android Oculus)。
Tilt Brush商标和标志("Tilt Brush商标")是Google的商标,与GitHub上Apache许可的Tilt Brush仓库中包含的版权或专利许可授权分开处理。除这些指南允许的使用外,任何对Tilt Brush商标的使用都必须事先获得批准。
欲了解更多信息,请阅读Tilt Brush品牌指南。
在你自己的设备上运行Open Brush开源应用程序。
Support/bin
目录中的脚本时需要)已用Python 3.8测试。首次运行应用程序时,请按以下步骤操作:
/Assets/Scenes/Main.unity
。Unity应该会自动提示你导入TextMesh Pro。这些步骤已在Release 1.0.54中测试过。
虽然可以使用标准Unity构建工具构建Open Brush,但我们建议使用构建脚本以确保应用程序使用正确的设置构建。要运行此脚本,请转到Open Brush > Build > Do Build,或通过导航到Open Brush > Build > Build Window从Open Brush构建窗口进行构建。
注意:首次构建应用程序可能需要一些时间。
使用Support/bin
目录中的build
脚本来指定目标平台和你希望启用的构建选项。运行build —help
查看各种构建选项。
你应该能够很快地运行基本版本的Open Brush。以下功能需要更多时间:
由于开源许可问题,Tilt Brush中的一些系统被移除或替换为替代方案。这些包括:
Sonic Ether自然光晕。官方Tilt Brush应用使用从Asset Store购买的版本;开源版本使用Sonic Ether稍作修改的开源版本。
FXAA。官方Tilt Brush应用使用的是Unity早期版本中标准资产中包含的FXAA的修改版本 - FXAA3 Console。这已被jintiao的FXAA所替代。
渐晕和色差。官方Tilt Brush应用使用的是Unity早期版本中标准资产中包含的渐晕和色差效果的修改版本。这些已被Keijiro的KinoVignette的修改版本所替代。
移轴。官方Tilt Brush应用使用的是Unity早期版本中标准资产中包含的移轴效果的修改版本。这些已被ruby0x1的移轴的修改版本所替代。
Google和Sketchfab等服务的凭证存储在SecretsConfig
可编程对象中。出于安全考虑,这在git配置中被忽略。要将其添加回来:
/Assets
文件夹。
选择Create
,然后选择Secrets Config
。这将在Asset文件夹中创建Secrets.asset
。Scenes/Main.unity
中,转到App > Config,将SecretsExample
替换为新生成的Secrets.asset
。设置Google API支持以在应用中访问Google服务。
启用Google服务API时,请按以下 步骤操作:
在Google Cloud Console中创建一个新项目。
启用以下API和服务:
注意:您在开发者控制台上的应用名称应与您在App.cs
中的App.kGoogleServicesAppName
给应用的名称相匹配。
创建Google API密钥时,请按以下步骤操作:
OAuth同意屏幕会要求用户允许访问他们的Google账户。您应该能够从凭证屏幕配置它。
配置OAuth同意屏幕时,请按以下步骤操作:
填写您的应用名称和logo,以及应用将访问的用户数据范围。
将以下路径添加到作用域列表中:
../auth/drive.appdata
../auth/drive.file
凭证用于向Google服务器识别应用。按以下步骤创建OAuth凭证:
按以下步骤存储Google API密钥和凭证数据:
Google
作为服务。粘贴之前生成的API密钥、客户端ID和客户端密钥。Open Brush默认针对OpenXR而不是Oculus。按以下步骤启用原生Oculus支持:
OCULUS_SUPPORTED
并按Apply。按以下步骤为Oculus Quest构建应用:
按照Oculus Quest开发指南设置您的机器。
确保在Unity中设置以下选项:
导航到 Open Brush > Build > Do Build。
找到生成的可执行文件。它很可能位于 ../Builds/OculusMobile_Release_OpenBrush/
目录下。
运行 adb install com.Icosa.OpenBrush.apk
。
注意:Tilt Brush 是Google的商标。如果您打算发布应用程序的克隆版本,您必须选择一个不同的名称以区别于官方版本。
按照以下步骤发布到Oculus商店:
从Oculus获取应用程序ID。桌面版和Quest版本的应用程序需要单独的ID。
按照步骤创建您的秘密文件。在Secrets字段中添加2个新项目。
将这 些ID添加到Secrets
文件中。Oculus
和OculusMobile
应各有一个条目。
将应用程序ID放在每个条目的Client ID
字段中。
Open Brush介绍草图使用了一些稍作修改的着色器来产生动画淡入效果。为了加快加载速度,介绍草图事先被转换为*.prefab
文件。只有介绍草图中使用的着色器被转换以适用于介绍。
Support/Sketches/Intro
。有两个版本,一个用于PC,一个用于移动设备。*.prefab
文件位于Assets/Prefabs/Intro
。Assets/Materials/IntroMaterials
。Assets/PlatformConfigPC
和Assets/PlatformConfigMobile
文件引用了将在介绍中使用的*.prefab
文件。按照以下步骤替换或修改介绍草图:
确保已加载您选择的草图。在Unity编辑器中运行Open Brush。
在Unity主菜单中选择 Open Brush > Convert To Intro Materials。这将把草图中的材质转换为介绍版本。 控制台中会显示无法转换的材质的警告,以及转换了多少材质的摘要。
浏览层级。在Main场景下,打开SceneParent/Main Canvas
。选择任何Batch_...
对象以检查它们是否设置了介绍材质。
将任何不以Batch_
开头的对象从Main Canvas节点下移出。
选择Main Canvas节点,运行 Open Brush > Save Game Object As Prefab菜单命令。
场景将被保存为名为gameobject_to_prefab
的*.prefab
文件,位于Assets/TestData
文 件夹下。
将游戏对象移动到Assets/Prefabs/Intro
文件夹。
更新Assets/PlatformConfigPC
和Assets/PlatformConfigMobile
中的引用,使其指向您的新prefab文件。
您可能想要为移动版应用创建一个简化版的介绍草图。笔画简化功能位于Open Brush内的Settings菜单中。
默认情况下,您的应用只会构建在Assets/Editor/
下的BuildTiltBrush.cs
中DoBuild方法(string[] scenes = {...})中定义的场景。确保将您的自定义场景添加到这个数组中,以便在应用中看到它们。
按照以下步骤启用Sketchfab支持:
在上传到他们的服务之前,联系Sketchfab获取客户端ID和密钥。
按照步骤创建您的秘密文件。在Secrets字段中添加一个新项目。
将客户端ID和密钥添加到该字段。
将服务设置为Sketchfab。将API密钥留空。
如果您添加视频支持,可能会遇到一个错误:当控制器角度过大时,"Looking for audio"和"Play some music on your computer"文本会消失。通过以下方法修复:
/Assets/TextMesh Pro/Resources/Shaders/TMP_SDF.shader
文件。TMP_SDF-WriteDepth.shader
。TextMeshPro/Distance Field
改为 TextMeshPro/Distance Field Depth
。Zwrite Off
改为 Zwrite On
。/Assets/Fonts/Oswald-Light SDF.asset
。Atlas & Material
下,双击 Oswald-Light SDF Material
。Shader
的名称从 TextMeshPro/Distance Field
改为 TextMeshPro/Distance Field Depth
。当用户从Open Brush中保存的草图录制视频时,会在 .mp4
文件旁生成一个用于离线渲染支持的 .bat
文件。这个 .bat
文件需要Open Brush可执行文件的路径。写入此路径到文件的代码已被移除。
按照以下步骤恢复路径:
Assets/Scripts/Rendering/VideoRecorderUtils.cs
文件。CreateOfflineRenderBatchFile
函数。实验模式是新功能在正式发布前的栖息地。这个模式启用实验性画笔和实验面板,同时禁用介绍序列。实验模式可以从设置面板启用,需要重启生效。
在实验模式中发现的新功能和画笔可能无法按预期工作。 使用实验性功能和画笔的草图在Icosa或Sketchfab上无法工作,在Open Brush的正式版本中加载时可能会出错。
实验模式下的代码通常包含在以下代码块中:
if (Config.IsExperimental) {
// 实验性代码放在这里
}
实验性画笔和环境位于 Assets/Resources/X
文件夹中。它们在非实验模式下不可见。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。