首页 > 名字 > 游戏名字 正文
[alook]alook是什么软件

时间:2023-10-27 作者:佚名

1、什么是AR Quick Look

1.1、概述

AR Quick Look是用于在AR场景中预览3D模型的技术,通过它开发者能快速在自己的App中展示高质量的3D内容。

1.2、优点

使用简单,内置AR场景设置,使用者不需要了解AR技术。

1.3、使用环境

iOS12

1.4、usdz文件

AR Quick Look技术是基于usdz文件的,这是一种全新的用于描述3D模型的文件格式,它基于Pixar的开源USD文件格式,将模型和模型的纹理打包在一个文件当中,同时支持iOS和macOS系统。利用这一文件,我们可以很容易预览或者分享3D内容。

Xcode10中提供了usdz_converter工具用以生成usdz文件。

2、App中集成AR Quick Look

2.1、QLPreviewcontroller概述

该类是用于展示QLPreviewItem内容的控制器,QLPreviewItem中包含了3D模型的URL和标题。

2.2、QLPreviewController使用

开发者需要实现QLPreviewControllerDataSource和QLPreviewControllerDelegate中3个关键方法。

- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller;//指明需要展示的Item数量 { return 1; } - (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index;//根据index指明需要展示的QLPreviewItem,这里关键是通过usdz资源文件的路径生成QLPreviewItem { QLPreviewItem *item = [[QLPreviewItem alloc] init]; i = [[NSBundle mainBundle] URLForResource:@"3d_model" withExtension:@"usdz"]; return item; } - (CGRect)previewController:(QLPreviewController *)controller frameForPreviewItem:(id<QLPreviewItem>)item inSourceView:(UIView * _Nullable *)view;//指明展示预览页面时转场动画的参数 { return zoom_orginal_rect; }

2.3、Demo

先看效果:

代码也很简单:

#import "ViewCon; #import <QuickLook; @interface ViewController ()<QLPreviewControllerDataSource,QLPreviewControllerDelegate> @property (nonatomic) UIButton *button; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. ;预览"; _button = [[UIButton alloc] init]; _bu = CGRectMake(100, 100, 100, 100); _bu = [UIColor yellowColor]; [_button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; [_button setTitle:@"tap" forState:UIControlStateNormal]; [_button addTarget:self action:@selector(tap:) forControlEvents:UIControlEventTouchUpInside]; [ addSubview:_button]; } - (void)tap:(id)sender{ QLPreviewController *qlVc = [[QLPreviewController alloc] init]; qlVc.delegate = self; qlVc.dataSource = self; qlVc.naviga = YES; qlVc.view.userInteractionEnabled = YES; [self presentViewController:qlVc animated:YES completion:nil]; } #pragma mark - QLPreviewController 代理方法 - (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller{ return 1; } - (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index{ return [[NSBundle mainBundle] URLForResource:@"retrotv" withExtension:@"usdz"]; } - (CGRect)previewController:(QLPreviewController *)controller frameForPreviewItem:(id <QLPreviewItem>)item inSourceView:(UIView * _Nullable * __nonnull)view{ return _bu; } @end

可以在这里下载usdz文件

3、Safari中预览3D内容

HTML中可以通过标签直接嵌入usdz文件的链接,这样就可以在Safari中预览3D内容了。

4、创建3D模型

4.1、位置

渲染时会进行模型坐标系到真实世界坐标系的变化,因此3D模型在模型坐标系中的位置会直接影响渲染效果。AR Quick Look要求3D模型在模型坐标系中的位置符合以下要求:

1.面向摄像机镜头

模型坐标系如图所示,z轴的正方向指向镜头

2.模型底部平面位于y=0的平面

3.模型底部平面的中心点位于原点 (x=0,y=0,z=0)

4.2、物理尺寸

模型的物理尺寸需要与现实世界相吻合。对于在现实世界中不存在的形象,可以把模型尺寸设置成动态,因而可以随使用者需要进行缩放。

4.3、动画

给模型添加动画可以让渲染更生动,交互效果更好。因此建议给3D模型添加一个默认的动画。动画在渲染时是循环播放的,可以由骨骼动画和变换动画混合而成。

这里有一些给模型添加动画的建议:

1.选择增强AR沉浸感的动画

2.不要让物体远离原点制作动画

3.在整个动画中保持一致的边界框

4.创建的动画在静态的位置有意义

5.创建的动画作为独立场景

4.4、阴影

AR Quick Look 在渲染时会根据现实场景生成阴影,这意味着:你可以选择打开或者关闭阴影效果,也可以选择环境光照的条件。需要注意的是,不要在3D模型中设置阴影,因为这样的话,AR Quick Look生成的阴影会跟模型自带的阴影重合了。

AR Quick Look会选择动画的第一帧作去生成阴影。因此要仔细选择动画的第一帧,让生成的阴影效果与后面的动画帧契合。

错误的阴影例子,动画的第一帧选择不当,导致在后续的动画播放中,即使小球运动到水平位置,左侧的阴影依然存在,导致失真。

正确的例子,选择小球在水平位置的状态作为动画第一帧,这样在小球运动的动画播放时,阴影不会失真。

4.5、外观

AR Quick Look使用基于物理的渲染着色器(PBR Shader),提供六个维度去控制3D模型的外观。

没有外观描述的基础模型:

4.5.1反照率(基础色)

4.5.2金属光泽

4.5.3粗糙度

4.5.4表面细节

4.5.5环境光遮蔽

4.5.6发光程度

4.5.7透明度

除了上述6个维度,透明度也能影响模型的渲染效果。透明度是通过改变反照率的alpha通道实现的。官方建议为模型的透明和不透明部分使用单独的mesh,在模型的透明区域使用透明度。

