- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 Goldsrc 地图 BSP 文件格式规范
目录介绍ConstantsBSP 文件头实体块(LUMP_ENTITIES)平面块(LUMP_PLANES)纹理块(LUMP_TEXTURES)顶点块(LUMP_VERTICES)可视块(LUMP_VISIBILITY)节点块 (LUMP_NODES)介绍许多游戏的地图文件后缀都是 BSP,是因为使用了一种场景管理技术,叫“二叉空间分割”。但不同的游戏不同的版本的BSP文件规范都是不一样的,下面介绍 Goldsrc 的 BSP 文件格式规范。Goldsrc 使用的 BSP 版本号为 30.NOTE:
2021-04-01 10:59:28
877
1
原创 异步物理更新
为了平衡负载,减轻主线程压力,对于一些表现层的物理模拟我们放在另一个线程异步更新。有人说,让GPU干物理的活不行吗?像Physx一样。实话说,现在的游戏GPU的负担已经很重了,放在GPU运算必定导致FPS下降。而CPU的负载一般集中在一个核心,因为游戏系统的特殊性,各个模块的依赖比较紧密,每一步都需要上一步的结果,所以不容易做多线程。但是对于某些不参与游戏逻辑的效果,完全是可以异步更新的,某些粒子效果啊,视觉的物理效果啊…如何实现图片来源:https://www.gameres.com/484680.
2021-02-26 13:21:08
217
原创 HalfLife Ragdoll Dev Notes
Custom Sequence EventInit PoseInit pose before first setupBonePhysicallyset “need init flag” on the entity.check this flag before setupBonePhysically流程EngineLoadProgramint DLLEXPORT Initialize( cl_enginefunc_t *pEnginefuncs, int iVersion ){EV_Ho
2021-02-17 11:52:00
158
原创 Bullet 笔记
这里记载研究bullet physics engine 的一些结论。首先得知道 Bullet 使用的是右手坐标系ConstraintHinge ConstraintbodyA 是活动的bodyB 是轴SetHighLimit 是从转轴看下去旋转弧度允许的最大值SetLowLimit 反之,为负数。ConeTwistTwist span 为X轴可扭转的范围,如果设为 n,实际上活动范围为 2n,因为顺时针逆时针都能扭转 n。...
2021-02-17 11:51:45
350
原创 GoldsrcPhysics 快速入门
快速入门GoldsrcPhysics 是一个为基于goldsrc引擎构建的游戏提供物理效果的客户端物理系统,HLMod的开发者可以仅使用几个API就可以获得由GoldsrcPhysics提供的布娃娃效果。当前版本仅实现了布娃娃。这时候有人要问了,既然cs1.6也是Half Life 1 的一个mod,那么CS1.6可以拥有布娃娃吗?这是有可能的,虽然我们没有cs的源码,但是使用metahook是可以对cs动手脚的。通过hook一些函数改成自己的实现,调用这套系统提供的api即可。如何工作在您的
2020-10-02 23:42:42
978
原创 Goldsrc Friends
Managed ImplementSDKSharpLife GameThis contains the C# based version of the Half-Life 1 SDKSharpLife WrapperThis contains the C++ and C# wrapper code to allow C# based mods to interact with the native engine.l0m-dev/CS16GOThis is the replacement for
2020-09-28 22:56:39
238
原创 2020-08-30
exports api via extern “C”Entity Clip实体包围盒在视锥外会被剔除Drawing1.DrawLine //set rendermode so that color4ub could work gEngfuncs.pTriAPI->RenderMode(kRenderNormal); gEngfuncs.pTriAPI->Brightness(1.0); gEngfuncs.pTriAPI->Begin(TRI_LINES); gEngfu
2020-09-21 18:35:27
217
原创 native call managed method
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、为何导出二、导出的几个方法1.COM Interop2.使用第三方Dllexport库3.使用CLRHost4.CoreRT5.等待.Net5总结前言导出静态方法给非托管程序使用。一、为何导出非托管应用需要托管程序的强大功能二、导出的几个方法1.COM Interop此方法过于繁琐,略。2.使用第三方Dllexport库此方法需要指定32位或64位构建,不能使用anycpu,不够清真,略。3.使用CL
2020-09-20 16:36:47
182
原创 Rotation
Unity 控制物体旋转、朝向的一些方法1,transform. Lookat( )transform.Lookat(target.position);1立即看向target的位置, 很生硬.2,Quaternion.LookRotation( )transform.rotation = transform.LookRotation(target.position - self.position);1也是,立即看向target的位置。3,Quaternion.RotateTowards(
2020-08-24 18:59:28
518
原创 Goldsrc MathLib
reference reposFWGS/regameliterpasta42/csgosharplifexashMatrixvoid AngleQuaternion(float* angles, float* quaternion){ float sy, cy, sp_, cp; float angle; float sr, cr; float ftmp0; float ftmp1; float ftmp2; angle = angles[ROLL] * 0.5; sy =
2020-08-12 20:42:20
163
原创 Goldsrc Ragdoll System Functionalities
Precaching AssetsTo provide a smooth loading of assets for a typical game session, it is important that the engine does as much work as possible to load those assets before the session begins. By doing this, the player’s experience is not disturbed by int
2020-08-11 14:37:00
183
原创 goldsrc task
14 -15 -910 -11 -6-11 12 7Inverse:5 3 94 1 61 3 414 -15 -910 -11 -6-11 12 8Inverse3.2 -2.4 1.82.8 -2.6 1.20.2 0.6 0.814 -15 -910 -11 -6-11 12 1Inverse2.65217 -4.04348 -0.39132.43478 -3.69565 -0.26087-0.04348 -0.13043 -0.17391//
2020-08-11 14:36:41
121
原创 build physics for goldsrc game objects
TODO1.edit collision shape, add constraints2.export data (there are 2 ways):export .bullet file directlyexport text based custom data file, for good compatibility.BeawareFile Structure1.header2.collision shapes, meshs, compound shapes (shared.
2020-08-07 00:09:58
214
原创 Rigidbody transform bone transform mapping
创建碰撞体时,碰撞体的位置有两种设置方法:1.rigidbody直接使用骨骼的transform,collision shape使用compound shape,compound shape添加child shape ,child shape 的位置是以rigidbody的相对位置。2.使用primitive shape,自己计算rigid body 相对骨骼的偏移量。...
2020-07-25 18:48:52
171
原创 BMOD-Physics Module for goldsrc
Module: BMOD - Extended Physics ModuleBMOD cource on GitHub
2020-07-25 18:18:12
164
原创 Create Ragdoll System In Goldsrc
简介goldsrc引擎没有内置一般意义上的物理系统(Bullet、PhysX),人物的死亡动作都是预制的骨骼动画,不能对地形做出逼真的倒地动作。要实现布娃娃系统,需要物理引擎的支持。而goldsrc引擎是不开源的,我们并不能在引擎做手脚,怎么办呢?好在引擎会通过调用客户端的ModelRender来进行一些自定义的渲染,使得我们可以在这里实现对模型骨骼的控制。这样实现的布娃娃也可以搬到cs1.6,我们需要hook一些关键的函数自己实现一遍即可。附加说明这不是成套的项目代码,你需要适配你自己的模型。现在的
2020-07-23 23:23:10
372
原创 消隐算法(一)——Z-buffer算法
消隐算法(一)——Z-buffer算法https://www.cnblogs.com/Penglimei/p/9708052.html
2020-04-06 11:51:18
1091
原创 BSP和OCTREE场景管理对比
BSP和OCTREE对比碰撞检测比较容易bsp平均性能较好空间放一个与各轴均成45度的立方体,各自构造一棵bsp树和一棵八叉树,无论是树的深度还是广度都是bsp占优bsp适合做室内封闭场景, octree 适合做室外开放性场景.octtree的空间直通性比bsp的效率高的,它有八个连接方向,直接找到下一个地方。而bsp不能。从某一个位置开始,到相邻的位置,也许要跨越bsp树的很多层次才...
2020-04-06 11:48:04
440
转载 优快云 markdown教程
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2020-03-22 21:16:51
122
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人