AI赋能游戏开发,如何更好地处理随之而来的海量数据,更好地利用开发游戏?
人工智能(AI)正在改变我们所知的游戏行业。它为3A工作室、独立开发者和业余爱好者提供了工具,让他们能够更轻松地创建以前需要大量时间和资源的项目。尤其是,虚幻引擎的AI工具已经取得了显著的进步。
虚幻引擎AI拥有专门用于游戏、数字人(MetaHuman)和智能对象程序生成的工具,它有可能改变开发者和创作者在各个行业中的工作方式。
本篇文章将深入探讨虚幻引擎AI工具(例如程序化内容生成框架和数字人动画师(MetaHuman Animator),这些工具将如何影响独立游戏开发者,使用虚幻引擎AI的挑战,以及你的团队如何才能充分发挥其优势。
游戏中的程序生成是什么?
程序生成是指通过计算机创建内容和数据。通过在游戏中使用程序生成,开发人员可以使用算法来构建视觉资产,例如风景、3D 对象、建筑物、角色甚至整个世界。
游戏中的程序生成技术有可能减少曾经用于设计游戏环境的手动过程。这项技术还让游戏开发人员能够回收游戏资产,创造新颖的资产。
在一个需要内容更新速度快于团队执行速度的世界中,程序化的内容生成为开发人员提供了一种满足这些需求且不必牺牲质量的方式。
虚幻引擎中的程序内容生成框架(PCG)
在虚幻引擎中,程序内容生成框架(PCG)是一个工具集,具有创建程序内容和工具的能力。
要使用PCG,美术人员首先要设置规则和参数。然后工具会快速生成内容,创建详细的环境,例如森林和城市。程序内容生成框架还可以生成蓝图、灯光、声音、粒子等。
游戏中的程序生成如何赋能独立开发者
游戏中的程序生成对独立游戏开发者有着巨大的潜在影响。与3A级工作室相比,这些团队的资金、人员和资源通常较少。
例如,独立工作室Hello Games于2016年发布了《无人深空(No Man's Sky)》。这款屡获殊荣的大型太空探索游戏拥有185亿个程序生成的世界。要访问游戏中的每一个星球,用户需要花费50亿年的时间。随着独立团队不断将程序生成技术整合到他们的工作流程中,他们将有能力创造出在质量和深度上可以与3A工作室开发的游戏相媲美的游戏。
虚幻引擎中的数字人动画师是什么?
数字人动画师(MetaHuman Animator)是虚幻引擎中的另一个AI工具,它可以让游戏开发者和创作者创建逼真的人类角色并制作动画。以前,只有熟练的动画师才能创建数字角色,而这一过程可能需要几个月的时间。
有了数字人动画师,创作者只需要一部iPhone或一个安装在头盔上的立体摄像机就能捕捉演员的镜头。从这里,动画师会准确地捕捉演员的表情和细微差别,并在几分钟内制作出数字人角色的最终动画。
Perforce 2023年游戏开发与设计状况报告
在对游戏开发者的调查中,31%的人表示“构建时间过长”是他们面临的最大挑战,18%的人表示“没有足够的时间进行迭代”是他们面临的最大挑战。了解有关游戏行业的更多信息:
立即获取
用于创建虚幻引擎AI的其他工具
除了程序内容生成框架和数字人动画师之外,虚幻引擎还创建了以下AI工具和功能:
-
行为树资产:这些资产能够为非玩家角色创建AI,使AI角色能够根据预定的逻辑做出反应和决策;
-
导航系统:使AI代理能够在导航到目的地时确定并使用最佳路径;
-
智能对象:为AI开发的代理和玩家进行交互而设计,其中包含交互所需的数据。
使用虚幻引擎AI会遇到哪些挑战?
尽管使用AI可以提高资产创建效率,但它也有其缺点和成本。下面是使用虚幻引擎AI会面临的三大挑战:
需要处理更大规模、更复杂的资产
随着虚幻AI工具的兴起,游戏行业出现了一个名为“10x环境”的术语。考虑到游戏中的角色、关卡、配件或由复杂程度增加10倍的纹理和材料组成的渲染世界,其复杂程度也将提高10倍。在这种转变过程中,团队需要具备计算和存储能力,才能处理这些复杂的资产。
此外,创作者通常会在设计和制作工作流程的多个阶段生成这些超大文件的多个版本。随着这些项目的扩大,工作被覆盖或完全丢失的风险也随之增加。
资产量更大
同样,在游戏中使用像程序生成这样的工具,也会大大增加工作中的资产数量。这意味着将有更多的资产需要进行存储、版本控制和跟踪。随着从游戏到视觉特效等行业的节奏越来越快、竞争越来越激烈、全球分布越来越广,保护和集中资产以实现无缝协作、节约时间变得比以往任何时候都更加重要。
仍在开发中的新工具
最后,程序内容生成框架和数字人动画师等工具在2023年夏天随虚幻引擎5.2版本一起发布。使用这种新技术也有缺点,因为可用来排除故障的用例和资源较少。
许多创作者需要将他们的UE项目转移到功能更强大的高级3D动画软件中,例如Maya和Blender等。但这种做法只会让他们本已复杂且数量庞大的项目更加分散。
如何真正从虚幻引擎AI中受益
为了应对所有挑战,您的团队需要一些工具来跟踪所有数字资产并将其存放在一个中心位置。
从版本控制系统开始
许多使用虚幻引擎的团队也使用版本控制系统——这是一个用于存储、管理文件随时间推移而发生的更改的重要工具。Perforce Helix Core是游戏开发行业的标准版本控制系统。
Perforce Helix Core使全球团队能够安全、高效地协作,它创建了一个单一的可信数据源和平台,帮助团队更快地开展工作。Perforce Helix Core可以跟踪和管理源代码、数字资产、大型二进制文件等的变更。
作为唯一可以随着项目增长而无限扩展的版本控制和协作系统,您的团队可以在不牺牲性能的情况下使用Perforce Helix Core。Perforce Helix Core具有签出或自动锁定文件的能力,因此团队无需担心在开发复杂的项目时会覆盖彼此的工作。
虚幻引擎还与Perforce Helix Core进行了长期的内置集成。这两个工具紧密集成,可以帮助您的团队在项目中更高效地协同工作。
将所有内容存储在数字资产管理工具中
考虑到虚幻引擎AI所开发的资产数量和文件大小,拥有一个无限且集成的可视化库比以往任何时候都更加重要。如果没有一个强大的DAM(数字资产管理器),查找文件、重复使用文件、安全共享文件和审查文件几乎是不可能的。
Helix DAM建立在Perforce Helix Core之上,是存储、查找、预览、审查和跟踪所有艺术资产(包括2D、3D、视频和音频文件)进度的最有效方式。Helix DAM与您现有的项目流水线协同工作,并与Blender和Maya等工具集成。
将所有的资产集中在一个地方,还可以帮助您直观地了解哪些资产可以用作游戏中程序生成的框架。
免费开始使用Perforce Helix Core和Helix DAM
为您的团队免费获取版本控制软件,立即开始体验虚幻AI的全部优势。Perforce Helix Core 最多可供5位用户免费使用,对功能没有限制。在沙盒中可免费试用Helix DAM 14 天,无需任何承诺或设置。
Perforce Helix Core赢得了全球19/20家顶级3A游戏开发工作室和顶级虚拟制作团队的信任,您也可以立即体验它的功能,可以从小规模开始使用,小团队可永久免费使用。
文章来源:https://bit.ly/3TBsxOT
相关文章:
AI赋能游戏开发,如何更好地处理随之而来的海量数据,更好地利用开发游戏?
人工智能(AI)正在改变我们所知的游戏行业。它为3A工作室、独立开发者和业余爱好者提供了工具,让他们能够更轻松地创建以前需要大量时间和资源的项目。尤其是,虚幻引擎的AI工具已经取得了显著的进步。 虚幻引擎AI拥有专门用于游戏…...
Serverless架构学习路线及平台对比
在云计算领域,Serverless架构已经成为了一个重要的趋势。本文将为你提供一条清晰的Serverless架构学习路线,帮助你系统地掌握这个领域的知识,并对比国内外的Serverless平台的优缺点。 一、基础理论学习 首先,我们需要理解Server…...
解决ROS含动态参数的Config文件无法正确识别的错误
问题描述 功能包名为paddle_detection 在工作空间下, 通过catkin_make可以正常通过编译且执行无异常, 可以通过bloom-generate rosdebian生成依赖 但是在将其打包成deb包的过程中fakeroot debian/rules binary报错 fatal error: paddle_detection/paddle_detectionConfig.…...
探索 PyTorch 中的 torch.nn 模块**(1)
目录 引言 torch.nn使用和详解 Parameter 函数作用 使用技巧 使用方法和示例 UninitializedParameter 特点和用途 可进行的操作 使用示例 UninitializedBuffer 特点和用途 可进行的操作 使用示例 Module**(重点) 关键特性和功能 举例说…...
【WPF.NET开发】预览事件
本文内容 先决条件预览标记为“已处理”的事件通过控件解决事件禁止问题 预览事件,也称为隧道事件,是从应用程序根元素向下遍历元素树到引发事件的元素的路由事件。 引发事件的元素在事件数据中报告为Source 。 并非所有事件场景都支持或需要预览事件。…...
JDBC->SpringJDBC->Mybatis封装JDBC
一、JDBC介绍 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们…...
ts中的keyof 关键字
const getVal <T,K extends keyof T>(obj:T,key:K) : T[K]>{return obj[key]; }使用了 keyof 关键字。keyof 是 TypeScript 的一个特性,它返回一个字符串字面量类型,表示对象类型的所有属性键的联合类型。 这段代码定义了一个泛型函数 gatVal&…...
Head First Design Patterns - 装饰者模式
什么是装饰者模式 装饰者模式动态地将额外责任附加到对象上。对于拓展功能,装饰者提供子类化的弹性替代方案。 --《Head First Design Patterns》中的定义 为什么会有装饰者模式 根据上述定义,简单来说,装饰者模式就是对原有的类,…...
MySQL 执行过程
MySQL 的执行流程也确实是一个复杂的过程,它涉及多个组件的协同工作,故而在面试或者工作的过程中很容易陷入迷惑和误区。 MySQL 执行过程 本篇将以 MySQL 常见的 InnoDB 存储引擎为例,为大家详细介绍 SQL 语句的执行流程。从连接器开始&…...
判断电话号码是否重复-excel
有时候重复的数据不需要或者很烦人,就需要采取措施,希望以下的方法能帮到你。 1.判断是否重复 方法一: 1)针对第一个单元格输入等号,以及公式countif(查找记录数的范围,需要查找的单元格) 2…...
【Java开发岗面试】八股文—Java虚拟机(JVM)
声明: 背景:本人为24届双非硕校招生,已经完整经历了一次秋招,拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验(主要是校招),包括我自己总结的八股文、算法、项目介绍、HR面和面试…...
【Linux】Linux 下基本指令 -- 详解
无论是什么命令,用于什么用途,在 Linux 中,命令有其通用的格式: command [-options] [parameter] command:命令本身。-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的…...
Eureka注册及使用
一、Eureka的作用 Eureka是一个服务注册与发现的工具,主要用于微服务架构中的服务发现和负载均衡。其主要作用包括: 服务提供者将自己注册到Eureka Server上,包括服务的地址和端口等信息。服务消费者从Eureka Server上获取服务提供者的地址…...
Ubuntu之修改时区/时间
1、查看当前时间及时区状态 sudo timedatectl status # 显示当前时区为Asia/Shanghai 2、查看当前系统时间 sudo date 3、查看当前系统时间及时区 sudo date -R # 显示当前时间及对应时区,时区为“0800”北京时区 4、修改硬件时间 修改日期格式:…...
4、内存泄漏检测(多线程)
4、内存泄漏多线程 多线程下使用Valgrind 工具的memcheck检查. 安装 sudo apt install valgrind使用 valgrind --toolmemcheck --leak-checkfull ./app_main 指令效果如下所示. wqwq-Virtual-Machine:~/work/test_zlog/build$ valgrind --toolmemcheck --leak-checkfull .…...
在使用tcp长连接时,是否还需要再引入重发机制?
一 什么是tcp长连接? 在TCP(Transmission Control Protocol)中,长连接是指在通信过程中保持连接状态的一种方式,相对于短连接而言。长连接通常用于需要频繁通信的场景,以减少连接建立和断开的开销。在长连接…...
记一次Oracle Cloud计算实例ssh恢复过程
#ssh秘钥丢失# , #Oracle Cloud# 。 电脑上的ssh秘钥文件不知道什么时候丢失了,直到用的时候才发现没有了,这下可好,Oracle Cloud的计算实例连不上了,这个实例只能通过ssh连接上去: 以下是解决步骤&#x…...
2024年01月数据库流行度最新排名
点击查看最新数据库流行度最新排名(每月更新) 2024年01月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…...
Stable Diffusion API入门:简明教程
Stable Diffusion 是一个先进的深度学习模型,用于创造和修改图像。这个模型能够基于文本描述来生成图像,让机器理解和实现用户的创意。使用这项技术的关键在于掌握其 API,通过编程来操控图像生成的过程。 在探索 Stable Diffusion API 的世界…...
数据结构--二叉搜索树的实现
目录 1.二叉搜索树的概念 2.二叉搜索树的操作 二叉搜索树的插入 中序遍历(常用于排序) 二叉搜索树的查找 二叉搜索树的删除 完整二叉树代码: 二叉搜索树的应用 key/value搜索模型整体代码 1.二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
用鸿蒙HarmonyOS5实现中国象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...
