lovexyn0827
本帖最后由 lovexyn0827 于 2022-4-23 18:14 编辑

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

本文假定大家已经对下列内容有一定认识:
l  Minecraft的基础游戏机制,如怪物会掉落物品,活塞会推动实体等。
l  Minecraft中一些基础名词,如玩家、方块、实体、生物、粘液块、坐标和爆炸等。
l  Minecraft中一些专业概念,如区块、游戏刻、服务端和维度等。
l  高中必修阶段及以前的数学概念。
l  高中必修阶段及以前的物理概念。
文章内容大概如下安排:
l  第二节给出一些基本概念,是阅读下文的基础
l  第三节给出用于描述实体在理想运动状态(只受固定加速度和阻力系数阻力作用)下的运动情况的一些常用公式及其应用(包括刻数的判定,以及三个以上运算阶段的实体的处理方法等内容),强烈建议看完
l  第四节描述了Minecraft中存在的两大实体移动(就是坐标和碰撞箱移动的过程)方式,个人认为可以区分就行
l  第五节说明了一些外部因素对实体的运动的影响,大家可以按需阅读或作为一个参考来用
l  第六节说明了LivingEntity(玩家生物盔甲架)的运动机制,说明了AI控制速度的基本原理,介绍了状态效果等因素对运动的影响,最后简要说明了鞘翅飞行机制
l  第七节从创建、运算和影响三方面介绍了十类常见实体的运动特点,也是一个参考。
l  第八节向大家展示了实体运动的一些实际应用,可以按需阅读。

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

PDF及配套存档(1.16.4):https://wwn.lanzouh.com/b02iez40j    密码:5a3e

11月13日之前下载过文章的如有需要建议重新下载一份,原来的文章中存在大量错误,目前其中绝大部分已经修正。如果还有未发现的错误欢迎反馈。 作者:lovexyn0827 https://www.bilibili.com/read/cv12289098?spm_id_from=333.999.0.0 出处:bilibili
文中提到的临时编写的辅助Mod可在我的Github主页http://github.com/lovexyn0827下载。

本文的Github地址:https://github.com/lovexyn0827/Discovering-Minecraft/blob/master/Minecraft%E5%AE%9E%E4%BD%93%E8%BF%90%E5%8A%A8%E7%A0%94%E7%A9%B6%E4%B8%8E%E5%BA%94%E7%94%A8/Minecraft%E5%AE%9E%E4%BD%93%E8%BF%90%E5%8A%A8%E7%9B%B8%E5%85%B3%E7%A0%94%E7%A9%B6%E4%B8%8E%E5%BA%94%E7%94%A8%E4%BF%AE%E6%AD%A3%E7%89%8820211128.md

目录
1.  研究背景及文章结构
2.  实体运动基础
    ​2.1.    实体运动基本属性及设定
    ​2.2.    实体运算位置及实体间运算顺序
    ​2.3.    Minecraft实体分类
    ​2.4.    Entity类定义的实体模型
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.    LivingEntyity的自由运动
    ​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 定义索引


[size=13.006px]


Changelog

2021.07.23:
初稿发布

2021.08.01:
由B站用户粗缯大布裹生涯帮助优化本文排版
修正了关于绊线勾的触发条件的一处严重错误修正了一些错字、数据错误等细节性错误
对36号方块碰撞箱进行了补充
5.15节补充插图
8.2.2节增补了关于TNT复制阵列和珍珠矫正的一些信息
8.3节增补了一条
对参考文献进行了排序

2021.11.13:
修复了数百处语言错误(错字、病句)
修复了大约一百处的技术性错误和有误导性的录入错误
对浮点数误差进行了简要说明
多级弹射相关的研究结果
补充了部分1.17的新改动
对MC-73844等Bug进行了说明
增加了定义索引
尝试了优化文章的通俗性(不知道是否有效)
统一了一些名词

2021.11.28
增补了拴绳机制
对AI加速进行了一些补充
2022.04.20

将文章转化为Markdown格式并托管到Github
补充了一种更接**射的珍珠矫正
补充了关于基于Entity.move()方法的移动中碰撞检查容错机制的一些历史信息
修正了个别错别字