不透明区域的mesh:

透明区域的mesh:

4.5.8纹理文件格式

描述反照率、表面细节、发光度的文件应该是RGB图像(反照率可以是RGBA图像以实现透明度),而描述金属光泽、粗超度、环境光遮蔽的文件是灰度图像。这些图像文件格式可以是任意的iOS系统支持的图像文件格式,比如.png,图像长宽必须是2的指数(2048,1024,512...)。

4.5.9设备兼容性

AR Quick Look建议开发者在内存较大的设备上测试模型,比如iPhone 7 Plus,iPhone 8 Plus,iphone X,iPad Pro12.9。在使用这些模型时,AR Quick Look会根据设备需要,动态对模型的图像文件进行降采样以优化内存使用(比如在旧的设备上),但是网格和动画不会修改。

4.5.10模型尺寸约束

影响模型渲染时的内存消耗主要有网格和动画的复杂度,纹理文件大小和数量。官方建议:

1.单个物体模型,网格中多边形数量在100k左右

2.纹理图像为2048*2048

3.10秒的动画

4.在真实设备上测试你的模型

4.6、优化并输出模型

4.6.1优化模型

官方给出的优化建议包括:

1.冻结变换并合并相邻的顶点

2.如果可能,请为整个模型使用单个材质/纹理集

3.不要包含你不需要的纹理

4.把你的纹理预算花在增加最大价值和体现模型现实性的方面

5.请记住像素在AR中具有物理大小

6.在纹理的质量和文件大小间平衡

4.6.2 usdz Converter

Xcode 10自带的命令行工具,用来生成usdz文件

工具的输入是:

OBJ 文件

单帧的Alembic文件

USD文件(.usda 或.usdc)

一个usdz文件包含下面内容:

通过usdz_converter命令,可以把3D模型素材转化为usdz文件:

5、总结

AR Quick Look给开发者提供了便捷的3D模型预览和分享的工具,在生成usdz文件后,可以很轻松的在App或者HTML中展示AR效果。

本文信息为网友自行发布旨在分享与大家阅读学习,文中的观点和立场与本站无关,如对文中内容有异议请联系处理。

本文链接:https://www.paituo.cc/ming/yx/1285785.html

  • 小编推荐

    (alook)alook浏览器

    alook,alook浏览器,alook浏览器下载相关介绍,原价12的Alook浏览器, 上次限时免费是在5月1号, 劳动节 今天6月15日, 在端午节即将到来之际, 迎来第二次限时免费 由于免费时段有限, 有需要的小伙伴速度安装啦 ! 错过这次好机会, 下次

    紫牛新闻:游戏APP两月让人输掉三百万,记者调查时此APP悄然下架

    紫牛新闻:游戏APP两月让人输掉三百万,记者调查时此APP悄然下架相关介绍,扬子晚报·紫牛新闻未经授权不得转载 转载拒绝任何形式删改 否则保留追究法律责任的权利 只因看到朋友用一款名为熊猫棋牌的APP玩游戏,好奇的南京市民刘先生(化名)也下载玩了起来。然而,在今年1月初至2月

    gta5安卓gta5安卓版15GB…

    gta5安卓,gta5安卓版15GB,apkgta5安卓相关介绍,游戏商2K与R星总公司T2日前正式公布2017财年第三季度财报,即2016年10月1日至2016年12月31日销售情况,借助《四海兄弟3》与《文明6》的优异表现,财报营收非常棒,而且《GTA5》狂销7

    『猪八戒兼职平台』猪八戒兼职平台新手怎么赚钱…

    猪八戒兼职平台,猪八戒兼职平台新手怎么赚钱,猪八戒兼职平台官网相关介绍,小编||StevenLancelot 喜欢小编就关注小编,小编将持续分享赚钱干货,满满诚意,赶快分享给需要的朋友吧! 今天小编给大家分享一些0成本,却能让你轻松赚钱的兼职,赶快关注+点赞吧!你想具体知

    人类一败涂地免费下载、人类一败涂地免费下载手机版中文?

    人类一败涂地免费下载,人类一败涂地免费下载手机版中文,人类一败涂地免费下载手机版相关介绍,或许许多小伙伴都会问,有没有什么游戏是可以几个人玩比一个人更有意思的呢? 在这里小编就要给大家推荐一款最高可达八人联机的游戏了《人类:一败涂地》。 作为一款娱乐游戏,游戏难度本身不是太高,不过其主打的

    男子18年前扒飞机万米高空飞1.5小时生还,劫后患高空后遗症,大学辍学后闪婚又离婚

    男子18年前扒飞机万米高空飞1.5小时生还,劫后患高空后遗症,大学辍学后闪婚又离婚相关介绍,澎湃新闻记者 陈灿杰 实习生 陈诗雨 李梦雅 32岁的梁攀龙依旧寡言,一如14岁时面对围满周遭的记者。 当年记者的到来,是因梁攀龙的一次离家出走。急于挣脱父母、学校,他从湖南怀化老家扒上火车,去到昆明

    『皇上游戏』古代游戏可以结婚生子?

    皇上游戏,古代游戏可以结婚生子,昏君模拟器破解版相关介绍,作者:赵向维 来源:鸟哥笔记 最近真是太忙了,我必须找款无脑又独特的小游戏愉悦下自己。 于是,我下意识的打开微信,点击发现,忽略朋友圈,直接进入「游戏」,视线刚刚好落在“好友在玩小游戏”排行,位居榜首

    〔klook〕klook是什么意思

    klook,klook是什么意思,klook官方网站相关介绍,36氪获悉,KLOOK客路旅行宣布获2亿美元的D轮融资,由红杉资本中国基金、博裕资本领投,TCV、经纬中国、高盛及知名主权基金等跟投。