文章目录

  • 前言
  • 解析下代码
    • planeBox
  • 换个模型
    • 推荐的3D模型网站
    • 下载模型注意事项
  • 将新模型放到项目里
    • 渲染模型
    • 两个诡异错误
      • Scene is modified in a rendering callback of another scene.
      • 模型不出来
      • 模型大小调整

前言

  • 学AR的过程真的是很痛苦,网上搜搜靠谱的资料几乎没有,像样的Demo基本swift,关键的特性更是发现互联网白茫茫一大片,完全没我想要的
  • 真的好痛苦,尤其是被一个问题卡了半天,后来发现其实是一个非常非常简单的小问题,唉,心塞
  • 在这篇博客,主要讲一些3D模型在Xcode中怎么设置的知识,也很小白,适合对于3D模型两眼一抹黑,啥也不懂跟我一样的小白研究
  • AR部分我都是看的这位大神的GitHub学习的ARKitDemo
  • 我用到的部分是03-ARKit检测到平面自动增加3D模型

解析下代码

  • 大家把整个Demo好好研究下就完事了,注释写的也是很详细,我也懂得不是清楚,就讲一个地方

planeBox

  • 作者在添加花瓶前先放了一个planeBox,planeBox.firstMaterial.diffuse.contents = [UIColor clearColor];这里将颜色改成白色就能看见我们的planeBox了
  • 他的思路就是先通过平地捕捉找到平面的锚点,在此锚点基础上添加一个高度为0的长方形模型(也就是像一张纸一样,当然是透明的)
  • 然后添加花瓶模型vaseNode,再将其添加在planeBox上

换个模型

  • 该Demo用的模型是一个花瓶,作为跃跃欲试的开发者第一步当然是换个模型啦

推荐的3D模型网站

  • turbosquid
  • free3d

下载模型注意事项

  • 我自己用的是scn和dae格式的
  • 下载的时候不要只下载模型文件,单单的模型文件是看不出那种狂拽酷炫屌炸天的模型效果的,因为那样子的没有渲染过,只是个灰色的铁憨憨
  • 所以要把纹理图也下载下来,进行渲染
  • 举个例子,我下载的是plate这个盘子

这里面除了dae文件下载下来之外,还有那个jpg文件也要下载下来,那个就是渲染文件

将新模型放到项目里

渲染模型

  • 将你的模型文件放入Demo里的art.scnassets里

  • 没有渲染过的模型长这样

  • 进行渲染,先在左边的Scene graph中选择plate(如果你下的也是这个盘子的话,它里面好想写错了,写成plato了),在右边的工具栏中选择Materials(就是那个一个圆圈的栏目)在其中的diffuse一栏,点开,选择你的plate.jpg

  • 然后把3D模型路径改成你的模型的

两个诡异错误

  • 就在我写完这些有的没得之后以为大功告成的时候,悲哀的发现程序直接报错了

Scene is modified in a rendering callback of another scene.

  • 这个报错给出了两个scene地址,后一个就是我们创建的,第一个是哪一个始终没找出来
  • 搜索这个问题,找到了stack overflow上一个老哥问的同样的问题Scene is modified when rendering callback
  • 他的解决方法其实就是另外开一个线程,照做之后这个问题也就解决了
  • 当然为什么会这样,我是真的不懂,如果有知道的大神欢迎评论

模型不出来

  • 这里注意这行代码SCNNode *vaseNode = scene.rootNode.childNodes.firstObject;看到没有,我们选择的是根结点的子节点的第一个节点
  • 那么我们在哪里看我们的节点呢?其实就是在前面看到的Scene graph里,而我们会看到plato并不是第一个节点,我们把它换个位置,成为第一个节点就行

模型大小调整

  • 这样之后看模型会发现模型特别特别大,看不到全貌,需要对模型进行大小调整
  • 还是打开模型,选择右边第三个标签(一个正方体),在其中的scale里进行调整

