首页
UI设计正文内容

在 Figma 中进行高级原型设计的 3 个技巧

2024年07月02日
阅读时长 2 分钟
阅读量 50
在 Figma 中进行高级原型设计的 3 个技巧

曾几何时,纷乱的原型设计意味着一团乱麻

但这其实是件好事。欢迎来到条件逻辑设计的新时代。

说实话,像疯狂复制画框、在 Figma 中弄出一团蓝色的意大利面条一样酷。尽管有点凌乱,用这种方式制作的原型在分享概念、测试可用性或记录交互以便移交时都能发挥作用。那么,为什么要强迫我们使用新功能,比如变量和表达式,以完全不同的方式完成它们呢?

答案很简单。原型应该作为最终设计的蓝图。 产品所有者从不在用户故事中设置复制屏幕任务或类似意大利面条的功能。开发人员不会在最终代码中制造意大利面条……或者至少不应该。用户故事定义了产品的实际行为。开发工作在单个屏幕上进行真实验证,以便他们能够理解产品并轻松进行维护和升级。无论是由他们自己完成,还是由将来的其他开发人员完成。原型应该反映这种工作方式。否则,我们设计师可能并没有真正掌握我们为最终用户界面带来的实际验证或数据。

而且我们一直能够在其他工具上制作真实原型。Protopie、Framer、Axure 只是我们多年来已经掌握的一些选项。并非每个项目都有预算进行实际原型设计,但这一领域正在发展。Figma 正在努力从传统 UI 转向真正的交互设计,努力将“高级”原型设计推向聚光灯下。

我明白。实际原型设计很难掌握。从制作 UI 转向开发真正的交互会让人感到非常吓人。Figma 并没有通过称之为“高级”来帮助我们。我宁愿称之为简单的原型设计。

今天,我们要驱散围绕“高级”原型设计的神话和误解。让我们一起踏上揭示 Figma 在原型设计领域的全部潜力的 3 个关键技巧的旅程。最终,您将掌握足够的知识和信心,将您的设计流程提升到新的高度。让我们开始吧!

1. «变量» 存储几乎可以在任何地方打印的数据

在 Figma 中有 4 种类型的变量:字符串、数字、布尔值和颜色。每种类型都可以在特定场景中使用,但最终它们都具有相同的属性,允许它们存储数据,将其链接到某些内容,并在屏幕之间打印值。

你最喜欢哪种?

i. 使用字符串和数字在屏幕之间传递数据

假设您有一个流程,需要将数据从一个屏幕传递到另一个屏幕。例如,一个简单的使用 ApplePay 的结账流程。您可以使用 数字变量 打印所需金额,而不是根据购买选项的数量重复相同的结账流程。

一旦购买完成,您可以通过在 #total-credits 变量中进行简单的求和运算来显示更新后的积分金额。

ii. 使用布尔值显示/隐藏内容

您甚至可以使用布尔变量为每次购买显示新卡片,其中包含用户在每次交易中获得的新积分详情。

这是最终原型。所有验证都在一个屏幕上运行,就像最终产品应该做的那样。

在这里尝试实时原型:

Figma

iii. 使用颜色变量更改颜色

尽管在 UI 工具包中具有一组颜色变量用于设计系统中的标记化非常有用,但对于原型设计来说,这种方式有点傻。但是,是的,您可以在这里和那里为颜色分配颜色 (您可以将十六进制视为字符串,但是,是的,我明白 Figma,这对我们设计师来说太复杂了)。在这个示例中,我们有一组 4 种颜色,可以分配给单个变量,以自定义您的头像颜色。

无论愚蠢与否,颜色变量 帮助我们制作定制交互。例如,在这个原型中,您可以仅使用一个颜色变量为每个独角兽、熊或恐龙定义颜色。

在这里尝试实时原型:

Figma

2. «表达式» 用于作为验证

在事件上进行验证赋予我们避免复制屏幕的超能力。在 Figma 中,我们可以通过操作和 “表达式” 在每个事件上设置验证。在深入研究条件逻辑之前,先看看这个伪代码表达式:

看这个蓝色意大利面条杀手

一种解释是:如果数字变量 #taco 等于 0,则将标记为 “me” 的字符串变量设置为字符串“😢”。否则,当 #taco 不等于 0 时,将“me”设置为字符串“😍”。

我喜欢这样阅读:如果我没有玉米卷,我会很难过。如果我有玉米卷,我会很开心。 是的,聪明的家伙,我们甚至可以得到负数的玉米卷,但是让我们不要把这个快乐的练习搞得太复杂……

i. “条件逻辑” 是您的新朋友

