# 2.8

2023.08.15:版本号(V2.8 BE1.18.30) 包括Mod PC包,手机测试版启动器,和服务器引擎。

示例Demo:前往此处下载

# 一、更新时间表

  1. 在8月15日上线2.8第一个Beta版。
  2. 在8月29日上线2.8第二个Beta版。
  3. 在9月07日上线2.8稳定版。
  4. 在9月15日,全渠道将更新2.8版本玩家包体,玩家将陆续更新到2.8版本,请开发者合理安排更新节奏。

# 二、重要功能更新

# 模型与材质

  1. 骨骼模型支持多材质,新增支持隐藏指定的骨骼的接口,详情参考模型使用多材质和贴图

图中演示了模型头部单独设置材质,隐藏了一只翅膀。

图片

  1. 骨骼模型支持多pass材质,详情参考骨骼模型配置多pass

图片演示了多pass的基础描边效果。

图片

  1. 新增自定义老电视后处理效果、自定义扫描效果,新增设置自定义后处理接口SetEnableByName,详情参考文档自定义后处理

老电视机滤镜效果

图片

扫描效果

图片

  1. 更新了材质使用相关的教学文档,详情参考材质介绍与着色器入门教程

  2. 优化了官方已有材质、shader的结构和格式。

# 粒子特效

  1. 粒子特效支持自定义材质,详见中国版特效属性详细说明

图片

  1. 中国版粒子的发射路径支持旋转,详见中国版特效属性详细说明

图片

# UI

  1. 图片控件支持旋转,详情参考属性动画

图片

  1. UI动画管理系列接口,可动态注册、添加、移除、播放UI动画,详情参考 属性动画

# 玩家摄像机

  1. 新增交互球心、交互距离接口,可自由控制玩家的交互中心和可交互长度,详情参考SetPickCenterOffset等接口。

下图演示了交互中心向后偏移的效果。

图片

  1. 支持关闭相机弹簧功能,可动态关闭SetCameraDistanceFixed接口。

图片

# 方块

  1. 支持colormap对指定维度生效,详情参考自定义方块群系颜色

下图演示了同一方块不同群系的颜色不同。

图片

# 游戏控制与管理

  1. 修复了手柄模式下无法正常点击自定义UI按钮的问题。

  2. 新增手柄按键、扳机、摇杆事件,详见OnGamepadKeyPressClientEvent等接口。

  3. 新增获取键盘、手柄的按键映射关系的接口,详见GetControllerLayout接口。

  4. 新增锁定玩家修改游戏模式与规则权限的接口,详见LockGameRulesInfoIsLockGameRulesInfo接口。

  5. 新增射线检测实体与方块接口,详见getEntitiesOrBlockFromRay接口。

