一般游戏引擎做出的游戏,它的动画和功能是怎么映射的?

0 条评论


  • 4

    舔舔型督军魔眼设定型挖坑机器,一直在挖坑,从来没填平

    汪汪仙贝shuang张小汪 等 4人赞同

    视觉表现层和程序判定层是两个东西,如果说画面表现是这样的话

    180b8920644a703f3f6821cd9071c8d6.png

    判定其实是这样的

    0d596d883fc749aeea2936b4d0a09907.png

    3D游戏同理,而且判定来说人物可以近似看做几根圆柱体或者长方体构成的,即

    1.hitbox

    按下按键,触发状态,执行骨骼动画N,模型变形(即肉眼看到的视觉表现,batman出拳),连招即前一个按键进入combo状态N,N状态按下按键即执行N+1骨骼动画并进入状态N+1

    然后回到问题,伤害判定即hitbox(程序判定层)碰撞后,执行对单位X的参数HitPoint的x=x-n,和视觉表现没有任何关系,如果不改变hitbox的情况下修改模型,完全可以做出人棍蝙蝠侠空气手怒抽敌人的画面甚至是“这是替身攻击!”原地不动怒抽敌人的画面


    2.还是骨骼动画

    一般固定演出的过场都是先做好所有动作之后,初始化演员和舞台然后执行过场脚本。

    发布于 2017-06-02 11:18:33 0 条评论


  • 1

    XenoAmessXenoAmess

    alpacanist 赞同

    1.首先动作和功能的映射是如何实现的,比如打了一拳在敌人身上,判定伤害,是怎么判定伤害高低的(例子好像不是很恰当...)?

    拉出来你的伤害函数。拉出来你的伤害函数需要的参数,攻击的攻击力,敌人的防护力,攻击角度之类的。用你的伤害函数算一下。得到伤害。

    2.然后对于交互动画(比如阿卡姆骑士里跳接电路的动作)又是怎么实现的?是做好的一套动画,然后把物件(主角)吸附到应该所处的位置然后再触发这套动画吗?

    没看过这个,不过如果引擎是事件驱动的话你某个条件(玩家触发跳的动作的按键)就去调一个事件,这个事件执行包含的指令就是

    1.暂时锁定玩家操作。(有时候)

    2.暂时取消碰撞体积。(有时候)

    3.展示主角跳的动画

    4.动画结束后把碰撞体积搞到应该有的地方。

    5.恢复玩家操作


    1.主角要去推箱子,那主角和箱子应该算是两个物件...吧?那么推箱子这个动作是一个动画还是两个动画组合在一起的(箱子在动的同时主角做出推或拉的动作)?

    道理上怎么做都可以实现。

    2.如果是后者,那又是怎么判定物件之间的接触点的?

    物件接触点是物理引擎的事情,动画组合在一起是渲染的事情,你要明白一个物体实际上是可以渲染和物理在完全不同的位置的,不是说像现实那样你看着苹果在哪里你摸上去也在哪里。

    3.手感是受益于程序还是动画?

    感觉是动画吧。。

    但是如果卡住了或者你手穿模人家衣服里了或者你手飞了,那就是程序的锅

    发布于 2019-01-24 23:27:27 0 条评论


  • 1

    OwenTsai游戏设计,Web开发

    蝙蝠侠一直没入(我对超级英雄们不感兴趣),还是强答一下。
    游戏引擎中,有个概念叫做物理引擎。物理引擎包含了一整套仿真效果,能够模拟游戏物体在真实世界中的物理作用。
    比如推箱子,箱子本身有一个碰撞体属性,角色也有一个碰撞体属性,当两者发生碰撞时,我们认为主角已经接触到了箱子。当检测到特定按键按下时,角色状态机中推或拉物体的动画将取代行走动画。
    这之后箱子和角色的移动则与动画无关了,箱子会动是因为物理引擎的作用,角色施加了推力,箱子收到摩擦力、重力和推力并且在合外力运动下按照牛顿理论运动,仅此而已。

    更新于 2017-06-01 18:50:53 3 条评论


  • 0

    落花流水我十分缺钱,哪位富婆能领养我

    1、是关于碰撞检测的,多面体求交计算。

    2、关于动画系统,是一个表现层的东西,受逻辑层控制。

    发布于 2019-01-25 17:56:43 0 条评论


  • 0

    whitersnake硬核向,自虐,像素爱好者

    如果想学习经验。关于判定最复杂多变的FTG作为例子最合适。有能力爬墙的话可以去油管搜搜skullgirls开发者labzero的一个有关的介绍。。。。。。。ps:刚发现墙内也有人搬运了一部分。。​http://www.cgjoy.com/thread-184120-1-1.html​​​

    更新于 2017-06-04 00:51:24 0 条评论


  • 0

    汪汪仙贝世界架构爱好者,文化厚重爱好者

    先简答一下,提出一种解决方案

    1. 根据游戏视角远近、操控粒度的不同,这种问题可以有不同的解决方案

    2. 针对带有动作要素的近视角游戏,这种问题有这几种解决步骤:约定、实测、演示

    3. 约定是指,规定好动作的打击点/打击类型,两方的动作均按此约定制作。参考大部分2d格斗游戏,其受击动作已预先分为上部受击、下部受击、空中受击等。

    4. 实测是指,在进行判定的过程中,往往是由物理模型而非动画模型进行计算的。为了简化计算,可能会使用碰撞箱(2d游戏则是碰撞区)来进行拟似的碰撞检测,因为复杂多面体的碰撞检测计算量较大。

    5. 演示是指,进行完碰撞检测之后,判定受击类型之后播放对应的动画即可。


    推箱子的问题,你做成一个动画也可以,做成两个也可以。一般是分开做的。

    接触点的问题,同样涉及到视角远近和操作粒度的问题。例如原始版推箱子,一格一格推,那么只需判定格子是否相邻即可。近视角推箱子,用碰撞箱拟似,规定好碰撞距离(多远开始做出推箱子的动作)即可演示出动作,无需测量实际动画模型距离。

    手感恰恰是操作->反馈的及时程度决定的。也就是说,同时受影响于程序和动画。或许受动画(动作设计、延时)影响更大一些。

    更新于 2017-06-01 21:36:00 0 条评论

  • 登录奶牛关账号即可参与讨论

{{question['follower_count']}} 个玩家关注

...

相关元素

相关游戏

相关问题

好游戏与坏游戏在布怪上有多大的差异?

9人关注 5个回答

游戏为什么会有作弊码?

6人关注 8个回答

你们希望玩到3D版的《汐》吗?

1人关注 2个回答