【问题标题】:How do I accomplish a 2D Isometric Projectile (3D) Rotation Effect如何实现 2D 等距抛射物 (3D) 旋转效果
【发布时间】:2013-01-18 07:12:46
【问题描述】:

我正在开发一款等距 2d 游戏,其中一个方面将是发射射弹的单位。如果弹丸是圆形的,那还不错。只需将弹丸定位在等距空间中。但如果弹丸长得像导弹或箭呢?

我想让它看起来好像在旋转,或者更确切地说是飞过 3d 空间,不一定是面向屏幕的。它不需要完美,因为我不是在 3d 中这样做。我有几个我知道的选择。

A) 我可以根据弧线或更确切地说是弹丸行进的矢量以某种方式缩放图像。我实际上不太确定这个数学是如何工作的,以及它看起来有多糟糕。

B) 我可以在 3D 空间中旋转实际的精灵。这种方法很棘手,因为会有一些角度使精灵对相机不可见。这将是不希望的效果。

C) 我可以为键旋转渲染精灵并显示它们。使用这种方法,我不确定旋转精灵(通常)会如何影响外观。

有没有人知道解决这个问题的好例子或想法?渲染这些精灵的最佳解决方案是什么,以便射弹可以从任何点发射或降落在等轴平面上的任何点。

【问题讨论】:

  • 你在使用弹道的轨迹,对吧?
  • 是的,物体的轨迹将使用 3D 坐标(射弹的高度将添加到 y 值)。我更关心渲染它,以便弓形箭头或导弹看起来正确。

标签: opengl 3d 2d isometric projectile


【解决方案1】:

做一个

While (projctl.traveling==1) {
    SetCurrentAVec(0,projctl);
    While (sprite.animVec.hasNext)
        SpinProjctl(1);
    (projctl.hit | projctl.miss ? projctl.traveling=0 : continue;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多