卡狗
本帖最后由 Kascade 于 2021-7-23 15:50 编辑






话说回来,pdf 的图片压缩过头了,你看看发布设置那里有没有弄对……



luckyxing
看不懂,但想不到会有这么多的知识

鱼宝放心飞
实体的运动是一个多变量问题。
所以我认为只要弄清楚每个变量对实体运动的影响就行了。
至于叠加后的结果,我认为让需要的人自己去算比较合适。
还有,玩家是一个比较特殊的实体。

唯记你温柔
看不懂,但想不到会有这么多的知识

Xue_Linger
感谢版主!呜呜呜我们服腐竹搞了个伪和平是真的烦,什么刷怪农场都用不了

⊙u⊙
能不能把pdf丢到github方便我这样的懒人?

lovexyn0827
Kascade 发表于 2021-7-23 15:47
话说回来,pdf 的图片压缩过头了,你看看发布设置那里有没有弄对……

主要是哪里看不懂,以后会试着修改的。PDF的压缩确实太过了,可以先看着DOC版本,PDF等报告修改的差不多了会换一下。

lovexyn0827
⊙u⊙ 发表于 2021-7-24 04:44
能不能把pdf丢到github方便我这样的懒人?

现在网络不大稳定,等网好了会传上去。不过现在还是建议看DOC,刚才有人说PDF不大清晰。

lovexyn0827
唯记你温柔 发表于 2021-7-23 18:25
**** 作者被禁止或删除 内容自动屏蔽 ****

具体哪里看不懂可以说一下吗?

beibeituo0
太厉害了,先下载下来慢慢看~~

hh@hh
tql        

芯恋WOW
大佬赛高

洛之阡陌
大受震撼

全民作死
pdf图片确实糊啊

lovexyn0827

可以先看着DOC版,PDF暂未找到合适工具转换。
文中有些内容有待被修改或补充,B站上也有人在帮忙重新排版,大概以后每周会更新一下内容。

小僵尸卐
感谢分享

星辰依惜
MCBBS有你更精彩

星辰依惜
66666666666666

路人君哦
牛逼啊真的。可以作为普通运动学入门教材

Silend_yml
顶--------

Mikusamam
您好,我想问问鱿鱼和发光鱿鱼的运动和其它生物(指鳕鱼,热带鱼,河豚,溺尸,守卫者等水生物)有什么区别么?

Mikusamam
Mikusamam 发表于 2021-8-1 12:11
您好,我想问问鱿鱼和发光鱿鱼的运动和其它生物(指鳕鱼,热带鱼,河豚,溺尸,守卫者等水生物)有什么区别 ...

我写了个钓鱼数据包,上述生物都能钓上来(实体),但是唯独鱿鱼和发光鱿鱼会动一下然后像是被水卡住一样停在水里,这俩个生物是不是有什么特殊之处?

lovexyn0827
Mikusamam 发表于 2021-8-1 12:13
我写了个钓鱼数据包,上述生物都能钓上来(实体),但是唯独鱿鱼和发光鱿鱼会动一下然后像是被水卡住一样 ...

看了一下,鱿鱼运算时会依据AI直接设置Motion到它希望的值而不是逐渐加速,在钓鱼竿勾住它的时候他的Motion就自动地设置回去了。其他生物在运算时会依据AI加速而不是直接设定Motion,在收到钓鱼竿拖动时速度不会被突然设置回去,可以被拖动,即使生物想要运动也只会造成一点落点偏差。1.17的源码还没研究,暂且猜测发光鱿鱼就是鱿鱼的子类,继承了鱿鱼的运动机制。
解决方案:连续修改墨鱼的Motion或者TP它,将它设为NoAI也有可能有效。

Mikusamam
lovexyn0827 发表于 2021-8-1 14:33
看了一下,鱿鱼运算时会依据AI直接设置Motion到它希望的值而不是逐渐加速,在钓鱼竿勾住它的时候他的Moti ...

感谢!TP确实有用,一开始就是这么解决的,不断的修改motion还没试过。有空试试

丿Luckly
牛的牛的牛的

SSS5S
个人比较好奇这个实体研究是通用全版本的吗?

第一页 上一页 下一页 最后一页