Version: 2019.1
Sprite Editor:Custom Outline
(旧版)Sprite Packer

Sprite Editor:Custom Physics Shape

概述

Sprite Editor 的 Custom Physics Shape 用于编辑精灵的物理形状;物理形状定义了精灵 2D 碰撞体网格 (Collider 2D Mesh) 的初始形状。可以通过碰撞体的组件设置进一步优化物理形状。

要编辑精灵的物理形状,请执行以下操作:

1.在 Project 窗口中,选择要更改的精灵。

2.在 Inspector 窗口中,单击 Sprite Editor 按钮。

3.在 Sprite Editor 窗口中,选择左上角的下拉菜单,然后选择 Custom Physics Shape

编辑 Custom Physics Shape
编辑 Custom Physics Shape

属性

属性 功能
Snap 将控制点贴靠到最近的像素。
Outline Tolerance 使用此属性可控制生成的轮廓贴合精灵纹理轮廓的紧密程度。在最小值 (0) 时,Sprite Editor 会在精灵周围生成基本轮廓。在最大值 (1) 时,Sprite Editor 生成一个尽可能贴合精灵像素轮廓的轮廓。
Generate 单击可自动创建物理形状轮廓。

标准工作流程

首先打开所选精灵的 Sprite Editor。然后,从 Editor 的左上角下拉菜单中选择 Custom Physics Shape

然后单击 Generate 创建物理形状的轮廓。默认情况下,Unity 会生成贴合原始精灵纹理形状的轮廓,并会考虑透明区域。

生成的轮廓和控制点
生成的轮廓和控制点

调整 Outline Tolerance 滑动条可优化物理形状的轮廓。调整 Outline Tolerance 值后,单击 Generate 可刷新轮廓。

Outline Tolerance 滑动条
Outline Tolerance 滑动条

单击并拖动每个控制点可优化物理形状的轮廓。要删除控制点,请选择控制点,然后按 Command+Del/Del 键。

移动控制点
移动控制点

当鼠标悬停在轮廓上时,边缘上会出现透明控制点。单击即可在该位置创建新控制点。选择控制点并按 Del/Command+Del 键,即可删除控制点。

Fig.1: Transparent control point. Fig.2: Click to create new control point.

单击并拖动一个区域可选择多个控制点。在选择多个控制点后可以将它们一起放置在某个位置或将它们全部删除。

选择多个控制点
选择多个控制点

按住 Control/Ctrl 键可以选择边缘而不是控制点。单击突出显示的边缘可以将它们拖动到新位置。

Fig.1: Select the edge of the outline. Fig.2: Drag and move the edge freely once selected.

使用多个轮廓

单个物理形状可以包含多个单独的轮廓。如果只有精灵的特定区域需要 2D 碰撞体网格 (Collider 2D Mesh) 进行碰撞,这将非常有用。例如,作为游戏机制的一部分,可能希望角色仅响应其精灵特定区域上的碰撞以实现损坏效果。

在 Sprite Editor 窗口中单击并拖动任何空白区域,可创建包含 4 个控制点的新矩形轮廓。重复此步骤可以创建更多轮廓。可使用与单个物理形状轮廓相同的方式优化每个轮廓。

Fig. 1: Click and drag to create 4-point box. Fig. 2: Box physics shape with 4 control points.
Fig. 3: Click and drag again for another box. Fig. 4: Repeat to create more separate outlines.

更多提示

如果编辑了现有游戏对象正在引用的精灵的轮廓,请右键单击 Collider 2D 组件的标题,然后选择 Reset。此时将更新 2D 碰撞体网格的形状。


2018–05–24页面已发布并进行了编辑审查

Sprite Editor:Custom Outline
(旧版)Sprite Packer
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961