KelvinZhang's Blog


  • 首页

  • 关于

  • 归档

  • 标签

在UE5里实现一个手雷,并能用辅助线瞄准

发表于 2022-04-18 | 分类于 技术文章

手雷是射击游戏里的必备道具,同时很多游戏里也有投掷瞄准辅助线,这次在UE5里尝试实现一下,用的是默认的第三人称模板。

实现的效果是这样的:

阅读全文 »

UE4俯视角战争迷雾的简单实现

发表于 2022-04-13

常见游戏里的效果

最常见的是LOL的

阅读全文 »

python基于pyqt的桌面gui方案 - 简单、易设计

发表于 2021-07-16

桌面写一个工具,有时候核心流程已经明白怎么实现了,但是需要有一层GUI裹着这套逻辑,才能呈现给用户,这个时候就很需要一套桌面GUI。最基本的需要是,这套GUI不要太复杂,不能喧宾夺主,同时又希望能够快速出原型,不需要非常复杂的布局设计,然后是尽量做到易于部署发布,不需要考虑太多环境兼容之类的问题。

阅读全文 »

本科期间的一些文摘

发表于 2021-07-13 | 分类于 随笔

小时候,你丢了一颗糖会感到伤心。而长大后,丢一颗糖根本就不是事。但你在小时候丢糖的痛苦,在当时却的的确确是实打实的痛苦,无论你长大后多么觉得幼稚,多么看不上它。矫情也好,自我感动也罢,真实自有万钧之力,过去的真实感情都是值得尊重的。

阅读全文 »

2021双休周末记录

发表于 2021-07-13

周末日记:

阅读全文 »

Lua代码性能优化

发表于 2019-12-23 | 分类于 技术文章

Lua性能优化

1 Local总是比global快

Local变量更快,因为机制上决定了它们是通过index来索引的,而Global变量由于存在table里的原因,使用之前要进行一次hash查找。

阅读全文 »

Lua中的string连接

发表于 2019-12-23 | 分类于 技术文章

Lua中的string连接

Lua中常用的字符串连接有三种:1 直接用.. 2 table.concat() 3 string.format(),但是三者性能表现有很大差距,而且有些情况下还会因为使用方法不当产生巨大的内存开销,有必要研究一下其中的原理。

阅读全文 »

Lua实现Class遇到的一个坑

发表于 2019-10-23 | 分类于 技术文章

https://stackoverflow.com/questions/15456456/changing-value-of-table-in-object-changes-the-value-for-all-objects-how-do-i-ge

Lua实现Class遇到的一个坑

目前最常见的一种实现方式:

1
2
3
4
5
6
7
8
ClassBase = {
	data = {1, 2, 3, x = 0};
}
function ClassBase:New()
    local obj = {};
    setmetatable(obj, {__index = self});
    return obj;
end

这种方法大多数情况下不会有问题,但是有一种情况却会导致未能预料的错误:

阅读全文 »

24岁生日感想

发表于 2019-09-24

24岁生日感想

阅读全文 »

游戏中新手引导的一些设计总结--程序角度

发表于 2019-09-15 | 分类于 技术文章

新手引导的一些设计总结–程序角度

前言

新手引导系统是每个游戏都不可或缺的,但是此系统又处于一个很尴尬的位置:

  • 涉及到游戏内的很多系统,需要和各个模块交互,不小心设计的话会导致不必要的耦合
  • 很多模块需要有一些特殊表现,容易造成代码污染
  • 策划侧往往会比较频繁地改动来调整效果,需要可以灵活配置

所以整个新手引导系统的设计既要做到能满足复杂的功能需求,又要能够保持原有模块的设计整洁,还要兼顾策划同学的配置自由度,我们在实现之初定下了“灵活、无副作用”的设计目标。

阅读全文 »
KelvinZhang

KelvinZhang

编程, 游戏开发, 技术

11 日志
2 分类
4 标签
© 2019 - 2022 KelvinZhang
由 Jekyll 强力驱动
主题 - NexT.Muse