这可能是最可怕的话题。但这个意大利面条杀手只是一个 if/else 语法,您可以在其中使用一组逻辑和数学规则定义验证。根据交互,验证会将用户发送到 2 条不同的路径。如果规则得到满足,“if”路径会将用户发送到一个根据规则发生的体验。而“else”路径则是如果情况不符合整个规则时发生的路径。

在 Figma 中,表达式允许我们玩弄条件逻辑,让设计师修改存储在变量中的数据。我们可以通过 SetVariable 事件直接更新数据,或者通过 Conditional 运行验证,如果规则允许原型,就会更新变量中存储的数据。

最终,您要么直接将新数据设置到变量中,或者通过条件运行验证,让 Figma 根据用户的操作决定是否更新数据。继续这种逻辑,一旦您制作了原型,您将不再看到蓝色意大利面条,而会看到这样的东西:

猜猜我在哪里设置了 Conditional 或 SetVariable 事件

在这个示例中,每次头像定制在第二个屏幕上运行时,我都会存储临时数据。如果交互返回,我们会重置颜色的临时选择、显示角色图标的布尔值以及计数器归零。

专业提示: 先运行所有验证。最后再导航。

当按钮允许您导航到下一个屏幕时,可以使用简单的条件。直到屏幕上显示“Enabled” 变体通过 variant binding,否则它什么也不做。

条件逻辑是这种原型设计方式的核心。这就是为什么我将这些技巧标记为对 逻辑设计 有用的东西。也许 条件逻辑设计 更准确,但那听起来不够酷。

ii. 使用数字变量作为“计数器”

计数器用于跟踪必须计数的任何内容。我们可以在计数器上构建一些逻辑,以在事件中运行验证,例如根据一组规则启用按钮。