# 三、API更新

  • 新增
  1. 新增getEntitiesOrBlockFromRay(服务端), 从指定位置发射一条射线,获取与射线相交的实体和方块

  2. 新增RegisterUIAnimations(客户端), 注册UI动画

  3. 新增UnregisterUIAnimation(客户端), 取消UI动画的注册

  4. 新增ImportModule(服务端), 使用字符串的绝对路径导入模块

  5. 新增ImportModule(客户端), 使用字符串的绝对路径导入模块

  6. 新增Enable(服务端), 启用官方魔法指令功能

  7. 新增Disable(服务端), 关闭官方魔法指令功能

  8. 新增OpenWorkBench(服务端), 新增打开工作台ui接口,不依赖于工作台方块

  9. 新增SetChestLootTable(服务端), 设置箱子战利品表

  10. 新增AddActorComponentGroup(服务端), 给指定实体添加实体json中配置的ComponentGroup

  11. 新增RemoveActorComponentGroup(服务端), 移除指定实体在实体json中配置的ComponentGroup

  12. 新增LockGameType(服务端), 锁定当前世界游戏类型接口

  13. 新增IsLockGameType(服务端), 获取当前世界的游戏类型是否锁定接口

  14. 新增LockGameRulesInfo(服务端), 锁定当前世界游戏规则接口

  15. 新增IsLockGameRulesInfo(服务端), 获取当前世界的游戏规则是否锁定接口

  16. 新增GetLootItems(服务端), 指定战利品表获取一次战利品

  17. 新增SetInteracteCenterOffset(服务端), 设置玩家服务端交互中心的偏移

  18. 新增GetInteracteCenterOffset(服务端), 获取玩家服务端交互中心的偏移

  19. 新增GetPlayerInteracteRange(服务端), 获取玩家服务端的交互距离

  20. 新增SetPlayerInteracteRange(服务端), 设置玩家服务端的交互距离

  21. 新增SetBanPlayerFishing(服务端), 设置是否屏蔽玩家钓鱼功能

  22. 新增SetEntityRenderDistance(客户端), 新增设置玩家周围的实体的可渲染距离接口

  23. 新增GetEntityRenderDistance(客户端), 新增获取玩家周围的实体可渲染距离接口

  24. 新增SetCameraDistanceFixed(客户端), 设置相机弹簧臂固定,即设置当相机遇到阻挡时是否压缩与人物之间的距离

  25. 新增SetCameraRotation(客户端), 设定摄像机的朝向,并且数值与GetCameraRot一致

  26. 新增SetPopupState(客户端), 设置Popup消息栏状态

  27. 新增BindItemToBone(客户端), 将使用了骨骼模型的玩家的手持物绑定到指定的骨骼上

  28. 新增SetModelPartVisible(客户端), 新增屏蔽骨骼模型中指定骨骼渲染的接口

  29. 新增SetPickCenterOffset(客户端), 设置第三人称下,玩家客户端交互中心的偏移

  30. 新增GetPickCenterOffset(客户端), 获取玩家设置的第三人称下客户端交互中心的偏移

  31. 新增SetPickRange(客户端), 设置玩家客户端的交互距离

  32. 新增GetPickRange(客户端), 获取玩家客户端的交互距离

  33. 新增GetControllerLayout(客户端), 获取玩家控制器绑定映射

  34. 新增SetEnableByName(客户端), 开关自定义后处理效果

  35. 新增SetParameter(客户端), 设置自定义后处理参数

  36. 新增GetGlobalPosition(客户端), 获取控件全局坐标

  37. 新增PauseAnimation(客户端), 暂停动画,暂停后的动画会停在当前的状态

  38. 新增PlayAnimation(客户端), 继续播放动画,从动画当前状态开始播放

  39. 新增StopAnimation(客户端), 停止动画,动画将恢复到第一段动画片段的from状态

  40. 新增SetAnimation(客户端), 给单一属性设置动画,每次设置都会覆盖上一次的设置

  41. 新增RemoveAnimation(客户端), 删除单一属性的动画,删除后的值与当前状态有关,建议删除后重新设置该属性值

  42. 新增SetAnimEndCallback(客户端), 设置动画播放结束后的回调,每次设置都会覆盖上一次的设置

  43. 新增RemoveAnimEndCallback(客户端), 移除动画播放结束后的回调

  44. 新增IsAnimEndCallbackRegistered(客户端), 控件是否对名称为animName的动画进行了注册回调

  45. 新增Rotate(客户端), 图片相对自身的旋转锚点进行旋转

  46. 新增RotateAround(客户端), 图片相对全局坐标系中某个固定的点进行旋转

  47. 新增SetRotatePivot(客户端), 图片相对全局坐标系中某个固定的点进行旋转

  48. 新增GetRotatePivot(客户端), 获取图片相对自身的旋转锚点

  49. 新增GetRotateAngle(客户端), 获取图片相对自身的旋转锚点旋转的角度

  50. 新增GetGlobalRotateAngle(客户端), 获取图片通过RotateAround函数设置进去的角度值

  51. 新增GetGlobalRotatePoint(客户端), 获取图片通过RotateAround函数设置进去的point值

  52. 新增GetRotateRect(客户端), 获取图片当前的四个边角点

  53. 新增OnGamepadKeyPressClientEvent(客户端), 游戏手柄按键事件

  54. 新增OnGamepadStickClientEvent(客户端), 游戏手柄摇杆事件

  55. 新增OnGamepadTriggerClientEvent(客户端), 游戏手柄扳机事件

  56. 新增OnGamepadControllerLayoutChangeClientEvent(客户端), 游戏手柄按键映射改变事件

  57. 新增OnKeyboardControllerLayoutChangeClientEvent(客户端), 键盘按键映射改变事件

  58. 新增ModBlockEntityLoadedClientEvent(客户端), 客户端自定义方块实体加载完成后第一次出现在玩家视野中时触发的事件

  59. 新增RayFilterType, 射线检测类型

  • 调整
  1. 调整CreateUI(客户端), 配置了bindWorldPosition参数时,开放autoScale参数(2.7版本固定为1),设置自动缩放需要将UI写为百分比形式,设置为固定尺寸将无法缩放,超过一定距离时不可见。

  2. 调整HideChatGUI(客户端), 新增关于新版聊天的说明

  3. 调整HideEmoteGUI(客户端), 增加新版聊天相关说明

  4. 调整HideVoiceGUI(客户端), 增加新版聊天相关说明

  5. 调整HideNeteaseStoreGui(客户端), 增加UI堆栈说明

  6. 调整OpenPauseGui(客户端), 增加isForce字段

  7. 调整OpenChatGui(客户端), 增加isForce字段

  8. 调整OpenInventoryGui(客户端), 增加isForce字段

  9. 调整SetBlockTileEntityCustomData(服务端), 新增dimensionId参数,默认为-1

  10. 调整GetBlockTileEntityCustomData(服务端), 新增dimensionId参数,默认为-1

  11. 调整GetBlockTileEntityWholeCustomData(服务端), 新增dimensionId参数,默认为-1

  12. 调整CleanBlockTileEntityCustomData(服务端), 新增dimensionId参数,默认为-1

  13. 调整GetChestPairedPosition(服务端), 新增dimensionId参数,默认为-1

  14. 调整GetBedColor(服务端), 新增dimensionId参数,默认为-1

  15. 调整SetBedColor(服务端), 新增dimensionId参数,默认为-1

  16. 调整GetSignBlockText(服务端), 新增dimensionId参数,默认为-1

  17. 调整SetSignBlockText(服务端), 新增dimensionId参数,默认为-1

  18. 调整GetItemBasicInfo(服务端), 物品类型添加food、block、armor,新增customItemType、armorToughness、armorknockbackResistance字段

  19. 调整PlayCustomMusic(客户端), 添加使用stream的音频无法同时播放两个音效实例的描述

  20. 调整GetItemBasicInfo(客户端), 物品类型添加food、block、armor,新增customItemType、armorToughness、armorknockbackResistance字段

  21. 调整ServerBlockUseEvent(服务端), 新增itemDict, face参数

  22. 调整OnNewArmorExchangeServerEvent(服务端), 新增避免在该事件内调用修改盔甲接口的说明

  23. 调整ItemReleaseUsingServerEvent(服务端), 新增changeItem参数,如果要在该事件的回调中修改当前使用槽位的物品,需设置这个参数为True,否则将修改物品失败

  24. 调整ChunkLoadedServerEvent(服务端), 添加blockEntities字段

  • 修复
  1. 修复GetMotion(客户端), 修复了不能获取非玩家实体的问题
  • 废弃(将在未来不可用)
  1. 废弃SetCameraRot,请使用SetCameraRotation接口