欢迎光临散文网 会员登陆 & 注册

Minecraft实体运动相关研究与应用

2021-07-23 15:41 作者:lovexyn0827  | 我要投稿

实体运动看起来很简单,但是真正了解其具体机制的并不多。就连wiki上对实体运动的专门论述也只有一点,不严谨甚至还不完全正确,就比如玩家的阻力数据只在Y轴上较为准确,其他轴则有很大差距。另外,爆炸、活塞推动等加速方式的具体数据和实体移动过程细节并不普及,网上部分实体运动公式定义不清晰,对实体运动理论的系统论述缺失,这就是我写这篇报告的原因。

本文假定大家已经对下列内容有一定认识:

  • Minecraft的基础游戏机制,如怪物会掉落物品,活塞会推动实体等。

  • Minecraft中一些基础名词,如玩家、方块、实体、生物、粘液块、维度和爆炸等。

  • Minecraft中一些专业概念,如区块、游戏刻、服务端和坐标等。

  • 高中必修阶段及以前的数学概念。

  • 高中必修阶段及以前的物理概念。

  • 最好有一定Java或类似的编程语言基础,但并非必须。

文章内容大概如下安排:

  • 第二节给出一些基本概念,是阅读下文的基础

  • 第三节给出用于描述实体在理想运动状态(只受固定加速度和阻力系数阻力作用)下的运动情况的一些常用公式及其应用(包括刻数的判定,以及三个以上运算阶段的实体的处理方法等内容),强烈建议看完

  • 第四节描述了Minecraft中存在的两大实体移动(就是坐标和碰撞箱移动的过程)方式,个人认为可以区分就行

  • 第五节说明了一些外部因素对实体的运动的影响,大家可以按需阅读或作为一个参考来用

  • 第六节说明了LivingEntity(玩家生物盔甲架)的运动机制,说明了AI控制速度的基本原理,介绍了状态效果等因素对运动的影响,最后简要说明了鞘翅飞行机制

  • 第七节从创建、运算和影响三方面介绍了十类常见实体的运动特点,也是一个参考。

  • 第八节向大家展示了实体运动的一些实际应用,可以按需阅读。

由于专栏篇幅限制,这里无法完整地发布本文,只能给出目录。

文章及配套存档下载地址:https://wwz.lanzoui.com/b02iez40j,密码5a3e

文中提到的临时编写的辅助Mod可在我的Github主页http://github.com/lovexyn0827下载。

目前本文在https://github.com/lovexyn0827/Discovering-Minecraft进行维护。

11月13日之前下载过文章的如有需要建议重新下载一份,原来的文章中存在大量错误,目前其中绝大部分已经修正。如果还有未发现的错误欢迎反馈。

由于编辑次数限制,以后非必要不再修改专栏内容.。但是,目前MCBBS的修改似乎不受限,所以可以在MCBBS上对应的帖子上(https://www.mcbbs.net/thread-1230065-1-1.html)查看最新内容。

目录

1     绪论

    1.1         研究背景与意义

    1.2         本文主要研究思路

    1.3         本文所需知识基础

    1.4         内容概要

    1.5         一些特殊约定

2     实体运动基础

    2.1         实体运动基本属性及设定

    2.2         实体运算位置及实体间运算顺序

    2.3         Minecraft实体分类

    2.4         Entity类定义的实体模型

    2.5         误差和一个重要Bug

3     实体自由运动相关公式推导

    3.1         符号定义及公式推导

    3.2         公式的直接及拓展应用

4     实体移动过程及碰撞机制

    4.1         基于Entity.move()方法

    4.2         基于raycast的弹射物自主移动

    4.3         两种移动过程的对比

5     外界因素对运动的影响

    5.1         蛛网和浆果丛的减速作用

    5.2         粘液块和床的回弹

    5.3         蜂蜜块和灵魂沙的减速作用

    5.4         滑度机制

    5.5         气泡柱的变速作用

    5.6         其它特殊方块变速举例

    5.7         流体的变速作用

    5.8         活塞的推动和变速作用

    5.9         潜影盒和潜影贝的推动作用

    5.10       实体挤压(推动)

    5.11       骑乘

    5.12       鱼竿浮标的拉动

    5.13       击退

    5.14       方块对某些实体的推出作用

    5.15       爆炸的变速作用

    5.16       区块行为对运动的影响

    5.17       TP/折跃门传送

    5.18       跨维度运动

    5.19       拴绳机制

6     LivingEntity运动机制

    6.1         LivingEntity的自由运动

    6.2         AI及属性对运动的影响

    6.3         鞘翅飞行

7     几类具体实体运动分析

    7.1         TNT

    7.2         下落的方块

    7.3         物品

    7.4         经验球

    7.5         船

    7.6         矿车

    7.7         箭矢

    7.8         雪球

    7.9         恶魂火球

    7.10       玩家

8     实体运动应用举例

    8.1         改造一种TNT大炮

    8.2         科学地使用弹射物

        8.2.1   珍珠投掷技术

        8.2.2   珍珠炮

        8.2.3   杀凋大炮

    8.3         解释一些奇葩现象

参考文献

附录A常见实体运动属性

附录B完整公式

附录C辅助性工具

附录D主要符号及单位

附录E 定义索引

致谢

 



Minecraft实体运动相关研究与应用的评论 (共 条)

分享到微博请遵守国家法律