我的高中历程
开端
2014年9月1日,我来到丰县中学,梦想中的中学在那时我的眼中是如此的耀眼和夺目。
2021年4月8日,我坐在大学宿舍里,听着网易云,敲着键盘,本以为高中的回忆依旧会清晰无比,但实际上已经残破不堪,乃至我连时间线都有些搞不清了,哦,恍惚间,已经7年了啊。
我试图用文字回忆,再记录那已经有些模糊的高中历程,为以后的自己,也为正在看这篇文章的人。
高一
我是提前招生进实验班的一个幸运儿,这不是谦虚,整个过程有太多的巧合,恰巧那一次考进了年级前50,恰巧参加了那次年级前50才能参加的提前招生考试,恰巧人数没招够,恰巧,我进来了。
但是幸运女神终将离我而去,剩下的时间全都靠自己。
我努力过,但是真的没有用,我真真切切感受到了自己在应试教育下的极限,周围全是优秀的同学,大家越来越进入状态,我的名次却在稳步后退,那种感觉,很无力。
因为是实验班,每个周末我们还要从早上开始上半天课,至于是从什么时候开始上6天课,休息半天的,我记不清了,但是我有个很喜欢的时间段,那就是在周末冬天清冷的早晨,蜷缩在被窝里,听着室友手机里放的《残酷月光》《吻得太逼真》《See You Again》。
每天早上 ...
NodeGraphProcessor整合Odin
前言
本人一直对节点编辑器比较感兴趣,最近看到有网友已经基于GraphView做出了自己的剧情编辑器,技能编辑器等,我也手痒难耐,并且眼馋GraphView的颜值很久了,决定来学习一下,并且准备把自己的技能编辑器移植过来。
NodeGraphProcessor版本:https://github.com/alelievr/NodeGraphProcessor/commit/bea17d70217f44509c30086ec04a4cfbe1836751
NodeGraphProcessor + Odin:https://github.com/wqaetly/NodeGraphProcessor
正文
GraphView介绍
GraphView是Unity推出的一个基于UIElement的节点编辑器UI模块,基建很完全,有多选,拖动,缩放,Group等功能,但是我没有找到官方的文档和示例,大家可以跟着这个UP主学习一下怎么从零开始使用GraphView做一个节点编辑器:Mert Kirimgeri
他还是 NodeBasedDialogueSystem 的作者
UIElemen ...
URP下屏幕空间贴花(ScreenSpaceDecal)学习笔记
前言
这几天学习了下Colin大神的屏幕空间贴花实现,感觉其中的算法实现和坐标转换让本笨比拍案叫绝,故记录分享一下。
大体思路
根据在任意坐标系中,已知一个物体A的坐标,以及另一个物体B相对于物体A的偏移量,即可得知物体B坐标的定理。我们可以将Camera坐标和从Camera到顶点的射线从相机空间转换到模型空间,然后利用从VS到PS的线性插值(其实是类似我们从深度图重建世界坐标时,构造四条从相机到屏幕面片四个顶点的射线,利用VS到PS的线性插值得到片元数目的射线原理,即可得知屏幕面片每一个片元对应的世界空间坐标),即可得知物体每一个片元对应的模型空间坐标,又因为我们使用了单位长度为1的Cube作为投射器,所以就可以直接用这个坐标当成UV去采样贴图(由于我们只是需要类似一个面片一样的贴花,所以需要裁剪掉除0~1范围外的所有UV),达成贴花的效果。
正文
基础设置
RenderQueue
1"Queue" = "Transparent-499"
为了避免渲染顺序问题,把其渲染队列放到Transparent,并且在任何半透明物体之前渲染
...
NKGMoba技能系统联网Demo(内存泄漏尊享版)
warning 本项目完全开源免费,美术资源皆来源网络,仅供学习交流使用,严禁用于商业用途,否则造成的任何法律纠纷本人概不负责。开源地址:https://gitee.com/NKG_admin/NKGMobaBasedOnET
前言
前几天搞了一个Linux下的寻路库,想趁此机会把这个Moba开源项目部署到服务器上,自娱自乐一下,但是整个项目都是围绕技能系统展开的,对于上下线相关的处理还没做好,又没有房间机制,所以会有非常多由同一账号上下线导致的BUG。本篇文章主要是说明一下正确的Demo使用姿势
正文
Demo内容
英雄:热饭班长
被动技能,每次攻击都会在敌人身上叠加1层流血Buff,在5s内造成持续伤害,一旦一名敌方英雄身上流血效果达到5层,玩家自身将会获得持续5s的血怒Buff,大幅提高自己攻击力,在此期间所有的攻击都会对敌人直接叠加满层的流血效果。
Q技能,延迟0.5s后挥舞巨斧一周,外圈伤害比内圈伤害高,并且可以叠加血怒Buff
W技能,下一次普攻将会减速敌人99%,可叠加血怒Buff
E技能,面前锥形范围内敌人造成禁锢效果
每次进入战斗地图由系统分配阵营,将鼠标放 ...
构建recastnavigation并部署服务端到Linux
前言
这几天有群友Mac运行不了Moba项目,是因为recastnavigation我编译的是Windows专用的动态dll库,用Mac就得编译一个dylib,好在最后解决了
正好前阵子换了博客系统,之前买的服务器空闲下来了,那我索性再去Linux编一个so的吧,正好把项目架设到服务器上,自娱自乐一下。
本文提及Linux专用的premake5.lua和用于p/invoke的文件链接:https://gitee.com/NKG_admin/NKGMobaBasedOnET/tree/master/RecastNavMesh/Core/Linux-RecastNavDll
文章部分内容参照 @footman 大佬的doc文档
环境
CentOS 7.6(注意,因为在写本篇文章过程中我进行了多次试验,重置了很多次系统,所以下面的一些截图可能环境于此处不一致,以此处为准)
服务器配置
先去阿里云服务器控制台把需要的端口开了
安全-防火墙-添加规则
只添加这两个规则就够了,一个用于FTP操作文件(我们FinalShell就是连接的这个端口),一个作为游戏服务器端口
客户终端配置
使 ...
(译)SRP Batcher Speed up your rendering!
推荐去个人网站或者原文观阅文章,因为文章中有嵌入式视频:
https://www.lfzxb.top/srp-batcher-speed-up-your-rendering/
本文翻译自:SRP Batcher: Speed up your rendering! 和 https://docs.unity3d.com/Manual/SRPBatcher.html
在2018,我们介绍了一个被称为SRP的高度自定义的渲染技术,一个被称为SRP Batcher新的引擎底层Loop就是这个技术的一部分,SRP Batcher可以在渲染时加速你的CPU 1.2到4倍(这取决于你的场景)。让我们看看如何这个功能的最佳实践吧!
上面那个视频显示了Unity渲染时最坏的一个场景:每个对象都是动态的,并且使用不同的材质(材质的颜色或者贴图等属性不同),所以尽管非常多相同的Mesh,但是在渲染时每个Mesh都会被当成不同的Mesh进行渲染(所以无法使用GPU Instance优化技术)。这个场景使用SRP Batcher在PS4平台上可以加速4倍(这个视频是PC的,渲染API是DX11)
注意:当 ...
《守望先锋》GDC2017技术分享精粹重制版总目录
本文章已于2022.2.1更新,新增了每个视频的内容大纲所对应的时间点内容,以及个人对视频片段简单的内容概括
《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。
重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,上传了武器和技能系统PDF,一些必要的地方我录制了Gif图,方便观看。
《守望先锋》GDC 2017技术分享视频内容大纲
《守望先锋》架构设计和网络同步
原视频链接
《守望先锋》回放技术-阵亡镜头、全场最佳和亮眼表现
原视频链接
《守望先锋》网络脚本化的武器和技能系统
原视频链接
《守望先锋》架构设计和网络同步
前言
《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。
重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,一些必要的地方我录制了Gif图,方便观看。
全系列链接:《守望先锋》GDC2017技术分享精粹重制版总目录
原视频链接:https://www.youtube.com/watch?v=W3aieHjyNvw&t=2886s&ab_channel=GDC
ECS
ECS概述
哈喽,大家好,这次的分享是关于《守望先锋》(译注:下文统一简称为Overwatch)游戏架构设计和网络部分。老规矩,手机调成静音;离开时记得填写调查问卷;换下半藏,赶紧推车!(众笑)
我是Tim Ford,是暴雪公司Overwatch开发团队老大。自从2013年夏季项目启动以来就在这个团队了。在那之前,我在《Titan》项目组,不过这次分享跟Titan没有半毛钱关系。(众笑)
这次分享的一些技术,是用来降低不停增长 ...
《守望先锋》网络脚本化的武器和技能系统
前言
《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。
重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,一些必要的地方我录制了Gif图,方便观看。
全系列链接:《守望先锋》GDC2017技术分享精粹重制版总目录
原PDF链接:本文部分图片如果想查看高清大图,可前往 《守望先锋》中网络脚本化的武器和技能系统 PDF 下载PDF
原视频链接:https://www.youtube.com/watch?v=ScyZjcjTlA4&ab_channel=GDC
嗨,大家好,我叫 Dan Reed, 是暴雪娱乐的游戏工程师(gameplay engineer,译注:游戏机制工程师,或者游戏工程师,都可以),今天主要跟大家分享《守望先锋》(后面统一用Overwatch表示)中的网络脚本化的武器和技能系统。
那么这里先简单介绍下我在Overwatch中的主要工作。
Statescript脚本系统,这也是今天 ...
《守望先锋》回放技术-阵亡镜头、全场最佳和亮眼表现
前言
《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。
重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,一些必要的地方我录制了Gif图,方便观看。
全系列链接:《守望先锋》GDC2017技术分享精粹重制版总目录
原视频链接:https://www.youtube.com/watch?v=W4oZq4tn57w&ab_channel=GDC
设计目标
那么回放系统的概要设计(high level design)目标是什么呢?
这次分享的标题就预示着必须给出答案,对吧?概要需求是创建一个单一的中央系统,能够支持阵亡镜头、全场最佳和亮眼表现,除此之外我们还特别需要能够生成录像文件,在开发期间可以用来做内部调试。
下面开始深入介绍每个议题。
每次玩家死亡时,游戏里就会显示临死前几秒钟的――大部分情况是以凶手(killer)视角来看的――死因及死亡过程。阵亡镜头可以帮助玩家理解他们是怎么死的,以及为什么 ...