2024-06-24

视界交错:模型查看中摄像机交互设计种种

AR-chitecture

摄像机一直存在。空无一物的画面,更彰显了摄像机的存在。

背景

在设计施工助手的过程中,有一个看不到却非常重要的设计点,那就是摄像机的呈现效果,也可以理解为查看模型的视角。虽然这个功能在真实界面中不存在,但它对我们如何查看和理解模型起着至关重要的作用。


1.视角

1.1 固定视角

在模型查看中,固定视角的使用相对较少,但在某些场景下却具有特殊的价值。比如,当我们不需要生成实际的图片文件时,只需在特定位置放置一个虚拟相机,通过固定的视角来展示模型的特定部分,同时允许模型本身的细节随时变化。这种方式在需要保持视角稳定性但允许内容动态变化的情况下显得尤为实用。

1.2 滚动式视角

滚动式视角允许用户通过滚轮或触控板自由调节视角的远近,增强了交互性。这种视角直观且易于掌握,非常适合初级用户进行快速的模型浏览。尤其是在查看地图或大尺度模型时,滚动式视角能够让用户通过平移相机来查看不同的细节。此外,随着触摸屏设备的普及,滚动和缩放常常同时使用,使得传统意义上“悬浮于固定高度的相机”逐渐被更灵活的滚动与缩放交互取代。

1.3 第一人称视角

第一人称视角模拟用户置身于3D环境中的真实体验,极大地增强了沉浸感。这种视角常用于虚拟现实(VR)应用,让用户能够以自然的方式探索3D空间。由于用户在这种视角下能像漫游一样在建筑中行走,它在某些任务中显得尤为实用。例如,当用户需要在建筑中寻找特定位置时,通过第一人称视角可以更直观地感受空间布局。而对于那些对建筑不熟悉但希望深入了解的人来说,第一人称视角也能帮助他们建立直观的空间认知。

1.4 第三人称视角

第三人称视角让用户既能观察周围环境,又能看到所控制的角色或对象,从而在沉浸感和环境感知之间取得平衡。它在游戏设计和虚拟场景导览中应用广泛。这种视角与第一人称视角类似,但在画面中增加了一个可见的角色,从而提供更明确的反馈。例如,当用户在一个无纹理的环境中前进时,第一人称视角可能会让用户感知不到运动的状态,而第三人称视角下的角色会以跑动的姿势前行,让用户能够更清楚地了解自己的位置和行动状态。

1.5 鸟瞰视角

鸟瞰视角提供了从高处俯视的全局视图,帮助用户理解整体布局和空间关系。在建筑设计、城市规划等领域,这种视角尤为常用,因为它能够快速传达大尺度的信息。目前在模型查看的实际应用中,鸟瞰视角是最常用的一种,就像一只鸟盘旋在建筑周围甚至飞入建筑内部一样。既然如此,比喻中的“鸟的飞行路径”就显得尤为重要,这也是下一部分我们将要讨论的视角控制与路径设计。


2.视角控制的自由度

在3D模型的查看和操作中,视角控制的自由度指的是用户可以操纵和调整视角的方式和范围。通常包括以下几个方面:

平移:在X、Y、Z三个轴向上移动视角

  • 水平平移:左右移动

  • 垂直平移:上下移动

  • 前后平移:拉近或拉远视角

旋转:围绕某个点或轴进行旋转

  • 水平旋转:左右旋转视角

  • 垂直旋转:上下俯仰视角

  • 轴向旋转:围绕视线方向旋转

不同的3D软件和应用会根据特定的使用需求和场景,提供不同程度的视角自由度。

2.1 视角控制的特点

鸟瞰视角:通常在XYZ三轴上都具有完全的平移、旋转和缩放自由度。用户可以自由移动、调整和放大视图,从而更好地了解模型的全局布局和空间结构。

第一人称视角与第三人称视角:通常限制在Z轴的移动和整体缩放,因为这种视角模拟的是用户实际在环境中行走或观察的状态。例如,在建筑物内,用户无法通过缩放来“放大”建筑物的某个部分,只能通过移动来改变距离。此外,用户也无法在未使用楼梯或电梯的情况下“飞跃”楼层,因为这种行为会破坏沉浸感。以及,第一人称和第三人称视角的旋转中心,通常是虚拟代理的“眼睛”。在第一人称视角中,旋转中心是摄像机的位置,即用户的视线点;而在第三人称视角中,旋转中心则是虚拟角色的头部或眼睛位置。

