Core Components

Learning what is what.

Photo Controller

Photo Controller(照片控制器)主控制器,管理拍照、排序和保存过程。存储所有其他组件的引用。此组件仅用于读取,不用于编辑。您可以引用它从PinnedList和AllCards列表获取数据,这些列表包含场景中的所有照片卡。包含3个重要的分配引用:

  • Current Camera(当前相机)- 作为照片来源的场景相机

  • Photo Settings(照片设置)- 包含照片处理设置的可脚本化对象

  • Photo(照片)- 包含设计设置的照片卡预制体

Input Controller

Input Controller(输入控制器)跨平台输入系统,自动配置桌面和移动设备的2D/3D。此组件不用于编辑。包含用于设置输入系统的公共字段。默认情况下,系统设置为旧版Input Manager。要完全切换到新版,请按以下步骤操作:

  • 打开 Edit → Project Settings → Player → Configuration,将Active Input Handling设置为New(如果尚未选择)。安装Input System Unity包(如果尚未安装)。将EventSystem设置为InputSystemUIInputModule(如果尚未使用)。

  • 在InputController组件中将inputSystemType设置为New。

  • 变量forbiddenInputManually设置为true时,禁用拍照和与照片的交互。变量forbiddenInputByKey用于阻止照片模式激活,直到按下额外的键,如Standard Input Settings → Additional Modifier Key中定义的那样。

Photo UI Manager

Photo UI Manager(照片UI管理器)负责界面、照片交互、图库显示和视觉反馈。存储UI场景元素的引用。这些可以替换为您自己的或进行编辑。例如,将targetSquarePos对象移动到Canvas上新创建的照片(框架)将在视觉上移动以保存的位置。如果未分配targetSquarePos,框架将在照片的位置进行动画。

Audio Controller

Audio Controller(音频控制器) 包含照片捕捉和照片卡移动期间播放声音的逻辑。

Detection Volume Manager

Detection Volume Manager(检测体积管理器)包含照片识别的辅助逻辑。

Photo Settings (scriptable object)

Photo Settings(照片设置 - 可脚本化对象)包含可开启/关闭的模式:Multiple Mode(多对象模式 - 识别多个对象而不是一个)、Duplication Mode(复制模式 - 启用拍摄对象的复制)、2D Mode(2D模式 - 用于2D复制)、Never Show Photo Description(从不显示照片描述 - 隐藏描述)、Record As Developer(开发者录制 - 在编辑器中也将照片保存为精灵)。

Photo Settings example

允许您配置照片参数:

  • Photo Capture Style - 更改捕捉期间的框架视觉效果

  • Crop Width, Crop Height - 选择照片比例

  • Render Texture Format and Depth - 调整照片视觉质量

  • File Save Format - 选择如何将纹理保存到磁盘

  • Sphere Radius - 控制对象识别区域的大小(应与Crop值匹配,但可以更小以提高精度)

  • multiplayerPrecision - 在多对象模式下提高对象识别精度

  • Raycast Layers - 选择应识别哪个图层的对象

  • Size Configuration - 调整照片卡大小(Card Pixel Height - 照片像素高度、收藏中的空闲状态、持有状态、固定在板上的状态)

  • Capture Photo With... - 更改捕捉的输入类型(按住/点击/双击或触摸)

  • Standard Input Settings - 从可用选项中选择照片输入方法(按住、点击释放、双击或右键按住)。默认设置为按住1秒。为主输入分配额外的键,以区分照片输入与其他类似操作。Additional Modifier Key仅在PC上识别。

  • Gamepad Controls - 使用游戏手柄设备更改捕捉的输入类型。如果使用旧输入系统,轴字段必须根据Input Manager中的轴填写。参见Gamepad Support

Photo Prefab

Photo Prefab(照片预制体)控制每张照片卡的行为,包含每张照片UI元素的引用(旋转按钮、删除按钮、悬停框架、描述放置点)。在预制体中,您可以调整每个元素相对于照片卡的位置。

  • Description Corner - 确定描述(Description Point)相对于照片卡的位置。None允许您在照片卡上手动设置此点,但不会与不同的照片大小对齐。

  • Description Offset - 描述与照片卡之间的间隙大小(像素)。例如,Bottom, 10表示描述将在照片卡下方10像素处。

  • Description Stretch - 控制描述的宽度和高度。可以匹配照片的宽度或高度,根据Width Multiplier和Height Multiplier缩放。使用None时,描述始终保持相同大小。

  • Delete Button Corner - 确定删除按钮相对于照片卡的位置。

  • Rotation Button Corner - 确定旋转按钮相对于照片卡的位置。

  • Frame Style - 包含用于框架设计的精灵。

Object To Photo (what to photograph)

Object To Photo(拍摄对象)具有自定义描述或复制功能的对象所必需。在检查器中,您需要指定PhotoController。此组件可以添加到任何对象以使其在照片中可识别。具有以下字段:Custom description(自定义描述 - 可选)、Duplication capability(复制功能 - 可选)、Unique index for copying(复制的唯一索引 - 复制所需)。

Photo Detector (recognizes what was photographed)

Photo Detector(照片检测器 - 识别拍摄内容)应识别照片描述的对象所必需。此组件可以添加到任何需要在玩家将照片拖到对象上时验证照片描述的对象。具有Required Photo Data字段用于描述条件。PhotoDetector.cs允许在照片成功通过验证时在OnActivate()方法中编辑自定义激活逻辑。内部有不同反应的注释模板,例如,如何将照片拖到对象上并为其分配与照片中相同的纹理。

Photo Input Blocker

Photo Input Blocker(照片输入阻止器)此组件可以添加到任何按钮以防止点击期间意外拍照。在检查器中,您需要指定PhotoController。

UI Element Checker

UI Element Checker(UI元素检查器)此组件添加到任何UI区域,使其可以作为移动照片的板或收藏。内部有对照片传输到此UI元素的反应的注释模板,类似于带有PhotoDetector组件的检测器对象。

Continious Rotation

Continious Rotation(连续旋转)在演示场景中为对象添加动画,演示如何记录动态对象的照片。

Cursor Cam

Cursor Cam(光标相机)跟踪输入以动画化照片捕捉的时刻。

Photo Data

Photo Data(照片数据)保存每张照片数据所必需。

Spawn Pointer

Spawn Pointer(生成指针)移动显示在复制模式下将创建拍摄对象副本的位置的对象所必需。

Photo Controller Editor

Photo Controller Editor(照片控制器编辑器)在Inspector中清晰显示按钮和字段的辅助脚本。

OverlayController

OverlayController(覆盖控制器)控制捕捉框架覆盖的行为和设计的辅助脚本。

Last updated