metahook吧 关注:756贴子:11,753

关于goldsrc实现布娃娃

取消只看楼主收藏回复

由于不了解模型在游戏中缓存的结构只能先试着直接对模型下手了

视频:http://bmob-cdn-23299.b0.upaiyun.com/2019/01/24/861cde38401ba769805c103befd91b5a.mp4


IP属地:湖北1楼2019-01-24 21:57回复
    该楼层疑似违规已被系统折叠 查看此楼


    IP属地:湖北5楼2019-02-06 13:45
    回复(1)
      该楼层疑似违规已被系统折叠 查看此楼


      IP属地:湖北11楼2019-02-15 12:40
      回复(1)



        现在有两个问题:
        1.bullet引擎的rigidbody只有WorldTransform矩阵,我想计算一个rigidbody在另一个rigidbody的相对位置和旋转,
        也就是说两个关于世界坐标系的复合矩阵可以计算出相对坐标系的变换矩阵吗?
        2.因为goldsrc中的骨骼的旋转是用欧拉角表示的,现在不知道旋转顺序是怎样的(听说是zxy?)。不过这个之后可以测试出来。
        可以直接抛代码吗?要是能直接计算出个欧拉角旋转更好,谢谢啦
        这是bullet引擎里的刚体

        ps:上边半条命的动作是我扭出来的,拿来钓鱼


        IP属地:湖北13楼2019-03-13 15:12
        回复
          这是纯客户端的,不涉及游戏逻辑。
          还有我想在客户端绘制一些box测试物理引擎,可以教教我怎么用TriAPI吗
          最好直接贴代码


          IP属地:湖北14楼2019-03-13 15:18
          回复


            bsp碰撞出炉


            IP属地:湖北15楼2019-03-15 10:35
            回复


              func_buyzone 和func_bomb_target 也被添加了碰撞体
              其实会动的门也不能添加collider


              IP属地:湖北17楼2019-03-15 11:45
              回复


                这回把不可见的固体移除了,大家猜得出这是哪个地图吗


                IP属地:湖北18楼2019-03-15 18:30
                收起回复


                  这里就不明白了为什么我的立方体绘制不出来。还有我现在代码都不能命中断点了,所以不方便调试。


                  IP属地:湖北21楼2019-03-28 12:59
                  回复
                    问题解决,vec3_t作为形参的地方换成float*就行。


                    IP属地:湖北22楼2019-03-28 16:34
                    回复
                      应该不会弃坑,吧


                      IP属地:湖北来自Android客户端28楼2019-05-30 00:53
                      收起回复
                        进度过半


                        IP属地:湖北34楼2020-09-06 10:54
                        收起回复
                          public static void Main()
                          {
                          InitEverything();
                          while(!Exit)
                          {
                          ProcessInput();
                          #region physics update
                          Simulating();
                          Render();//physics world debug draw
                          #endregion
                          RenderEveryEntityOnList()//goldsrc render
                          {
                          SetupBones()
                          {
                          #region physics setup bones
                          if(currentEntity.isPlayer||isDead)
                          SetupBonesPhysically();//call physics module set the player pose
                          #endregion
                          };
                          DrawMeshs();
                          ...
                          };
                          }
                          }
                          这个是简化版的大致流程,大佬们,我有两个api
                          1.PhysicsUpdate(deltaTime);
                          2.LoadMapCollider(mapName);
                          应该放在客户端的哪段代码好呢?我打算只修改客户端部分,不知道能不能行。物理更新应该刚好放在渲染之前,加载地图碰撞体应该放在ChangeLevel的位置。


                          IP属地:湖北35楼2020-09-07 11:04
                          收起回复



                            实现了DebugDraw,debug更加地方便了。如你们所见,碰撞体目前是用算法生成的,只是大概吻合模型。还有关节的约束使用的是点对点约束,旋转是完全自由的,所以会摆出不太合理的姿势。现在碰撞体还不能通过文件加载,要实现更吻合模型的碰撞体的话,需要给blender或max等模型制作工具写插件,还需要有人给每个模型制作碰撞体,通过插件导出。这部分留个坑吧,工作量有点大。


                            IP属地:湖北37楼2020-09-12 19:11
                            回复
                              还有这套系统是C#写的,我会提供C 的sdk给goldsrc mod开发者用。使用metahook的话也可以让cs拥有这套系统。


                              IP属地:湖北38楼2020-09-12 19:25
                              回复