
骑砍Ⅱ霸主MOD开发教程
文章平均质量分 66
骑砍Ⅱ霸主MOD开发相关知识介绍,B站UP主霸王奉先,QQ1362390473
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
霸王奉先
B站:霸王奉先,QQ:1362390473,加QQ了解更多MOD开发内容
展开
-
骑砍Ⅱ霸主MOD开发(28)-定制化ScriptComponentBehavior- MissionObject
Mission.MeleeHitCallback(近战攻击) & Mission.MissileHitCallback(远程武器攻击)1.继承MissionObject,覆写OnInit,OnPreInit,OnRemove等被重写过的方法。Mission.OnEntityHit(判断是否有MissionObject)MissionObject.OnHit(回调攻击方位,伤害,角度等信息)游戏中可被攻击的游戏实例,例如挡箭板,城门。2.实现自定义OnHit回调。原创 2025-04-03 15:11:49 · 44 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(27)-定制化GameEntity-MissionWeapon
游戏中近战武器,石头,油罐等在战场上等与人物Agent绑定的GameEntity即为MissionWeapon。当武器对应Item物品配置有多个WeaponComponent时,战场上按下X键可触发形态切换.战场上按下G键可将武器进行丢弃,丢弃后会在场景中生成SpawnedGameEntity游戏实例。武器的使用,挥舞,丢弃,切换形态均为定制化GameEntity实现。双手长枪与骑枪之间相互切换。2.物理碰撞检测结果处理。飞斧与单手斧之间相互切换。1.物理碰撞检测回调。原创 2025-03-09 15:15:09 · 54 阅读 · 0 评论 -
骑砍2霸主MOD开发(26)-Mono脚本系统
点击确定后,RGL引擎根据Platform平台(Steam/EPIC)拉起WOTS应用主进程,完成MONO运行时环境创建,系统资源加载.RGL中实现的C++对象例如Agent,GameEntity,数组,链表经过映射后转变为C#中NativeObject.通过MonoPInvokeCallback注解,Mono会扫描这些注解映射的方法,完成C++接口的映射.RGL引擎完成运行时环境加载时产生的回调,例如C#实例的GC,创建,销毁.原创 2024-12-25 17:47:44 · 276 阅读 · 0 评论 -
骑砍2霸主MOD开发(25)-顶点动画
3.实现自定义顶点动画播放ScriptComponentBehavior(VertexAnimator)1.创建MorphAnimation对应静态资源morph_animation.tpac。1.创建MetaMesh顶点动画,生成静态顶点动画资源meta_mesh.tpac。2.获取MetaMesh(从静态资源中获取/从GameEntity中获取)2.Agent设置对应MorphAnimation。定制化顶点动画用于人物Agent的面部表情.原创 2024-11-24 20:24:21 · 113 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(24)-定制化GameEntity-Missile
游戏中弩箭/弓箭/飞石/炮弹等在场景中沿抛物线飞行实例GameEntity即为Missile.Missile的发射,飞行,物理碰撞等都是定制化GameEntity实现。Missile的飞行抛物线是二次曲线,Missile相对于发射点的X/Y轴偏移与角度关系如下。不同Missile碰撞后可能会出现爆炸(燃油罐),附着(弩矢),消失(落水)等。抛物线方程y = x/tan(α) + k * x^2/cos(α)^2。2.根据落地点相对发射点相对坐标(X,Y)和α确定常量k。<4.飞行时粒子系统(火箭,飞石)原创 2024-10-08 11:20:18 · 318 阅读 · 0 评论 -
骑砍2霸主MOD开发(23)-定制化GameEntity-Agent
根据require_left_hand_usage_root_set="hand_shield"和左手武器的item_usage共同确定当前骨骼动画。当前为no_weapon,状态,取item_usage_sets.xml中id="no_weapon"中动画。当前为no_weapon,状态,取item_usage_sets.xml中id="no_weapon"中动画。<3.根据Agent对应Monster获取实际骨骼动画(ModuleData/monster_usage_sets.xml)原创 2024-09-29 13:27:14 · 218 阅读 · 0 评论 -
骑砍2霸主MOD开发(22)-使用TRFExporter&Blender导出TRF文件
【代码】骑砍2霸主MOD开发(22)-使用TRFExporter&Blender导出TRF文件。原创 2024-09-11 04:03:41 · 339 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(21)-定制化AgentComponent- MissionMainAgentInteractionComponent
>Agent.HandleStartUsingAction //使用投石车。SpawnedItemEntity //捡起&丢弃已有的武器,捡起弩矢。UsableMachine //弩炮,投石车等武器使用。Agent //玩家上马&下马,与领主对话。通过玩家位置&摄像机位置发射射线,获取命中游戏实例,实现交互机制.->Agent.OnUse //上马&下马。<4.与可使用GameEntity交互:使用冲车,投石车,弩炮。<1.与Agent交互:上马/下马,与人对话等功能。原创 2024-08-28 08:34:38 · 224 阅读 · 0 评论 -
骑砍2霸主MOD开发(20)-系统资源Resource
预制Resource被存储至AssetPackage,Asset文件夹下的TPAC文件中.每一个Asset对应一个Resource,可以是mesh,material,physics_shape,texture.Asset=GUID(唯一标识)+ResourceName(名称)+ResourceData(mesh,texture数据)<2.动态Resource:随业务动态变化的网格,例如边界墙,毒圈,自定义轨道等Mesh.2.动态获取:Texture.CreateFromByteArray()原创 2024-08-15 09:50:54 · 371 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(19)-定制化Shader
modding-kit中导入decal_siege_tower贴花材质。<2.创建Decal-GameEntityComponent。<3.添加Decal贴花至GameEntity中。<1.创建Decal贴花material。<1.设置GameEntity轮廓。<2.激活GameEntity轮廓。原创 2024-08-15 09:31:09 · 315 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(18)-存档
在类上添加SaveableProperty注解,声明字段的saveID,例如要将学生Student的年龄Age和身高Height进行存储。构造GameData:GameData.CreateFrom(byte[][])通过将游戏中Party状态,坐标等字段进行序列化后保存至sav文件,即游戏存档。写入sav文件:SaveContext.save()原创 2024-08-08 17:14:44 · 686 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(17)-使用XSLT文件合并覆写XML文件
k</test> <test id = '78'>k</test>开发MOD:NativeTest/ModuleData/a.xml <test id = '12'>k</test> <test id = '78'>k原创 2024-07-27 11:02:41 · 636 阅读 · 0 评论 -
骑砍2霸主MOD开发(16)-FaceKey&BannerKey
2.ModuleData\lords.xml中Character对应的BodyProperties中的key属性替换,实现对应英雄的皮肤替换。原创 2024-07-24 23:47:48 · 1136 阅读 · 0 评论 -
骑砍2霸主MOD开发(15)-游戏AI系统
获取Formation所有Agent成员:Formation.Arrangement.GetAllUnits()原创 2024-07-24 22:57:18 · 490 阅读 · 0 评论 -
骑砍2霸主MOD开发(14)-多人联机模式开发环境搭建
Token文件路径:C:\Users\taohu\Documents\Mount and Blade II Bannerlord\Tokens。发起Http请求:HttpClient.PostAsync(string requestUri, HttpContent content)发起TCP连接请求:TcpSocket.Connect(string address, int port)UDP收包:UdpClient.receive()UDP发包:UdpClient.send()Port:专用服务器端口号。原创 2024-07-22 09:54:30 · 650 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(13)-物理系统
2.2.2 远程武器Missile与其他GameEntity物理碰撞(弩矢,箭矢的附着,反弹)Agent.Monster:Agent血量,重量,骨骼特性参数(Ragdoll特性,Item绑骨)BodyFlag:定制化物理标识,static/dynamic/kinematic,梯子,双面墙等。根据RigidBody中物理参数计算实际物体物理碰撞反应参数,反弹距离,反弹高度等。根据BodyFlag处理碰撞反应,穿模,坐标同步,反弹等物理反应机制。自定义物理形体边界,根据相对坐标进行碰撞,位置同步等操作。原创 2024-06-18 00:18:59 · 546 阅读 · 0 评论 -
骑砍2霸主MOD开发(12)-常用本体功能C#-Harmony替换
【代码】骑砍2霸主MOD开发(12)-常用本体功能C#-Harmony替换。原创 2024-06-13 05:41:08 · 440 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(11)-可编程渲染管线Shader编程
ModdingKit中File->CreatePackage(选择compile shader复选框),在Mod目录下生成Shaders文件夹,\MOD\Shaders\D3D11\存放对应的sack文件(shader缓存文件)<1.Shader缓存路径:C:\ProgramData\Mount and Blade II Bannerlord\Shaders。可编程渲染管线:定制化GPU渲染算法,需要提交Shader至GPU中,GPU根据定制化算法得到2D屏幕图像。重启电脑,刷新显卡,确保禁用着色器缓存。原创 2025-01-18 03:25:46 · 525 阅读 · 0 评论 -
骑砍2霸主MOD开发(10)-游戏实例GameEntity
梯子,椅子,攻城云梯,战车,武器,人物等定义为GameEntity,一个GameEntity若干子GameEntiy或Component组成.例如攻城云梯的轮子,梯子,支架等都是GameEntity或Component组成.引擎在渲染每个GameEntity时,会在每一帧进行位置同步,物理碰撞检测,时序同步等,通过注册该ScriptComponentBehavior实现事件通知.例如物理碰撞事件,实例化事件,移除事件.物理形体通常由碰撞体,刚体组成,使得这个物体具有一定的物理属性。原创 2024-06-07 08:52:48 · 707 阅读 · 0 评论 -
骑砍2霸主MOD开发(9)-游戏大地图(MapScene)
Settlement类型由town,castle,castle_village,village,hideout五种类型组成,通过对GameEntity中添加tag实现类型的加载.大地图中军团(MobileParty)的移动速度,AI寻路,食物消耗等均和当前MobileParty所处地形有关,地形统一被定义为TerrainType,类型有森林,荒漠等.MapScene.Read("Main_map", ref sceneInitializationData, "") 装载Main_map大地图。原创 2024-05-30 09:07:49 · 1279 阅读 · 0 评论 -
骑砍2霸主MOD开发(8)-骨骼动画
1.系统资产TPAC文件中有两种类型的资源,骨骼动画skel_animation和动画切片anim_clip。针对不同骨架(人/动物/房子)等具有不同的动画切片,将每种骨架所具备的动画切片汇总为一个ActionSet。原创 2024-04-24 10:31:37 · 790 阅读 · 0 评论 -
骑砍2霸主MOD开发(7)-世界坐标系&局部坐标系&屏幕坐标系&Camera
MatrixFrame frame = Vec3 orign(坐标X,Y,Z) + Mat3 rotation(旋转角度X,Y,Z);绝对坐标获取:GameEntity.getGlobalFrame()设置相对坐标:GameEntity,setLocalFrame()相对坐标获取: GameEntity.getFrame()3.Frame获取沿X/Y/Z轴旋转角度。4.Frame设置沿X/Y/Z轴旋转角度。1.Frame沿X/Y/Z轴移动。2.Frame沿X/Y/Z轴旋转。2.相对坐标→绝对坐标。原创 2024-04-24 10:12:36 · 445 阅读 · 0 评论 -
骑砍2霸主MOD开发(6)-使用C#-Harmony修改本体游戏逻辑
2.实现Prefix,Postfix前置后置插桩,实现对本体代码的修改,例如游戏菜单的加载调用前插入一个对话框MsgBox。原创 2024-04-21 17:58:44 · 1215 阅读 · 0 评论 -
骑砍Ⅱ霸主MOD开发(5)-2D界面
按钮,弹框等的背景图片即为Sprite,引擎通过2D引擎将Sprite中的图片转化为Texture设置到2D控件中.有的Sprite是常驻内存,有些是按需加载.2D界面 = Layer1(GauntletUI) + Layer2(GameMenu定制) + Layer3(Dialog定制)Movie(HTML静态页面) = Widget1(下拉框控件) + Widget2(图形控件)Widget(控件) = Sprite(控件外观形态) + Brush(控件CSS样式) + 参数(偏移量/透明度)原创 2024-04-19 16:26:17 · 750 阅读 · 0 评论 -
骑砍2霸主MOD开发(4)-游戏场景Scene
GameEntity = 出生点(sp_player) + 场景物(scene_prop) + 地图边界(border_soft) + 其他。定制化参数 = 水平面(water_level) + 路径(Path) + 战争迷雾(fog_start_distance)游戏场景(scene) = 地形系统(Terrain) + 天气系统(Atomsphere) + 游戏实例(GameEntity)+ 场景层级(Scene_level)+ 其他。原创 2024-04-19 16:06:07 · 910 阅读 · 0 评论 -
骑砍2霸主MOD开发(3)-音乐&声音&语音&视频&语言&字体
战役开头视频:Modules\SandBox\Videos\CampaignIntro\campaign_intro_cs_1080p.mp4。循环播放的3D声音,燃烧的房子/火把: sound_category="mission_ambient_bed"<1.在MOD/ModuleData目录下新增project.mbproj,voice_definitions.xml配置文件.2.在MOD/ModuleData目录下新增project.mbproj,module_sounds.xml配置文件.原创 2024-04-15 11:28:40 · 667 阅读 · 0 评论 -
骑砍2霸主MOD开发(2)-基础开发环境搭建
进入酒馆/野外战斗/进入城堡等发生的AgentSpawn,AgentRemove,BeforeMissionStart等统称为MissionBehavior。原创 2024-04-09 19:48:04 · 1223 阅读 · 2 评论 -
骑砍2霸主MOD开发(1)-RGL配置&RGL控制台&RGL日志
engine_config.txt对应配置项值通过TaleWorlds.Engine.IConfig获取。cheat_mode = 0 → cheat_mode = 1 开启作弊模式,大地图传送,秒杀。通过C#-DllImport将RGL中的接口映射为C#接口,完成RGL的拉起和C#运行时环境的初始化.方法一:进入游戏后Alt+~组合键呼出RGL Command控制台。获取RGL进程ID,杀死&启动进程,设备&内存信息。RGL进程异常捕获,消息断言,消息弹框等功能。<2.控制台指令回调事件。原创 2024-01-19 03:29:46 · 4170 阅读 · 0 评论