在这个原型中,我设置了 2 个带有 数字变量 的计数器,一个用于角色选择_(#c-character),一个用于颜色选择(#c-color)_。

然后,每当用户选择一个角色时,原型会在 #c-character 变量中添加 +1。

每当用户选择颜色时,也是相同的逻辑,将 #c-color 变量中添加 +1。

您可能会注意到每个事件中的最后一个条件。这是我们在计数器上构建的逻辑,我们验证用户至少选择了一个角色和一个颜色,因此我们可以启用继续按钮。

通过这个计数器,我们可以决定按钮是显示为已启用还是已禁用。我需要在按钮上添加一点 variant binding,但我们稍后会谈论这个。

独角兽、熊还是恐龙?

在这里尝试实时原型:

Figma

iii. 根据验证导航到不同的屏幕或模态框

假设您需要安排一堂需要 250 积分的健身课。如果您有足够的积分,课程就会被安排。如果您没有足够的积分,您将被提示购买更多积分。这里我们有一个验证,可以将我们发送到模态框或返回到原始屏幕。要在 Figma 中制作这个,我们只需要一个变量,记录用户目前拥有的总积分。

在确认操作中会发生一些神奇的事情,我们将设置一个条件来验证用户是否至少有250个积分。如果条件得到满足,我们将返回到原始屏幕,并显示一个包含课程预订确认信息的弹出通知。如果积分不足,日程安排模态框将关闭,并显示购买选项的新模态框。

这是具有250个积分的路径A。

如果**#积分等于或多于250**,则关闭模态框并显示弹出通知。

现在是具有较少积分的路径B。

否则,用户将被提示购买积分。

在这里可以尝试原型:

Figma

3. 《变体绑定》让您像巫师一样控制实例。

变体绑定是一个您最近可能经常听到的很酷的概念。简而言之,就是当一个实例被链接(或绑定)到一个变量时的配置。您只能将字符串变量绑定到变体属性。

通过点击变量图标来绑定该实例。

i. 将字符串值与您的变体名称匹配。

一旦一个变体与一个变量绑定,您可以通过点击或轻触等操作来控制显示哪个变体。例如,现在插图实例已经绑定,我可以为我们的变体链接的变量设置不同的字符串数据。如果我将变体的确切名称与变量中存储的数据匹配,这将允许我们根据用户的选择显示独角兽、熊或恐龙。

字符串值动态设置了最后一个模态框中的实例。在这个示例中,我们通过“Bear”按钮控制了temp-character的选择,将我们的字符串设置为“bear”,因此当我们跳转到最后一个模态框时,将显示一只熊的插图。

简单如吃馅饼... 抱歉,这是另一个工具的说法...(实际上,在 Figma 上进行大量原型设计比 Protopie 更困难,但那是另一回事)。

ii. 使用布尔值显示/隐藏内容

同样的原则适用于将布尔变量绑定到实例的图层属性。您可以通过右键单击眼睛图标将布尔值链接到图层属性。在这个示例中,如果尚未选择头像,我们将在第一个屏幕上隐藏插图。

默认值为false,这意味着对象是隐藏的。

直到最后保存操作,我们将布尔值更改为true,因此当我们返回到第一个屏幕时,插图将显示所需的自定义。

看起来不错。

在这里可以尝试原型:

Figma

iii. 将“交互式组件”绑定以设置自动响应

通过变体绑定绑定的交互式组件将您的原型推向新的高度。无论是触发警报、显示通知还是添加微妙的动画,可能性是无限的。

您可以通过设置一个带有动画交互和一个不带动画的交互作为变体来使用这个技巧。在这个示例中,我们正在制作一个通知的交互组件,它在屏幕下方移动,停留4秒,然后通过向下移动穿过蒙版自动消失。

在这个示例中,我将动画变体绑定到**“toast-anim”变量,因此当用户成功安排课程时,将触发一个setVariable事件,将变量的字符串值从“Default”更改为“Animated”**,立即触发动画,因为它将变体切换为动画变体。

你是对的。这是提示2的示例。

在这里可以尝试原型:

Figma

在快节奏的设计世界中,采用条件逻辑而不是混乱的意大利面原型不仅仅是一种选择 - 它是一种必要性。通过利用实际的原型技术,我们可以追求效率、清晰度和精确度的新高度。

我们已经使用专门的工具做到这一点一段时间了。但是很棒的是,随着 Figma 在**“高级”**原型设计方面的努力,我们得以突显将实际逻辑集成到原型中的好处。

今天,我们还看到了如何使用变量表达式交互式组件变体绑定等少量功能来制作真正**“高级”**的东西。

希望这些技巧能帮助您进入**“高级”**领域。通过使用条件逻辑,与团队分享您构建的酷炫作品,这样我们就可以共同结束这种意大利面的疯狂,迎接具有实际原型和条件逻辑设计的简化艺术时代。

免责声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

相关文章

在 Figma 中使用自动布局的技巧
2024年11月21日20:43
本文分享了在 Figma 中使用自动布局构建响应式组件的技巧,重点介绍了“固定”、“填充”、“拥抱”等大小选项的应用。文章通过实例展示如何创建组件,并在设计过程中逐步测试其响应性,确保最佳的可扩展性和稳定性。通过调整组件和布局设置的顺序,设计师可以更有效地利用自动布局工具。
设计更好的文本输入控件的 8 个技巧
2024年11月17日10:35
本文分享了设计用户输入表单中文本输入控件的8个实用技巧:不要将标签用作占位符,避免使用过长的标签,清晰传达输入要求,不要在控件内使用占位文本,使用适当的输入控件,仅标记可选字段,调整输入控件宽度,使用视觉指示和文本突出显示错误。这些技巧有助于创建直观、用户友好的输入表单,提高产品的可用性和用户体验。
登录表单用户界面设计指南
2024年11月14日21:09
本文探讨了设计简单、极简登录表单的方法,包括层次结构条带的应用和网格间距的定义。通过详细的设计步骤,强调用户界面的逻辑分组和字体选择,确保对比度检查以提高易用性。同时,提供了一些可能的改进建议,帮助设计师展示对细节的关注。
如何处理超过 100 个选项的筛选器
2024年10月11日18:00
在模态中添加导航,通过侧边栏和堆栈设计,使用户可以轻松浏览数百个筛选选项。在移动设备上,使用手风琴菜单或逐级深入的方法来处理筛选器。这些设计解决方案可以提升用户体验,尽管实施需要大量工作。
设计下拉菜单的 10 个最佳实践
2024年09月10日20:20
本文分享了设计下拉菜单的10个最佳实践,包括避免过长菜单、不要在仅有2个选项时使用下拉菜单、禁用无效选项、避免过于明显的选项使用下拉菜单、限制多级菜单等。此外,还提到了设计清晰的视觉设计、考虑移动设备适配、组织选项顺序、提供搜索功能和设置默认选择。通过遵循这些实践,可以提高产品的可用性和用户体验。
UI 设计技能等级与被雇佣关系的分析
2024年07月04日21:34
通过观察500份初级UI设计师作品集,发现达到第四级及以上的设计师更容易被雇佣。关键因素包括可读性、布局、颜色、对比度、字体选择等。从第一级到第五级的设计水平有明显差异,第四和第五级的设计更受欢迎。设计师需要注意间距、字体选择、结构等细节。第五级设计要求严格遵循8点网格、一致的间距和清晰的结构。练习和努力是提升设计水平的关键。