滚动式视角:滚动视角通常不涉及Z轴的旋转,甚至可能完全禁用旋转功能。这种视角更注重平移和缩放,方便用户在二维平面上查看和调整模型。

2.2 放大与缩小的本质

需要特别指出的是,在3D模型查看中,通常所说的“放大”和“缩小”是通过移动摄像机来实现的视觉效果,而不是实际改变模型的尺寸。因此,这种放大或缩小并非真正改变了模型的比例,而只是调整了视角的距离。


3.镜头的运动

镜头的运动本质上就是从一个点移动到另一个点的过程。在设计中,这种运动可能是一个瞬时的“过渡”,只需要保证用户在这个过程中不感到不适即可。在大多数情况下,我们会尽量缩短过渡时间,以便用户快速进入下一个视角,减少等待感。

然而,并不是所有的镜头运动都只是简单的暂态过程。在某些场景下,我们会设计循环的运动,以让整个界面显得更加生动。这种设计适用于需要持续展示的模型或动态内容,比如机械装配的反复运转、生产线的动态模拟等。循环运动能在保证信息传递的同时,避免界面显得过于呆板,为用户营造一种“活”的体验感。

除此之外,还有一种比较常见的镜头运动方式是流程性的运动,即镜头会按照预设的路径和顺序依次展示模型的不同部分。这种运动方式在产品演示、流程引导或教学场景中尤为常见。通过这种有序的展示,用户能够清晰地了解模型的结构、功能和操作步骤,从而更有效地完成任务。

在设计这些镜头运动时,我们不仅要考虑运动的自然性和流畅性,还需要注意如何在运动过程中保持用户的兴趣和理解。例如,在较长的流程性镜头运动中,可以加入适当的停顿或提示,以便用户在每个关键节点有时间进行观察和理解。相反,对于过渡性或暂态的运动,则应尽量保持短暂和直接,让用户快速进入下一个交互步骤。

3.1 弧形运动

弧形运动给人一种自然流畅的感觉,它就像是在模型周围优雅地绕行,展示不同角度的细节。当用户需要从多个视角来查看一个复杂物体时,弧形运动无疑是最理想的选择。但在设计这种运动时,我们要特别注意速度的控制——如果镜头转动得太快,用户可能会感到头晕,而太慢又会影响效率。因此,为用户提供暂停或减速选项是个好办法,尤其在展示大体量模型时,这种灵活性显得尤为重要。

3.2 推车缩放

推车缩放类似于电影中推拉镜头的效果,它通过逐步拉近或推远视角,营造出一种深度感。这种镜头运动的魅力在于,它可以引导用户的视线,从而突出特定的细节或场景。但在工业软件中,我们通常不仅仅依赖推车缩放的视觉效果,还会加入景深的变化来增强这种效果。比如,在展示一个大型装配结构时,重点区域可以随着镜头的推近而更加清晰地浮现出来,让用户的注意力自然集中在最关键的部分上。

3.3 跟随镜头

跟随镜头的设计往往用于动态场景,比如制造过程的模拟、设备运转的可视化,或者是一些实时数据的展示。其目的是让用户始终保持对目标对象的关注,就像亲临现场一般。这种镜头运动的平滑性至关重要,如果镜头的移动过于生硬或晃动明显,会严重影响用户的视觉体验和判断。所以,我们在实现这种功能时,会尽量通过算法优化来平滑过渡。此外,考虑到用户可能需要在跟随中切换到自由视角,我们也会在界面上设计一个简单易用的切换按钮,让用户可以灵活调整。

3.4 垂直上升

垂直上升的镜头常用于全局视图的展示,它就像是将用户从地面上慢慢“拔高”,直到看到整个场景的全貌。这种镜头特别适合用于查看大型地图、建筑规划或复杂的厂区布置。在设计时,我们要注意添加高度指示器,让用户清楚地知道当前视角的高度。另外,用户往往希望能够控制上升的速度,比如在快速查看全局与详细观察某一层之间进行切换。因此,在界面设计中,可以加入一个滑动条或按钮,方便用户精确控制视角的上升速度。

3.5 水平移动

水平移动可以说是最符合人类视觉习惯的一种镜头运动方式,就像人眼扫视周围环境时的自然行为。在设计宽幅场景的浏览时,水平移动是非常理想的选择。为了让用户体验到更加自然的移动效果,我们通常会使用缓动函数来优化镜头的速度变化,让移动过程更符合用户的预期。此外,为了让用户能快速定位到特定区域,我们还会设计一些快速定位工具,比如可以直接点击模型上的某个部分进行跳转,而无需手动平移整个视图。

