[计算机] Unity翻书效果 -- Book Page Curl Pro插件

查看:1550 |回复:3 | 2020-4-3 01:30:06

您需要 登录 才可以下载或查看,没有账号?注册

x
1.gif

一:介绍
插件下的Scripts文件夹下有四个脚本
BookPro脚本是挂载到BookPro预制体上的,最最重要
Auto Flip脚本是实现自动翻页或者按钮翻页的扩展脚本
PageFlipper和Tween由上面两个脚本调用

2副本.jpg

每个Paper列表都包含两页,前页与后页,可以通过Paper列表进行添加页面



Papers列表:存储所有页面的列表
Flipping Range:可以限制可以翻页的范围,例如第一页是最后一页不可翻页
Current Paper:当前的页数(第一页下标为0,最后一页下标为最后一页的下标+1)
Update Pages Order:根据Current Paper数值重置页面顺序
点击加号去添加页面,减号去移除页面,拖动页面可以任意交换层级
若要修改某个页面,点击Show之后在Scene面板中选中进行修改
每个页面都相当一个UI元素,默认有Image组件和Mask组件,不要删除Image和Mask组件,它负责将所有页面的内容保存在页面中
可以在每个页面元素下添加任何UI元素
场景中书的左侧为后页,右侧为前页

在翻页时执行某些方法



可以在OnFlip回调中添加翻页时执行的函数

拖动翻页的区域



LeftHotSpot和RightHotSpot分别为左右页面拖动翻页的区域

添加Auto Flip脚本实现自动翻页



ControledBook:控制的挂载了BookPro脚本的游戏物体
Mode:翻页的方向,从左向右翻还是从右向左翻
Page Flip Time:翻页动画的时间,类似与DoTween的第二个参数
Delay Before Start:第一次翻页的延迟时间
Time Between Pages:两次翻页的时间间隔
Auto Start Flip:是否开启自动翻页,可以取消自动翻页之后在需要的地方通过代码调用StartFlipping方法
Auto Flip脚本启用后会将BookPro的interactable设置为false

添加Auto Flip脚本实现点击按钮进行翻页(Auto Start Flip必须勾掉)




按下按钮时调用Auto Flip脚本中的FlipRightPage和FlipLeftPage方法

二:实现
下载插件并导入Unity工程

新建一个Canvas和EventSystem,将Book-Page Curl Pro—Prefabs下的BookPro预制体拖到Canvas下




自定义了一个按下A键动态添加照片到相册的功能(插件中的Paper是数组类型,不方便动态添加,我将插件中的Paper类型修改为了List)



三:性能优化
此插件的默认设置在移动端会消耗大量的Drawcall
官方文档给了两种方案:
如果你的书没有透明页面,就把Has Transparent Pages勾掉




如果你的书中包含很多UI元素,建议把书放在单独的画布下,因为更新画布下的任何UI元素都会使整个画布完全更新。


评分

参与人数 2活跃度 +25 展开 理由
蒙薪忑哮虱 + 10 非常棒
微凉. + 15 【给力】阅贴无数,楼主最强!

查看全部评分

2020-4-3 01:30:06  
 赞 赞 0

使用道具 登录

3个回答,把该问题分享到群,邀请大神一起回答。
2#
回复 收起回复
2020-6-27 11:48:03   回复
 赞 赞 0

使用道具 登录

3#
11111111111111111111111111111111111111111111111111111111
回复 收起回复
2020-12-22 14:41:22   回复
 赞 赞 0

使用道具 登录

4#
回复 收起回复
2023-2-26 12:34:04   回复
 赞 赞 0

使用道具 登录

CG 游戏行业专业问题

图文教程技术文章技术文库程序逻辑
显示全部 8
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表