当前位置: 首页 > news >正文

OSA实战笔记二

         本文是我在实际项目开发中,总结和归纳的笔记,主要记录了OSA常用的参数释义。

OSA的Params
1、Scroll Sensivity
对⿏标滚轮(或类似)输⼊的敏感度,与通过滚动条拖动或滚动⽆关。
2、Scroll Sensivity On X Axis
对⿏标⽔平滚动轮(如果⽀持)或类似输⼊的敏感度,这些输⼊在⽔平轴上发送滚动信号。与通
过滚动条拖动或滚动⽆关。默认情况下,它被设置为正值以符合Unity的ScrollRect(出于某种原
因,它会反转左右⽅向)。如果要将OSA嵌套在⼀个常规的⽔平ScrollRect中,请将ScrollRect的
sensivity设置为正值,将OSA的ScrollSensivityOnXAxis设置为负值,以获得直观的滚动。
3、Content Padding
填充Content的4个边。提⽰:如果使⽤固定的、恒定的ItemTransversalSize,还应将横向填充
设置为-1(左/右表⽰垂直滚动视图,反之亦然)。这将使项⽬横向居中对⻬
4、Gravity
只有当Content⼤⼩⼩于Viewport时,才能看到此属性修改Content的Pivot效果。在这种情况
下,有3种可能:将内容放置在开始、中间或结束位置。不会更改内容的位置(将保留在编辑模式下对⻬内容的⽅式中)
FROM_PIVOT:使⽤编辑模式下的Pivot数值;
START:PivotX:0;PivotY:0.5;
CENTER:PivotX:0.5;PivotY:0.5;
END:PivotX:0.5;PivotY:0.5。
5、Content Spacing
ItemPrefab之间的空隙。
6、DefaultItem Size
未指定⼤⼩的所有ItemPrefab的⼤⼩。
7、Forward Drag To Parents
如果scroll视图是另⼀个scroll的⼦视图,那么可能需要这个。 如果enabled,第⼀个⽗级实现所有Drag事件监听,并且在所有⽗级中找到的第⼀个 IScrollHandler(但应该在同⼀个游戏对象上找到其他监听),当这些事件在此滚动视图上发⽣时, 将接收这些事件。这在Unity的ScrollRect和OSA中都可以使⽤。
8、Forward Drag Same Direction At Boundary
当滚动位置位于边界处时,它会以相同的⽅向将拖动/滚动转发给⽗级,从⽽允许滚动具有相同
滚动⽅向的嵌套滚动视图。ForwardDragToParents也需要启⽤才能⼯作。
9、Drag Enabled
允许直接单击和拖动内容(默认情况下启⽤)。Forward Drag To Parents不受此影响。
10、Scroll Enabled
允许通过⿏标滚轮或其他类似的输⼊设备滚动(默认情况下启⽤)。Forward Drag To Parents
不受此影响。
11、Use Unscaled Time
如果启⽤,将使⽤Time.unscaledTime替代Time.time,这意味着动画、惯性等不会受到
Time.timeScale的影响。
12、Item Transversal Size
垂直于滚动⽅向的ItemPrefab⼤⼩(Vertical列表Width,Horizontal列表Height)。
== -1:ItemPrefab的宽度(⽔平滚动视图的⾼度)不会发⽣任何更改;
== 0:填充到可⽤空间,同时考虑内容填充;
> 0:固定⼤⼩;在这种情况下,最好还将横向填充设置为-1,以便项⽬居中。
13、Effects
1)、Content Visual
此RawImage将与内容⼀起滚动。内容始终是固定的(这是回收过程的⼯作⽅式),因此滚
动纹理的x/y会伪造滚动效果。提⽰:使⽤⽆缝/循环背景纹理以获得最佳视觉效果。
2)、Elastic Movement
弹性运动开关,启⽤LoopItems将失效。
3)、Pull Elasticity
拉拔弹性值。
4)、Release Time释放时间。
5)、Inertia
惯性开关。
6)、Inertia Deceleration Rate
拖动结束后,惯性每秒将损失多少百分⽐(0=0%,1=100%)的速度。1=全部(⽴即停
⽌),0=⽆(⽆限期保持恒定滚动速度)。
7)、 Cut Movement On Pointer Down
当⿏标单击/触摸开始时,停⽌惯性或滚动动画的任何移动。
8)、MaxSpeed
可以理解为拖动的⼒,惯性的最⼤值,数值即为Velocity。
9)、Transient speed between drags(拖动间的瞬时速度)
如果启⽤,同⼀⽅向的多次拖动将导致更⾼的速度。
10)、LoopItems
如果为真:
当到达最后⼀个Item时,第⼀个Item出现在它之后,基本上实现⽆限滚动。最初设计⽤于spinner之类的效果,但实际可以⽤于任何类似效果。在⼀些⾮常模糊、繁杂的结构或设置中,可能会⼲扰其他功能,因此请务必测试这些功能。
请注意:
有时在拖动内容的过程中,实际的循环会更改Unity的内部PointerEventData以获取当前的click/touch指针id,因此,如果您也在外部跟踪当前的click/touch,仅“PointerEventData.pointercurrentrycast”和“PointerEventData.position”(当前位置)
保留,其他位置重置为默认值以确保平滑的循环转换。
11)、Content Visual Parallax Effect
contentVisual的附加阻⼒因⼦。
== -2:contentVisual的移动量与Item的移动量完全相同,但⽅向相反;
== -1:不移动;
== 0:相同的速度(与Item⼀起);
== 1:相同⽅向上快2倍;
== 2:相同⽅向上快3倍等。
12)、Gallery(展⽰效果)
a、Overall Amount
展览效果本⾝的amount ,与单个动画的amount ⽆关。0=禁⽤ b、Scale(缩放效果)
a)、Amount
对中间Item应⽤“最⼤”值,并逐渐“降低”旁边Item的值。0=⽆效;1=最横向的项⽬将具有“最低”。
b)、ViewportPivot
ViewportPivot可⽤于在中间以外的其他位置设置权重。0=开始;1=结束;-1=位于<viewportSize>前的点;2=位于<viewportSize>后的点。
c)、Exponent
1=线性。指数越⼤,远离Pivot的Item的值降低得越快(请参⻅ViewportPivot)
d)、MinValue
任何Item的最⼩值。
e)、Transform Space
From:距离Pivot最远Item的值。
To:距离Pivot最近Item的值。
c、Rotation(旋转效果,参数参考Scale)
14、Optimization(优化项)
1)、Recycle Bin Capacity
除了可⻅的对象之外,内存中最多要保留多少对象。默认情况下,最多只能保留试探性地找到的“理想”项⽬数内存。设置⼀个正整数来限制它。在这种情况下,要么使⽤⽐需要更多的RAM,要么使⽤⽐需要更多的CPU。⼀个优点是,您可以获得可预测的资源使⽤情况(例如,通过指定⼀个恒定的bin⼤⼩,如果实际可⻅项计数不超过此值,则不会销毁任何项)。请注意,这不包括“缓冲”项,⽽根据设计,“缓冲”项不能直接销毁。
2)、Scale To Zero Instead Of Disable
允许将视图外对象缩放到零,⽽不是取消激活它们,因为游戏对象.SetActive调⽤每个帧的成本稍⾼(尤其是通过滚动条滚动时)。这不是⼀个主要的速度提⾼,⽽是⼀个轻微的记忆改善。如果游戏/业务逻辑不要求取消激活游戏对象,建议使⽤此选项。
3)、Force Layout Rebuild On Begin Smooth Scroll
仅当调⽤SmoothScrollTo时看到FPS下降时才禁⽤。
4)、Force Layout Rebuild On Drag
仅当遇到Item未对⻬的问题时启⽤。如果OSA得到了正确的实现,就不应该发⽣这种情况(如果您发现请报告)。然⽽,如果需要快速修复,此功能仍提供。5)、Keep Items Sorted In Hierarchy是否对Content下Item对象进⾏排序。仅在需要时使⽤,因为这对性能有轻微影响。默认关闭。
15、Also Control Item Transversal Size
是否将BaseParam的ItemTransversalSize设置为预置的横向⼤⼩,就像使⽤DefaultItemSize.
设置如果设置为true,则会覆盖设置为的任何值ItemTransversalSize.设置如果设置为false,则保持ItemTransversalSize不变。
16、Snapper8的参数
1、Snap When Speed Falls Below
当速度降到XX时,开始snap效果。
2、Viewport Snap Pivot
Snap时Viewport的Pivot。
3、Item Snap Pivot
Snap时Item的Pivot。
4、Snap Duration
Snap效果持续时间。
5、Snap Allowed Error
当前需居中的Item,距离中点的误差值。
6、Min Speed To Allow Snap To Next
如果当前拖动距离不⾜以更改当前居中的Item,则如果当前速度⼤于此值,仍将捕捉到下⼀个
Item。设置为负值以禁⽤(默认)。对⻚⾯视图之类的很有⽤。
7、Skip If Reached Extremity
到达极限时跳过。

相关文章:

  • ESP8266-12S开发板控制IO控制输出-走马灯---学习系列,含代码
  • 联合索引失效情况分析
  • Windows 安装Anaconda
  • 小米便签源码部署流程
  • python 提交 命令到远程windows服务器并获取作业进程id
  • RabbitMQ Topic RPC
  • MS16-075 漏洞 复现过程
  • 小区服务|基于Java+vue的小区服务管理系统(源码+数据库+文档)
  • Java NIO(New I/O)
  • 【实验增效】5 μL/Test 高浓度液体试剂!Elabscience PE Anti-Mouse Ly6G抗体 简化流式细胞术流程
  • 连续空间链式推理与SoftCoT++介绍
  • 邂逅Node.js
  • IEEE 802.1Q协议下封装的VLAN数据帧格式
  • 如何管理和优化内核参数
  • CNBC专访CertiK联创顾荣辉:从形式化验证到AI赋能,持续拓展Web3.0信任边界
  • matlab编写的BM3D图像去噪方法
  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第三篇:Verilog实现I2C Master核
  • 【蓝桥杯真题精讲】第 16 届 Python A 组(省赛)
  • 网络安全之网络攻击spring临时文件利用
  • AR 开启昆虫学习新视界,解锁奇妙微观宇宙
  • 西安碑林“石刻艺术室”焕新:从汉画像石看到唐代石虎
  • 这款小孩子最爱的饮料,害处竟大到不敢想象
  • 5月LPR下调:1年期、5年期以上品种均下调10个基点
  • 搜狐一季度营收1.36亿美元,净亏损同比收窄超两成
  • 一周人物|收藏家瓦尔特捐出藏品,女性艺术家“对话”摄影
  • 半数以上中国人都缺这几种营养,吃什么能补回来?