LLMR//https://github.com/microsoft/llmr?locale=zh-cn
https://github.com/microsoft/llmr?locale=zh-cn
Introduction
这个 repo 包含 LLMR 中描述的代码,实现了混合现实框架的大型语言模型。
此软件包是“用语言创造世界”的原型,它允许通过自然语言实时创建具有视觉、行为和交互元素的对象、工具和场景。我们的框架将基于提示的生成与 Unity 相结合,使用户能够在运行时自发创建,这是 VR 自诞生以来的核心元素。该软件包附带几个演示场景供您尝试:一个空的游乐场,您可以在其中单独创建对象,以及让 Dall-E 和 CLIP 参与其中以查找在视觉和文本上与您的提示相似的 3D 模型的场景。
Example use cases:
1-对象创建:您可以使用 Unity 基元或 Sketchfab(3D 模型在线存储库)中的模型创建对象。例如,您可以让 GPT 使用 Unity 基元创建一辆汽车。
2-行为编程:您可以为对象赋予属性,以便用它们制作工具。例如,您可以用旋转立方体创建一个计时器,当倒计时达到 0 时,该计时器会停止移动。
3-场景编辑:您可以在运行时以创造性或有用的方式修改现有场景,例如更改各种物体的颜色以适合色盲人士。
Installation
Setting up a Unity Project
该项目已在 Unity 版本 2021.3.25f1 和 2022.3.11f1 上进行了测试,并且具有多个依赖项。其中最大的依赖项是 Roslyn C# 编译器。对于这个项目,我们使用了 Trivial Interactive 的实现,您必须在 Unity Asset store C# Compiler 上购买它。这个项目可以调整为依赖于 C# 的开源实现,但需要进一步实现将编译后的代码附加到此实现附带的 GameObjects。因此,要使这个项目正常运行,您需要向其中添加编译器。
添加编译器后,项目应该就可以正常使用了。请注意,LLM 生成的代码的运行时编译依赖于预加载的程序集 DLL,我们将其附加在 Assemblies 文件夹中。要让这些在应用程序中注册,您需要在 Trivial Interactive 包的帮助下创建程序集引用资产。
如果您想将此功能添加到现有项目中,则需要将所有元素导出为包(包括编译器),然后按照以下步骤操作。
- opy over the Assemblies folder to the root directory of your Unity project.
- For reference, it should be on the same level as the Asset folder.
- Copy over lines 3-4 in the manifest.json file
"com.siccity.gltfutility": "https://github.com/siccity/gltfutility.git",
"com.openai.unity": "4.3.0",
并将它们附加到 Unity 项目根目录中 Packages 文件夹下同名文件中的依赖项字段下。
Also copy over lines 48-59
,
"scopedRegistries": [
{
"name": "OpenUPM",
"url": "https://package.openupm.com",
"scopes": [
"com.openai",
"com.utilities",
"com.atteneder"
]
}
]
并将它们作为依赖项之后的新字段附加。
打开 Unity 项目。在您想要导入的 Unity 项目中,选择 Assets → Import Package → Custom Package,然后导航到正确的文件夹并选择之前导出的包。
Python flask app for CLIP-DallE integration
您的系统中需要安装 Python 3.9 或更高版本。您可以使用 python 或 conda 环境来安装所需内容。
cd CLIP-DallE-SketchFab-001
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
flask run
如果遇到任何导入或依赖问题,您可以运行 python app.py 来查看错误消息。根据需要安装任何缺失的依赖项。
Demo Scenes
Empty Playground
打开场景 Playground_new
在“游戏”窗口中,导航到底部的输入字段,用自然语言输入您的指令。完成后,按 Tab 键发送请求,让 GPT 进行处理。
例如,尝试:创建一个每秒改变颜色的旋转立方体。
GPT 完成后,查看控制台以查看其代码是否生成任何编译/运行时错误。
完成后,输入字段中将显示消息处理完成。请输入下一个请求。您可以检查结果并根据需要提出进一步的请求。
实际执行的代码以及对话历史记录可以在 Builder gameObject 上的公共字段 Output 和 History 中找到。
备注:
GPT 执行您的请求的能力可能取决于提示的措辞方式,因此如果 GPT 第一次出错,请尝试几种不同的方式。
聊天代理 Planner 可用于仔细规划和扩展最初简单的提示,以防有更多复杂的请求。
要使用计划器,请使用右侧 Control 键而不是 Tab 键发送键入的请求。
Dall-E 和 CLIP 细化用于 3D 对象创建
打开名为 Playground_DallE-CLIP_Refinement 的场景。它包含使用 Dall-E 和 CLIP 查找最接近您请求的 Sketchfab 模型所需的组件。
与上一个场景不同,您可以请求不是随机绘制的对象,而是类似于 Dall-E 可能生成的对象。
例如,在下图中,请求了不同的对象:“叉子”、“碗”、“手”、“书”。
但是,在使用此功能之前,您需要将单独的 repo 克隆到您的机器并运行 Python Flask 应用程序。向我们申请 GitHub 访问权限并按照下一步操作:“设置 CLIP-DallE-SketchFab-001 Flask 应用程序”。
Flask 应用程序还可以帮助您生成整个场景,例如“有 2 头牛和一匹马的农场”,并使用 GPT 深度推理器。未来版本应该包含一个使用此功能的场景。
Set Up for CLIP-DallE-SketchFab-001 Flask App
这款 Flask 应用集成了多种 AI 模型,可根据自然语言提示创建和搜索 3D 模型。它可以在 Unity 内部使用,根据文本描述生成场景或对象。该应用提供以下功能:
1-/get_scene_from_prompt:Dall-E 接收包含多个对象的场景提示,并生成包含指定对象的场景图像。Unity 可以使用此图像来确定 SketchFab 或原始模型在场景中的位置
/get_image_from_prompt:Dall-E 接收单个对象的提示并生成其 3D 版本的图像。此图像将成为应用程序尝试与 SketchFab 模型匹配的“目标”图像
/get_closest_skfb_model:应用程序查询 SketchFab API,从其免费集合中下载 N 个不同的模型。使用 CLIP,应用程序选择文本描述与提示最接近的 N 个子集模型。从这个子集中,应用程序将模型与目标图像进行视觉比较,并返回最接近匹配的 SketchFab UID。Unity 可以使用此 UID 下载并显示正确的 SketchFab 模型。
demo_use_app.py 文件演示了如何使用所有三个功能。
Remarks
该项目仍处于早期研究阶段。使用该框架时,请注意可能出现错误。
您的用例所需的某些 .dll 文件可能未包含在 Assemblies 文件夹中,这将导致运行时错误,例如无法找到所需的命名空间 xxx。您是否缺少程序集引用?如果发生这种情况,请联系我们!
Unity 中 OpenAI API 调用的实现基于优秀的存储库
GitHub - RageAgainstThePixel/com.openai.unity: A Non-Official OpenAI Rest Client for Unity (UPM)
相关文章:
LLMR//https://github.com/microsoft/llmr?locale=zh-cn
https://github.com/microsoft/llmr?localezh-cn Introduction 这个 repo 包含 LLMR 中描述的代码,实现了混合现实框架的大型语言模型。 此软件包是“用语言创造世界”的原型,它允许通过自然语言实时创建具有视觉、行为和交互元素的对象、工具和场景…...
Free Auto Clicker - 在任意位置自动重复鼠标点击
“想让鼠标自己动起来,解放双手去做更有趣的事?”Free Auto Clicker 就像你的数字小助手,能在任意位置自动重复点击鼠标。从玩游戏到刷网页,这款免费工具让你告别枯燥的重复操作,效率瞬间起飞! 你有没有想…...
高考數學。。。
2024上 具体来说,直线的参数方程可以写为: x1t y−t z1t 二、简答题(本大题共5小题,每小题7分,共35分。) 12.数学学习评价不仅要关注结果评价,也要关注过程评价。简要说明过程评价应关注哪几个方面。…...
MWC 2025|紫光展锐联手美格智能发布5G通信模组SRM812
在2025年世界移动通信大会(MWC 2025)期间,紫光展锐携手美格智能正式推出了基于紫光展锐V620平台的第二代5G Sub6G R16模组SRM812,以超高性价比方案,全面赋能合作伙伴,加速5G规模化应用在各垂直领域的全面落…...
5分钟快速搭建一个 SpringBoot3 + MyBatis-Plus 工程项目
环境 idea 2023.3.5 jdk 17 mysql 8 创建SpringBoot工程 创建SpringBoot工程,这里有两种方式可选,一种是使用idea提供的Spring Initializr自动创建,一种是通过Maven Archetype手动创建 自动创建SpringBoot工程 使用Spring Initializr创建…...
深度学习-大白话解释循环神经网络RNN
目录 一、RNN的思想 二、RNN的基本结构 网络架构 关键点 三、RNN的前向传播 四、RNN的挑战:梯度爆炸和梯度消失 问题分析 示例推导 五、LSTM:RNN的改进 核心组件 网络架构 3. LSTM 的工作流程 4. 数学公式总结 5. LSTM 的优缺点 优点 缺点 6. LSTM 的…...
20.<Spring图书管理系统①(登录+添加图书)>
PS:关于接口定义 接口定义,通常由服务器提供方来定义。 1.路径:自己定义 2.参数:根据需求考虑,我们这个接口功能完成需要哪些信息。 3.返回结果:考虑我们能为对方提供什么。站在对方角度考虑。 我们使用到的…...
windows下使用Hyper+wsl实现ubuntu下git的平替
文章目录 前言一、安装Hyper、wsl1. 安装Hyper2. 安装wsl 二、配置Hyper三、安装并使用git总结 前言 众所周知,Ubuntu下安装git只需执行sudo apt install git即可使用默认终端拉取代码,但是Windows上使用git既没有linux便捷,又没有MacOS优雅…...
Python在实际工作中的运用-提取Pdf文件内容
Pdf文件是我们日常工作中经常会遇到的一种文件格式,对于这种文件的提取 pdfplumber 库可以非常出色的完成处理工作,它是一个纯 Python 第三方库,适合 python 3.x 版本,通常用来查看pdf各类信息,能有效提取文本、表格&…...
Python+Vue+数据可视化的考研知识共享平台(源码+论文+讲解+安装+调试+售后)
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 程序介绍 近些年来,科技以一种近乎狂飙突进的态势呈爆发式发展,成果之丰硕…...
VirtualBox虚拟机MacOS从Big Sur升级到Sequoia(失败)
VirtualBox虚拟机里安装好Big Sur版本,尝试升级到Sequoia,但是最终失败了。 软件升级 直接在系统偏好-软件更新里可以看到提示,提示可以升级到15版本Sequoia 点击同意,看能不能升级到Sequoia吧。升级前先用时光做了备份。 升级…...
深度学习---卷积神经网络
一、卷积尺寸计算公式 二、池化 池化分为最大池化和平均池化 最常用的就是最大池化,可以认为最大池化不需要引入计算,而平均池化需要引出计算(计算平均数) 每种池化还分为Pooling和AdaptiveAvgPool Pooling(2)就是每2*2个格子…...
深入解析网络协议:从OSI七层模型到HTTP与TCP/IP的关系
在网络的世界里,理解不同协议如何协同工作以实现高效、可靠的通信至关重要。无论是构建动态的Web应用,还是进行复杂的网络编程,对基础协议的理解都是不可或缺的。本文首先介绍OSI七层模型,这是一个为网络系统设计提供通用参考框架…...
链表-相关面试算法题
目录 面试题 02.04. 分割链表 面试题 02.05. 链表求和 面试题 02.06. 回文链表 面试题 02.07. 链表相交 面试题 02.04. 分割链表 面试题 02.04. 分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点…...
CSS Overflow 属性详解
CSS Overflow 属性详解 在网页设计和开发中,CSS Overflow 属性是一个非常重要的特性,它决定了当内容超出其容器大小时应该如何处理。本文将详细介绍 CSS Overflow 属性的相关知识,包括其语法、作用、常用属性值以及一些实际应用场景。 1. CSS Overflow 属性概述 CSS Over…...
一、MySQL备份恢复
一、MySQL备份恢复 1.1 MySQL日志管理 数据库中数据丢失或被破坏可能原因 误删除数据库 数据库工作时,意外断电或程序意外终止 由于病毒造成的数据库损坏或丢失 文件系统损坏后,系统进行自检操作 升级数据库时,命令语句不严格 设备故…...
Python-04BeautifulSoup网络爬虫
2025-03-04-BeautifulSoup网络爬虫 记录BeautifulSoup网络爬虫的核心知识点 文章目录 2025-03-04-BeautifulSoup网络爬虫 [toc]1-参考网址2-学习要点3-核心知识点1. 安装2. 导入必要的库3. 发送 HTTP 请求4. 创建 BeautifulSoup 对象5. 解析 HTML 内容5.1 查找标签5.2 根据属性…...
记录uniapp小程序对接腾讯IM即时通讯无ui集成(2)
完成以上步骤之后开始进行登录,登陆就需要账号。这个账号我们可以在腾讯云中创建。 有了账号之后开始去小程序进行登陆操作。腾讯云接口文档 这里除了帐号还需要一个校验值userSig正常项目开发这个字段可以在登陆后让后端返回,现在是测试我们直接去控制…...
DE2115实现4位全加器和3-8译码器(FPGA)
一、配置环境 1、Quartus 18.1安装教程 软件:Quartus版本:Quartus 18.1语言:英文大小:5.78G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.0GHz 内存4G(或更高) 下载通道①百度网盘丨64位下载…...
大白话面试中应对自我介绍
在面试中,自我介绍是开场的关键环节,它就像你递给面试官的一张“个人名片”,要让面试官快速了解你并对你产生兴趣。下面详细讲讲应对自我介绍的要点及回答范例。 一、自我介绍的时间把控 一般面试中的自我介绍控制在1 - 3分钟比较合适。时间…...
【JavaScript—前端快速入门】JavaScript 综合案例 — 猜数字
JavaScript 综合案例—猜数字 预期效果 需求 完成基本的页面布局在文本框输入数字后,点击"猜"按钮,结果那一行会显示"猜大了"或者"猜小了"每猜一次,就会增加一次猜的次数猜到数字后,结果显示要猜的…...
X Window---图形接口
摘抄自 鸟哥的linux私房菜 基础篇 第四版 有鉴于图形用户接口(Graphical User Interface, GUI) 的需求日益加重,在 1984 年由 MIT 与其他第三方首次发表了 X Window System ,并且更在 1988 年成立了非营利性质的 XFree86 这个组织。所谓的XFree86 其实是…...
CSS浮动详解
1. 浮动的简介 浮动是用来实现文字环绕图片效果的 2.元素浮动后会有哪些影响 对兄弟元素的影响: 后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟 无影响。 对父元素的影响: 不能撑起父元…...
shell脚本编程实践第2天
1 内容格式化 1.1 输出格式化 1.1.1 echo解读 学习目标 这一节,我们从 基础知识、简单实践、小结、三个方面来学习。 基础知识 命令简介 echo命令的功能是将内容输出到默认显示设备,一般起到一个提示的作用。OPTIONS: -n 不要在最后自…...
wgcloud-server端部署说明
Wgcloud 是一款开源的轻量级服务器监控系统,支持多平台,可对服务器的 CPU、内存、磁盘、网络等指标进行实时监控。 以下是 Wgcloud Server端的详细部署步骤: 环境准备 服务器: 至少准备两台服务器,一台作为监控端&a…...
AES/CBC/PKCS5Padding加密
1、加密代码如下 public static String encryptAEs_CBC(String data,String key,byte[] iv) {Cipher cipher = null;try {cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");//位数不够,自动补一个长度int blocksize = cipher.getBlockSize();byte[] dataBytes …...
9.8 Visual Studio 2022安装Qt 和安装graphic
1.安装Qt 1. 安装Qt 首先打开Visual Studio,然后创建一个项目,再在最上面的一行依次打开“扩展-->管理扩展”,再在搜索框内搜索“QT”,显示如下界面: 再在右边QT右边有个“在浏览器中查看”,打开后出现…...
【C++设计模式】第四篇:建造者模式(Builder)
注意:复现代码时,确保 VS2022 使用 C17/20 标准以支持现代特性。 分步骤构造复杂对象,实现灵活装配 1. 模式定义与用途 核心目标:将复杂对象的构建过程分离,使得同样的构建步骤可以创建不同的表示形式。 常见场景&am…...
Spring Boot如何利用Twilio Verify 发送验证码短信?
Twilio提供了一个名为 Twilio Verify 的服务,专门用于处理验证码的发送和验证。这是一个更为简化和安全的解决方案,适合需要用户身份验证的应用。 使用Twilio Verify服务的步骤 以下是如何在Spring Boot中集成Twilio Verify服务的步骤: 1.…...
制造业中的“大数据”:如何实现精准决策?
在当今全球经济竞争日趋激烈、技术变革周期不断缩短的环境下,制造业面临着全新的挑战和机遇。随着信息技术的飞速发展,“大数据”正以前所未有的速度渗透到制造业的各个环节,帮助企业实现更精准的决策、更灵活的生产组织以及更敏捷的市场响应…...
Linux cat 命令
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。 使用权限 所有使用者 语法格式 cat [选项] [文件] 参数说明: -n:显示行号,会在输…...
CSS—flex布局、过渡transition属性、2D转换transform属性、3D转换transform属性
1.flex布局 也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力,不会产生浮动布局中脱标现象,布局网页更简单,更灵活。 flex容器属性: 属性描述d…...
Java UDP 通信:实现简单的 Echo 服务器与客户端
在计算机网络编程中,UDP(User Datagram Protocol)是一种无连接的传输层协议,它允许应用程序在不建立连接的情况下发送数据包。与 TCP 不同,UDP 不保证数据包的顺序、可靠性或完整性,但它具有低延迟和低开销…...
使用GitLink个人建站服务部署Allure在线测试报告
更多技术文章,访问软件测试社区 文章目录 🚀前言🔑开通GitLink个人建站服务1. 前提条件2. 登录GitLink平台(https://www.gitlink.org.cn/login)3. 进入设置>个人建站>我的站点4. 新建站点5. 去仓部进行部署6. 安…...
Mybatis plus异常: type `java.time.LocalDateTime` not supported by default
1、问题: Java数据库实体对象有字段如下: TableField(typeHandler JacksonTypeHandler.class) private Map<String, Object> dataDetail; 如果dataDetail中有LocalDateTime对象,在保存时会报如下异常: Caused by: com.…...
Django:文件上传时报错in a frame because it set ‘X-Frame-Options‘ to ‘deny‘.
即:使用Content-Security-Policy 1.安装Django CSP中间件: pip install django-csp 2.更改项目配置: # settings.py MIDDLEWARE [...csp.middleware.CSPMiddleware,... ]CSP_DEFAULT_SRC ("self",) CSP_FRAME_ANCESTORS (&q…...
腾讯云 | 微搭低代码快速开发数据表单应用
如上所示,登录腾讯云微搭低代码业务控制台,开始新创建一个应用,创建应用的方式包括,根据实际的业务需求,从模版列表中选择一个模板填入数据模型创建新应用,使用微搭组件自主设计数据模型创建新应用…...
【RabbitMQ】RabbitMQ的核心概念与七大工作模式
🔥个人主页: 中草药 🔥专栏:【中间件】企业级中间件剖析 在现代分布式系统和微服务架构中,消息队列(Message Queue) 是解决服务间通信、系统解耦和流量削峰的关键技术之一。而 RabbitMQ 作为一…...
金蝶ERP星空对接流程
1.金蝶ERP星空OPENAPI地址: 金蝶云星空开放平台 2.下载金蝶云星空的对应SDK包 金蝶云星空开放平台 3.引入SDK流程步骤 引入Kingdee.CDP.WebApi.SDK 右键项目添加引用,在打开的引用管理器中选择浏览页签,点击浏览按钮,找到从官…...
【C++】基于范围的for循环(range-based for loop)
一. std::vector 元素排布顺序 在 C 中,std::vector 是一个动态数组,用于存储同类型元素的序列。当你向 std::vector 中添加元素时(通常通过 push_back 方法),元素是按照你添加它们的顺序排列的。 具体来说ÿ…...
下载b站视频音频
文章目录 方案一:jjdown如何使用 方案二:bilibili哔哩哔哩下载助手如何使用进入插件网站插件下载插件安装 使用插件下载视频音频:复制音频下载地址 方案三:bat命令下载单个音频下载单个视频下载单个音视频 方案一:jjdo…...
LabVIEW DataSocket 通信库详解
dataskt.llb 是 LabVIEW 2019 内置的核心函数库之一,位于 vi.lib\Platform\ 目录下,专注于 DataSocket 技术的实现。DataSocket 是 NI 提供的网络通信协议,支持跨平台、跨设备的实时数据共享,广泛应用于远程监控、分布式系统集成等…...
金融项目实战
测试流程 测试流程 功能测试流程 功能测试流程 需求评审制定测试计划编写测试用例和评审用例执行缺陷管理测试报告 接口测试流程 接口测试流程 需求评审制定测试计划分析api文档编写测试用例搭建测试环境编写脚本执行脚本缺陷管理测试报告 测试步骤 测试步骤 需求评审 需求评…...
初始网络编程
什么是网络编程? 在网络通信协议下,不同计算机上运行的程序,进行的数据传输。 应用场景:即时通信、网游对战、金融证券、 国际贸易、邮件、等等。 不管是什么场景,都是计算机跟计算机之间通过网络进行数据传输。 …...
编译可以在Android手机上运行的ffmpeg程序
下载代码 git clone gitgithub.com:FFmpeg/FFmpeg.git git checkout n7.0建立build目录 mkdir build cd build创建build.sh脚本 vim build.sh这段脚本的主要功能是配置和编译 FFmpeg,使其能够在 Android 平台上运行,通过设置不同的架构和 API 级别&am…...
使用Kubernetes部署Spring Boot项目
目录 前提条件 新建Spring Boot项目并编写一个接口 新建Maven工程 导入 Spring Boot 相关的依赖 启动项目 编写Controller 测试接口 构建镜像 打jar包 新建Dockerfile文件 Linux目录准备 上传Dockerfile和target目录到Linux 制作镜像 查看镜像 测试镜像 上传镜…...
LC77. 组合
LC77. 组合 题目要求(一)回溯1. 解决思路2. 具体步骤3. 代码实现4. 复杂度分析5. 示例解释示例 1:示例 2: 6. 总结 LC77. 组合 题目要求 (一)回溯 要解决这个问题,我们需要生成从 [1, n] 范围内选择 k 个数的所有可能组合。组合的顺序不重要…...
Android中的ANR(Application Not Responding)现象
Android中的ANR(Application Not Responding)现象是指应用程序未能在规定的时间内响应系统或用户的输入事件,从而触发系统弹出的无响应对话框。以下是关于ANR现象的详细解释: 一、ANR现象的定义 ANR通常发生在以下情况ÿ…...
操作系统启动——前置知识预备
文章目录 1. 理解冯诺依曼体系结构1.1 简单见一见冯诺依曼1.2 进一步认识1.3 为什么一定要有内存的存在? 2. 操作系统2.1 概念2.2 设计OS的目的2.3 OS的核心功能2.4 如何理解“管理”二字?(小故事版)2.5 系统调用和库函数概念 3. 进程简述3.1 基本概念3.…...
Unity中VFX烟雾特效与场景中的碎片物体重叠时闪烁问题
双击Unity项目中vfx特效文件,选中VFX编辑器中的Output Particle节点,看右侧的Inspector窗口 这个图的BlendMode是Alpha, 意味着渲染队列是3000要关闭Z Write Mode, 其值设置为off最后一个属性Sorting Priorty 设置为50,意味着渲染队列在3000…...