虚幻或许也需要一个体素化的物理世界
没有什么是Trigger不能解决的,如果一个不行,那就一堆(滑稽)
没有什么是Trigger不能解决的,如果一个不行,那就一堆(滑稽)
小秀一波,文章跳票了,憋了这么久,这次应该会是一个比较正式的独立软件。
之前写过一个开源小软件,发布几个月就发现淘宝上有人50一份的卖,由于当时代码写的很青涩,存在很多小bug,发现这个情况,还是因为那个恶心的商家私信让我帮忙远程定位问题,说出问题的是他朋友,后面一问才知道人家是淘宝买的,本身写那个软件纯粹是因为热爱,自己写这个软件收到四百多的打赏,其中两百多还是一个人给的,反应过来是找我那个人直接拿我软件在淘宝上买,一看销量,至少赚了几千,关键我还免费给人当售后???当时还是个穷学生,软件群人满了需要扩群,会员都开不起,最后还是把群主转给另一个有会员的群友,被这件事情给恶心到之后,一气之下就把软件给闭源了,后面有学技术的小伙伴私信问一些技术细节,也都如实相告,后面人有点多,干脆做起了教程,然后直到去年年初,有个人加我,问软件某部分是怎么实现的,我还屁颠屁颠的一点点给他解释原理,结果它直接就不耐烦了,问我要源码,说不给就去告我,我用了开源的Qt,就必须开源自己的代码,它姐姐是律师,某节跟它打官司都输了,我难道比某节还硬?我就纳闷了,这就是个小玩具,又没盈利,完全靠爱发电,还花费了我工作之外的绝大部分的精力,这算什么事?
整了个花活0.0,在没改Qt源码的情况下,可以很轻松地将一个QWidget进行3D变换。 原理:
通过前后两个四边形区域算出中心投影变换矩阵
利用中心投影变换矩阵在QApplication中重新映射鼠标位置相关的事件
通过QRHI和GraphicsEffect的机制,结合变换矩阵,重新绘制图像
根据目标四边形的位置,自动伸缩绘制区域 目前还有一些问题:
弹出窗口的位置有偏差
焦点事件也对不上
不过现在能做好多有意思的东西了~
开放世界(Open World) 是一个玩家可以在自由地实现目标的虚拟世界,而不是具有更线性和结构化游戏玩法的世界。其中的著名游戏包括《塞尔达传说》、《侠盗猎车手》、 《荒野大镖客》 、《上古卷轴》、《我的世界》,《艾尔登法环》...
开放世界的重点在于开放性,因此开放世界游戏一般在在内存上会动态且无缝的加载游戏世界,这类游戏的主要吸引力在于为玩家提供自主权,使得游戏进程可以按玩家预期的顺序和方式来推进,但不是在游戏中可以做他们想做的任何事情(这在当下的计算机技术几乎是不可能的)。
——摘自 《Wiki - Openg World》
关于开放世界的关卡设计,这里有一些非常优秀的文档:
笔者是一名入行不久的引擎工程师,本文主要用于记录和讨论,将以程序开发的视角去剖析开放世界,一些想法和思考方式可能过于片面,欢迎大家指正。
国庆疯狂卷了5000+行代码0.0
把RenderGraph重构了一遍,之前的RenderGraph仅仅是实现了一个便于构造依赖图的结构
重构之后增加了以下功能:
明天看下能不能把文章给赶完,忙不过来就得等到下周,弄完这篇文章我可能要跳票了~
我复活辣! Qt 6.7 将正式公开 RHI 接口,作者大大文档都已经写好了: - QRhi Class | Qt GUI 6.7.0
从下周开始,图形引擎的文章会继续更新(刚开始调整状态,更新会有点慢),不过会优先把RHI的接口说完,尽快进入到引擎和渲染架构相关的内容
还有一些关于UE的东西想去整理: