- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
教程:相机系统/相机系统介绍
前言[编辑]
Minecraft 有一个/camera
命令,该命令增加了控制相机的能力,添加了全屏淡入淡出以获得更完美的体验。本教程详细介绍了其工作原理的所有相关细节,并可用于打造有趣的新体验。
预设[编辑]
预设定义可由 camera 是已提前准备的相机视角。它们可能是内置的,也有部分需要在 实验性玩法 中打开,下面有介绍:
minecraft:first_person
- 第一人称视角minecraft:third_person
- 第三人称(背面)视角minecraft:third_person_front
- 第三人称正面视角minecraft:free
- 自由飘浮视角minecraft:follow_orbit
- 焦点镜头
最后一个需要实验性玩法。
个人预设[编辑]
个人预设 属于行为包的一部分,请参考其它文档。
camera命令[编辑]
此命令有以下语法:
/camera <players> set <preset> [ease <easeTime> <easeType>] [pos <x> <y> <z>] [rot <xRot> <yRot>]
/camera <players> set <preset> [ease <easeTime> <easeType>] [default]
/camera <players> clear
/camera <players> fade [time <fadeInSeconds> <holdSeconds> <fadeOutSeconds>] [color <red> <green> <blue>]
camera 命令的每个选项都以 玩家选择器 开头,该选择器用于指定将受该命令影响的一个或多个玩家。之后,您可以指定三个选项:“set”、“clear”或“fade”。“set” 将导致目标玩家使用指定的摄像机视角。“clear” 会将目标玩家返回到他们通常的相机模式。“fade” 将导致全屏淡入淡出,就像玩家在床上睡觉时看到的那样。
Set[编辑]
set 选项将使选定的玩家通过指定的 预设 查看游戏。在他们断开与游戏的连接或使用使用“clear”的摄像机命令之前,他们将使用指定的预设。这将覆盖通常控制摄像机视角的内容,例如 设置菜单选项。
如果未指定其他参数,这将导致用户的摄像机视角立即修改到指定的 预设。
Ease[编辑]
ease 选项将导致视图之间的过渡在指定的秒数内完成,而不是立即完成。可以在 Easing Functions Cheat Sheet 查看ease模式。
缓冲动作总是从摄像机当前所在的位置开始,因此从 A 到 B 的缓冲被另一个缓冲打断到 C 的缓冲将从 A 和 B 之间的某个位置开始。
但要注意的是,不允许过渡渡到三个标准游戏视角,因为它们与玩家密切相关,如果玩家以剧烈的方式移动或转弯,则过渡到这些视角可能会非常不理想。
Pos[编辑]
pos 重设了 预设JSON定义文件 中指定的视角位置,其支持 “~” 和 “^” 字符,这使得命令可以动态计算相机的位置。
注意:不支持将摄像机的位置设置为未加载的世界区域,但目前没有以任何程序限制这种设定。仅当玩家在附近并且设备的渲染距离选项足够高时,世界的数据块仍会加载。超出加载范围的方式放置相机可能无法在任何情况下发挥作用。建议将摄像机保持在稍微靠近玩家的位置,并仔细检查低端设备上或具有较低渲染距离设置的版本,以确保所有用户都能正常工作。
Rot[编辑]
rot 重设了 预设JSON定义文件 中指定的视角旋转方向。此处支持 “~” 字符来指定相对旋转。
Default[编辑]
default 会将之前的一切还原到 预设JSON定义文件 的默认情况。
Facing[编辑]
Facing 与 rot 一样重设了 预设JSON定义文件 中指定的视角旋转方向,但比其更方便。
facing 后面应该跟一个实体选择器或纯 x、y、z 坐标,这与/tp
命令的 facing 类似。
Clear[编辑]
clear 会导致指定的相机结束任何正在进行的Set操作,包括任何过渡运动,并还原到玩家的设置选项。
Fade[编辑]
fade 会导致全屏颜色淡入、等待和淡出。它使用与玩家睡在床上时类似的效果。
Time[编辑]
time 允许自定义淡化效果的时间。如果未指定,这将使用 1 秒的淡入、0.5 秒的保持和 1 秒的淡出。淡入、保持和淡出的时长均不得超过 10 秒。如须更长,请查看下面的组合淡化。
Color[编辑]
color 允许自定义淡化效果的颜色。红色、绿色和蓝色值都应该是介于 0 到 255 之间的整数值。淡化的目标不透明度始终是完全不透明的。如果未指定,它将对每个值使用 0,这会导致淡化为黑色。
淡化注意事项[编辑]
由于 Minecraft 可以通过网络连接Play,也可以在未以完美帧速率运行的设备上Play,因此请务必记住,相机淡化的时间可能并不总是在所需的时刻显示。在创作淡化效果时,最好考虑向 'holdSeconds' 值添加更多时间,或者在功能较弱的平台上进行测试以检查演示文稿是否可接受。
组合淡化[编辑]
当摄像机淡化已在进行时,可以(且有效)发出摄像机淡化命令。发生这种情况时,淡化将与以下逻辑相结合。这对于动态延长淡化直到发生其他事件非常有用。
淡化的时间将以某种方式组合在一起,淡入将与剩余的淡入时间或新淡化的淡入时间中较快者进行。当两个 Fade 都准备好淡出时(以较晚者为准),淡出将开始。当两个淡化都完成时(以较晚者为准),淡出也将类似地完成。
淡化透明度的量将始终从当前的淡化量开始。例如,如果缓慢淡化正在进行中并且已完成一半,并且收到了新的快速淡化命令,则用户将看到从半不透明到完全不透明的快速淡化。
组合淡化的目标颜色(红色、绿色、蓝色)始终是正在进行的淡化的颜色。请参阅下面的“淡化限制”。
淡化限制[编辑]
为了方便用户,淡化遵循两个附加规则。
首先,所有淡化必须至少花费 0.5 秒,这样它们每秒发生的次数不会超过两次。如果摄像机淡入加保持加淡出的组合时间小于 0.5 秒,则保持时间将增加以弥补差额。
其次,如果淡化已在进行中,则新的淡化将继续使用与正在进行的淡化效果相同的颜色。这可以防止不同颜色之间的全屏变化。
焦点镜头[编辑]
您可以添加、删除中心偏移并将其应用于焦点目标。
添加目标:
/camera @s target_entity <entity>
删除目标:
/camera @s remove_target
应用中心偏移:
/camera @s target_entity <entity> target_center_offset <x, y, z>
其他免费摄像机预设示例[编辑]
下面均取自官方文档。
听简[编辑]
创作者有时希望播放器的位置继续位于音频系统的“耳朵”所在的位置,而其他时候,他们希望此听者的位置位于摄像机所在的位置。
{
"format_version": "1.19.50",
"minecraft:camera_preset": {
"identifier": "example:example_player_listener",
"inherit_from": "minecraft:free",
"listener": "player"
}
}
效果视图[编辑]
它确定玩家状态是否会影响渲染。例如,已着火身上不会出现着火效果。
{
"format_version": "1.19.50",
"minecraft:camera_preset": {
"identifier": "example:example_player_effects",
"inherit_from": "minecraft:free",
"player_effects": true
}
}