metahook吧 关注:749贴子:11,738
  • 6回复贴,共1

[+1s]正确使用实体body属性

只看楼主收藏回复

MDL可以由多个Part组成,例如:

并且每个Part里还可以有多个Sub-model,例如:

我们知道实体有一个body变量可以用来决定需要显示的Sub-model,
典型的例子就是武器模型多手臂,我们把实体的body设为0就会显示1号Sub-model了,
====================================
我们有一个模型,它有2个Part,
这两个Part里分别有2个Sub-model,
假如我们要同时显示“1号Part的2号Sub-model”和“2号Part的1号Sub-model”,
但根据上文介绍,实体只有一个body变量,我们怎么决定每个Part的Sub-model呢?
观察一段绘制模型的代码:(看不懂可以跳过)
+=======================+
index = currententity->curstate.body / pbodypart->base;
index = index % pbodypart->nummodels;
psubmodel = (mstudiomodel_t *)((byte *)pstudiohdr + pbodypart->modelindex) + index;
+=======================+
引擎使用特定的算法与实体的body属性运算得到每个Part需要绘制哪个Sub-model
因此我们只需要推算出body是多少,就可以完成上述需求。
人工计算太过繁琐,所以我编写了一个函数用来推算这个值:
代码:http://git.oschina.net/crsky/codes/9rhgp13ta2cd5bvlsmn0o71
函数返回值直接用作实体body属性即可。


IP属地:广东本楼含有高级字体1楼2017-02-21 07:57回复
    挺6的


    IP属地:广东来自Android客户端2楼2017-02-21 23:44
    回复
      日常


      IP属地:海南3楼2017-02-23 02:37
      收起回复
        IP属地:广东4楼2017-02-23 03:10
        回复
          干啥的


          IP属地:广东来自Android客户端5楼2017-02-24 08:07
          回复