在实际的设计过程中,我们始终要考虑到用户的舒适度和可控感。比如,提供简单直观的控制界面,允许用户调整镜头运动的速度、方向和幅度等参数。此外,给用户留有自定义运动选项的空间,让他们能根据自己的习惯和需求调整镜头的运动方式,这样不仅提高了用户的使用体验,也增强了软件的灵活性和适应性。


4.镜头的景别

在3D模型的交互设计中,镜头的景别决定了用户对模型的整体感知和操作效率。以下是一些常见的景别,以及在实际设计中的应用和考量:

4.1 全景视图

全景视图可以说是进入场景的第一印象,用户在这时通常需要快速了解整个模型的布局和大致结构。因此,在设计全景视图时,我们需要提供直观的导航和缩放控件,帮助用户快速定位到他们感兴趣的区域。比如,一个小地图的设计可以在用户浏览时提供全局参考,尤其是在大型工业场景中,这种设计尤为重要。

4.2 远景

远景是一种折中的视角,它既能让用户看到整体布局,又能观察到一定程度的细节。这种视角适合需要同时比较不同部分或多个元素的场景。为了引导用户的注意力,我们可以在远景视图中使用高亮标注或颜色对比,帮助用户快速识别出关键区域。

4.3 中景

中景视图是用户进行大多数操作的理想视角,因为它能够清晰地展示特定区域的功能组或局部细节。在设计中,我们通常会在中景视图下为默认来显示主要的交互控件和信息显示,比如文字和空间信息面板等。这种视图有助于我们的自适应工作。

4.4 近景

近景视图主要用于精细操作,比如检查特定零件、测量某个维度,或者进行标注。在这种视角下,我们需要提供精细的操作工具,比如测量工具、对齐工具和标注功能等。同时,为了让用户在近景下有更好的操作体验,镜头的运动需要更加精准和平滑。

4.5 特写

特写是一种极致的视角,它通常用于展示非常细微的部分,比如微小的零件结构、故障点或重要的接合面。在这种视角下,我们需要提供高清的渲染效果,甚至可以集成放大镜功能,让用户能在特写下进行专业分析和故障诊断。

在设计景别切换时,我们还需要确保过渡的自然性和上下文的连贯性。比如,通过动画效果让不同景别之间的切换更加顺畅,同时利用小地图或其他导航工具来帮助用户保持空间感知。不同景别下的交互方式和可用工具也应有所不同,以确保用户在不同视角下始终能获得最佳的操作体验。

5.多镜头

在3D模型的交互设计中,有一些不太常见但又不可或缺的功能,比如分屏查看内屏查看。尽管这两种功能听起来有些类似,但在实际应用中,它们的作用和设计逻辑却有所不同。

首先,分屏查看是一种常见的多视角展示方式。在这种模式下,屏幕通常会被等比例地划分为两个或更多的区域,每个区域显示相同模型的不同视角。这种方式的设计目的是让用户可以同时观察模型的不同部分或不同细节。例如,用户可以在一个屏幕中查看模型的前视图,同时在另一个屏幕中查看侧视图。由于分屏查看提供的基本信息是相似的,因此这种模式适合用于对比和同步观察,帮助用户更全面地理解模型的结构和特征。

相比之下,内屏查看在功能上更为复杂。虽然它也可以被看作是分屏查看的一种形式,但内屏查看的两个屏幕之间通常并不等比例分配,并且所提供的信息类型也有所不同。一个屏幕通常展示主要的模型信息,比如整体结构或关键细节,而另一个屏幕则用于辅助展示其他相关信息。这些辅助信息可能包括模型的属性、数据信息、施工步骤,甚至是实时传感器数据。内屏查看的设计目的是在一个界面上集成更多层次的信息,使用户在查看模型时能够同时获取其他关键数据,从而提升整体的操作效率。

这种非对称信息展示的方式在工业软件中尤其重要,因为用户在实际操作时,往往需要在查看3D模型的同时参考其他维度的信息。比如,在建筑施工管理软件中,用户可能需要同时查看建筑模型和施工进度;而在设备维护场景中,用户可能需要同时观察设备的3D模型和其实时的运行状态。这种情况下,内屏查看的多维信息整合显得尤为关键。


结语

在开始写这篇文章时,我本没料到会有这么多内容。过程中,我参考了一本叫《通关游戏设计之道》的书,书中从游戏设计的角度对交互设计做了非常详细的梳理。按照这种思路去写时,我发现整个结构变得顺畅了许多。游戏和工业软件在这些方面有很多相似之处。

他山之石可以攻玉,还是要涉猎更广泛些才好。