玩转iOSARkit以及3D模型相关推荐

  1. AI画师技术又精进了? AI画师三维版试玩——Dreamfields和DreamFusion向文本生成3D模型领域进发

    0.AI画师二维版的出圈 最近AI画师的杰出表现让人惊讶无比,2022虽然不是ai绘图这项技术诞生的时间,但却是到目前为止最爆火出圈的绘图元年,现在市场上也已经有了很多成熟的AI绘画APP:用户仅需打 ...

  2. 与虫子尾交3d动画网站_PPT中最酷的效果 —— 3D模型全解

    Hello,大家好,我是利兄~ 前两天一个客户问我,该如何用PPT制作超级震撼的3D效果? 我突然发现,对于PPT种的3D玩法,我好像一直没有讲过,今天我们就来详细的聊聊这个PPT中的逆天功能. 先温 ...

  3. 如何破解游戏包中的素材与3D模型

    我们做游戏的时候,往往缺素材,动画, 3D模型,如何解决这些问题呢?今天我们给大家介绍一个好用的技巧. 1: 我要做什么样的游戏, 用什么风格? 我们开始做游戏的时候,往往不知道自己要做什么样的游戏, ...

  4. 照片转3d模型_科技造假?3D打印的人像逼真到让人不敢相信!

    现在关于"科技造假"的话题特别多.先有zao换脸,又有声音模拟器换声音骗钱,很多小伙伴再也不敢相信别人了. 点击添加图片描述(最多60个字) 这才哪到哪啊兄弟们,换脸换声音都是小儿 ...

  5. 【HTML5】3D模型--百行代码实现旋转立体魔方

    最近研究魔方的玩法,就突然想用HMTL5写一个魔方的模型,由于魔方是一个3D的立方体,这次就试着用HTML5写了一个简单的3D模型. 下面是测试链接和预览画面. http://lufy.netne.n ...

  6. php 3d模型,3D模型如何使用?总结3D模型实例用法

    一.总述 当代WebGL编程所使用的3D模型大多是从3DsMax模型或Blender模型转化而来,这种工作模式比较适合3D设计师和3D程序员分工配合的场景.但对于单兵作战的WebGL爱好者来讲这种模式 ...

  7. uniapp vue3中引入外部3D模型(适配App)

    uniapp vue3中引入外部3D模型(适配App) 主要方式是通过renderjs来实现的, 因为使用threejs的话需要获取页面上的dom节点, 然后需要把threejs创建出来的canvan ...

  8. 没有美术基础也可以学习3D模型吗?| 零基础学建模小白篇

    美术基础对于学习模型制作肯定有帮助,但绝对不是充分条件. 学过传统美术基础在做3D模型的时候主要优势是具备审美,比如做人体的时候,形体这块自己虽然不一定做得出,但至少知道啥是正确的方式,比如做金属破旧 ...

  9. 没有美术基础也可以学习3D模型吗?| 零基础学建模

    美术基础对于学习模型制作肯定有帮助,但绝对不是充分条件. 学过传统美术基础在做3D模型的时候主要优势是具备审美,比如做人体的时候,形体这块自己虽然不一定做得出,但至少知道啥是正确的方式,比如做金属破旧 ...

最新文章

  1. java源码保护技术,sourceguard
  2. mysql server 5.6使用_关于MySQLServer5.6配置问题
  3. 微信小程序 canvas 文字自动换行
  4. 剑破冰山—Oracle开发艺术 前言
  5. ubuntu下的第一个脚本file.sh
  6. 测试系列之六---软件测试分类
  7. git统计每个人的代码行数_项目出了bug如何甩锅?使用这个Git工具帮你找到元凶...
  8. Sprig boot自动配置
  9. 【渝粤教育】国家开放大学2018年春季 7140-22T危急重症护理学(本) 参考试题
  10. listview bcb 行的颜色_文明交通安全行手抄报简单又漂亮
  11. echarts vue 柱状图实例_「源码学习」适用于 Vue3 的 ECharts 包装组件
  12. node mysql和koa_node+koa2+mysql搭建博客后台
  13. jdbc mysql url写法_Springboot项目连接MySql写了一个bug你也可能遇到
  14. 当下最流行的几个php论坛程序比较哪个好
  15. 《未来世界的幸存者-阮一峰》系列分享专栏
  16. 中药图片拍照识别系统全套开源
  17. 〖Python 数据库开发实战 - Python与MySQL交互篇⑪〗- 项目实战- 完善新闻管理系统中轮询的交互判断
  18. fdisk和parted对磁盘的分区总结
  19. 计算机控制系统转换的指标,(计算机控制系统实验平台.doc
  20. CV-Model【8】:ConvNeXt

热门文章

  1. Ubuntu18.04安装OBS Studio
  2. python解一元二次方程复数_python – SymPy和复数的平方根
  3. 微信小程序:页面有内容却不显示原因
  4. 英语学习者的十句经典名言
  5. Android 系统简单介绍
  6. 科视Christie 亮相上海国际电影论坛暨展览会 彰显 PLF 放映和 RGB 纯激光技术领域的领导地位
  7. 推荐几个值得关注的公众号平台
  8. 小程序使用本地图片报错问题 Failed to load local image resource
  9. 图片太普通,教你轻松制作画中画特效
  10. php商城积分兑换商品功能,ECSHOP积分商城添加金额+积分兑换功能