Jack Huang's Blog


  • 首页

  • 标签

  • 归档

  • 搜索

游戏网络研究笔记

发表于 2022-11-14

游戏网络库

C / C++

  • ENet - 简单而强大的可靠 UDP 网络库。
  • GameNetworkingSockets - Valve 用于游戏的内部(Steam)网络传输层。
  • GGPO - 好游戏,Peace Out 回滚网络 SDK。
  • KCP - 一种快速可靠的 ARQ 协议。
  • RakNet - 功能齐全且成熟可靠的 UDP 网络引擎。
  • TNL2 -(非活动)扭矩网络库 2,与TRIBES 网络模型非常相似。
  • yojimbo - 用于具有专用服务器的客户端/服务器游戏的可靠 UDP 网络库。

参考链接

  1. Beginner’s Guide to Game Networking,by pvigier.
  2. GameNetworkingResources,by ThusSpokeNomad.
  3. Real Time Multiplayer in HTML5,by Sven Bergström.

Web打印方案

发表于 2022-10-31 | 更新于 2023-01-14

想在前端打印word文档,调研一下解决方案。

Vuejs解决方案

请参考记录超简单实现打印,window.print() 分页打印,vue element-ui window.print()打印。

print样式调试

请参考How do you debug printable CSS?。

打印页面样式设置

请参考css 打印print。

参考链接

  1. web打印,一篇搞定,by 俊劫​.
  2. window.print()打印样式不生效的问题,by 很远有多远.
  3. window.print() 前端页面打印与预览PDF,by 小何开发.
  4. window.print打印不全如何解决,by juejin.
  5. 关于@media print 的二三事..,by kakadodo.
  6. 记录超简单实现打印,window.print() 分页打印,vue element-ui window.print()打印,by 程序员李钟意.
  7. How do you debug printable CSS?,by stackoverflow.
  8. css 打印print,by 恬雅过客.

三分线构图方法

发表于 2022-10-28

参考链接

  1. 三分线构图,7种玩法,简单拍出美!,by 手机摄影构图大全.
  2. 常用的摄影构图之三分线,by 慢热氧气.
  3. 设计理论:如何使登录页更完美与高效?,by Lainey.
  4. ps制作设计网站登录界面,by 正在修炼web的小芮.

Vcpkg使用帮助

发表于 2022-10-26 | 更新于 2024-12-31

Vcpkg 可帮助您在 Windows、 Linux 和 MacOS 上管理 C 和 C++ 库。

安装vcpkg

首先,请下载vcpkg并执行 bootstrap.bat 脚本。

1
2
> git clone https://github.com/microsoft/vcpkg
> .\vcpkg\bootstrap-vcpkg.bat

使用vcpkg

使用以下命令安装您的项目所需要的库:

1
> .\vcpkg\vcpkg install [packages to install]

您也可以使用 search 子命令来查找vcpkg中集成的库:

1
> .\vcpkg\vcpkg search [search term]

若您希望在 Visual Studio 中使用vcpkg,请运行以下命令 (首次启动需要管理员权限)

1
> .\vcpkg\vcpkg integrate install

若您希望在 Visual Studio 中卸载vcpkg,请运行以下命令 (首次启动需要管理员权限)

1
> .\vcpkg\vcpkg integrate remove

卸载vcpkg只需删除vcpkg的文件夹即可。

导出开源库(通常在项目中使用第三方开源库时会把其拷贝到项目文件夹中使用):

1
vcpkg export spdlog:x64-windows --zip

然后将导出的开源库,放入另一台机器的vcpkg安装目录,即可使用。

参考链接

  1. Windows下OsgEarth编译安装过程,by huangwang.
  2. How to remove vcpkg and all libraries installed with vcpkg,by stackoverflow.
  3. [工具]包管理工具Vcpkg 的使用,by 南象.
  4. vs2017 + vcpkg包管理工具,by 爱看书的小沐.
  5. vcpkg安装库的导出和使用,by songjiahao.
  6. C++包管理工具vcpkg,by qqblack.

游戏AI开发方法

发表于 2022-10-19

现有游戏AI基本通过下面两个方式进行实现:行为树(Behavior Tree)与有限状态机(Finite State Machines)。

有限状态机

“状态机”是一种表示状态并控制状态切换的设计模式,常常用于设计某种东西的多个状态。而有限状态机是指游戏内的条件逻辑封装到各个状态类里。例如一个人有站立状态,跑动状态,走路状态,蹲下状态,开火状态等,当一个事件发生,将会触发一个动作,或者执行一次状态的迁移。

行为树

行为树是一棵用于控制 AI 决策行为的、包含了层级节点的树结构。树的最末端——叶子,就是这些 AI 实际上去做事情的命令;连接树叶的树枝,就是各种类型的节点,这些节点决定了 AI 如何从树的顶端根据不同的情况,来沿着不同的路径来到最终的叶子这一过程。

参考链接

  1. 游戏AI入门及AI优化,by 泪的天堂.
  2. AI 行为树的工作原理,by INDIENOVA.
  3. 游戏AI:AI的游戏还是游戏的未来,by Jim.
  4. 游戏AI之初步介绍,by KillerAery.

Vuejs中watch无法监听属性变化的问题

发表于 2022-10-14

vuejs的watch当值第一次绑定的时候,不会执行监听函数。可使用immediate:true解决。比如当父组件向子组件动态传值时,子组件props首次获取到父组件传来的默认值时,也需要执行函数,此时就需要将immediate设为true:

1
2
3
4
5
6
7
8
9
10
11
12
13
new Vue({
el: '#root',
data: {
cityName: ''
},
watch: {
cityName: {
  handler(newName, oldName) {
  // ...   },
  immediate: true
}
}
})

参考链接

  1. vue watch用法 及 immediate和handler,by Li同志103649.

Vuejs多窗口布局方法

发表于 2022-10-10 | 更新于 2022-10-11

Golden Layout 是一个 Javascript 布局管理器,它使您能够在网页中布局组件并通过拖放重新排列它们。

参考链接

  1. 以golden-layout官方网站版本,用vue2.x 开发的多布局管理,by 草莓沾奶豆腐.
  2. vue 启动报错:TypeError: Cannot read property ‘range‘ of null,by 进击de菜鸟.
  3. import实现动态路由时不能使用变量的问题,by 练习一下.
  4. golden layout version 1 doc,by golden-layout.

TailwindCSS学习笔记

发表于 2022-10-04 | 更新于 2024-12-22

在前端网页设计中,美工给的设计稿的宽度和高度是固定的,但显示设备的像素是多变的,因此需要响应式设计。

由于最新的tailwind css使用post css 8版本,vue2框架暂时还不支持,所以需要指定安装postcss7的版本:

1
npm install tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9

参考链接

  1. 如何评价CSS框架TailwindCSS?,by zhihu.
  2. 超简单!怎样在Vue2中使用TailWind Css,by vx_1097122362.
  3. Error: PostCSS plugin tailwindcss requires PostCSS 8,by stackoverflow.
  4. Tailwindcss底层基石的理念,by xfyuan.
  5. TailwindCSS v3.0 正式发布!一大波新特性来袭!,by 一只图雀.
  6. element-ui的响应式布局,by Rackar.
  7. 关于Element UI响应式布局问题,by Huanlis.

OSG_HUD实现方法

发表于 2022-09-26

HUD (Head Up Display, 抬头显示器),相机的一种,好比英雄联盟的小地图。

HUD渲染流程流程

图1 HUD渲染流程流程

参考链接

  1. OSG HUD (渲染屏幕上贴图和写字),by MissXy.
  2. Chapter 7: Viewing the World,by osg3.

OsgEarth开发经验记录

发表于 2022-09-21 | 更新于 2022-11-18

OsgEarth嵌入QT5方法

  • 使用osgQT
  • 使用QOpenGLWidget

OsgEarth数字地球显示变形问题

解决方案请参考解决osgearh程序运行后对象变形的问题。

OsgEarth开发时的一些问题

请参考OpenSceneGraph FAQ。

添加HUD到场景的三种方式

作为viewer的子相机;

作为viewer下根节点的一个子节点;

使用CompositeViewer,添加一个HUDView,使得HUDCamera作为HUDView的主相机。

着色器自定义

参考链接

  1. [osgearth]oe学习的一些经验(别人的),by 南水之源.
  2. osgEarth嵌入qt的实现方式,by codeantenna.
  3. 利用Qt来显示OSG并且设置相机的位置,by wb175208.
  4. Qt加载Osg的新方式osgQOpenGL简介,by sun_xf1.
  5. OsgEarth 2.x升级到3.1注意事项,by 孙高勇.
  6. OSGEARTH教程(三)——搭建MFC桌面端程序框架,by 灰信网.
  7. 解决osgearh程序运行后对象变形的问题,by codeantenna.
  8. osg地球变形的解决方案,by 紫沐衙.
  9. OpenSceneGraph FAQ,by 水流云在.
  10. OSG3.4内置Examples(osghud)解析,by 3wwang.
  11. HUD with perspective,by arnaud houegbelo.
  12. how a hud-camera respond to the resize event,by wu xiaodong.
  13. OSG开发概览,by ShaPherD.
  14. OpenGL ES 多目标渲染(MRT),by 字节流动.
  15. [原][译]关于osgEarth::VirtualProgram说明,by 南水之源.
  16. osgearth学习笔记2:星空效果显示,by 新晋小菜鸟.
上一页1…131415…53下一页

Jack Huang

528 日志
68 标签
© 2025 Jack Huang
由 Hexo 强力驱动
|
主题 — NexT.Muse