苹果头显Vision Pro深度解读3 苹果头显visonOS开发指南

news2024/11/24 14:05:21

1  程序员visonOS开发指南  

作为iOS开发者,切换到visionOS开发非常简单啊,过去的一些技术基本上都用得上。目前根据苹果WWDC官方的文档,视频,我们可以知道:

开发语言,使用的是swift object-c c c++等,swift当然作为首选。

开发界面,使用的是swiftUI, 如果要展示3D模型,

用RealityKit.  空间计算以及交互,

有ARKit。如果你只是过去的iOS应用,

重新打包发布下也可以直接在visionOS上用,甚至可以直接使用iOS的软件。 所以会使用swift,swiftUI, 学习下ARKit,RealityKit就能够胜任visionOS应用开发。

深入的visionOS开发

熟悉3D领域的知识。OpenGL不知道是否继续支持,首选的肯定是Metal。

3D领域的模型格式啊,uv,纹理,贴图,光照,顶点变换管线,渲染管线这些也是基础的知识,各种3D格式,fbx/gltf/glb/usdz等等。

开发3D,你最好还要懂得一个建模软件,官方前列推荐的是blender。

除了3D,音视频也是重头戏,H265格式,3D视频格式。还有流媒体等领域的知识,都是作为资深visionOS开发必须掌握的基础。

2 软件开发也是一场豪赌.  

软件开发者,选择一个技术方向,抱谁的大腿,也是一场自己命运的赌博。 尤其是程序员,如果长期做某一项技术,容易形成宗教一般的信仰,崇拜。要他改变,非常难。

比如我自己,我大学四年,死磕linux,qt。 于是我在2008年,就开始研究Nokia的手机开发方案,Meego, symbian。用Qt去开发诺基亚的手机应用。一方面因为自己长期使用的技术很难切换,另一方面相信Nokia,Intel,三星这些公司。结果发现,操作系统领域,是微软,谷歌,苹果的天下。

虽然从技术的角度,学习Qt也是很好的,但是从编程投入产出比,相对于iOS,Android就很低了。我也是毕业做了一年嵌入式linux Qt音视频后,才快速切换到手机音视频开发赛道。相当于浪费了三年时间。

所以程序员做开发,选择一个技术,最好未来能够大规模应用流行,否则你也是上了贼船。职业生涯跟押对宝的开发者来说,就差太远。所以选择正确的技术方向,然后All in它。

3 苹果头显游戏开发 游戏引擎1 Unity3d

Unity3D是一个很好用的游戏引擎,对于初学者也很友好,尤其是它的c#作为主要开发语言,也非常好用。 当年iOS上最初一些成功的游戏,都是unity3D开发的,比如滑雪大冒险,神庙逃亡。

后来国内大量的游戏公司,基本上也都是用Unity3d作为游戏开发首选。游戏公司也非常好招人。Unity3d,入门开发比较简单,但是想深入也需要花很多时间去学习。

游戏开发行业,程序员所占的权重,不像普通应用那么高。游戏策划,2D 3D美术啊,技术美术啊,服务器开发啊,所占的权重都跟游戏客户端程序员差不多甚至更高。

所以普通个人,你如果想开发一个普通工具软件,一两个人就能完成,最多自己学习下UI设计。 但是如果你想做一个独立2D,3D游戏开发者,就相对困难一些。

2D,3D美术资源,shader,都没那么容易,更适合团队协作去完成。3D领域的开发投入太高,这也是这些年元宇宙比较困难的因素之一。

4 苹果头显游戏开发 游戏引擎2 Godot  

VR AR头显游戏开发,除了Unity3D,其实还有UE,cocos3D这些游戏引可以选择。当然UE母公司跟苹果关系好像有点不好。

那么最像Unity3D的开源游戏引擎,Godot也是一个不错的选择。

Godot支持c#开发,官方推荐的额是自家的GDScript一种类似python的脚本,学习起来也很快。Godot有些好处,比如跟Blender操作无缝衔接。shader开发也是glsl那一套东西,支持所有的平台,免费开源。 而且可以支持GDExtension 最近写c c++插件,本身似乎也支持ARKit,如果什么东西不支持,自己封装一些,写个插件也很容易。

重点是开源免费,适合个人,小工作室。

我个人2012年开始用Unity3d写过几个应用,但后来因为这些应用都没怎么赚到钱,以及国内上架游戏需要版号,所以买了几年Unity3D,就没用它了。但是不妨碍Unity3d很好用啊。

2017年以后,我更多的使用OpenGL,Metal开发了一些软件,很多时候都在自己写渲染引擎。

今年我有两个软件,想用回unity3d, 但看了下关注了很多年的Godot, 就决定用Godot代替Unity3d了。用了大半年,写了两个项目,发现Godot也很好用。无论你用GDScript或者C#都可以。

VR AR MR开发时代,音视频,图像处理开发技术,尤其是OpenGL ES是最基础的技术。

这里给大家推荐我个人的音视频,图像处理开发系列课程。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650456.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

简化日志数据管理:利用 Elastic 灵活路由的力量

作者:Felix Barnsteiner,Nicolas Ruflin 在 Elasticsearch 8.8 中,我们在技术预览中引入了重新路由处理器(reroute processor),它可以根据灵活的路由规则将文档(例如日志)发送到不同…

Jmeter吞吐量控制器使用小结

吞吐量控制器(Throughput Controller)场景: 在同一个线程组里, 有10个并发, 7个做A业务, 3个做B业务,要模拟这种场景,可以通过吞吐量模拟器来实现.。 添加吞吐量控制器 如果你想学习jmeter性能测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网…

第十六届全国大学生信息安全竞赛CISCN---Cypto

1.Sign_in_passwd 打开环境,下载附件,用记事本打开flag的文件 发现里面是像base密码但又不像base密码的一串,第二行的%,就很像url密码啊,之前做题没接触过啊,还是做题做少了 没有啥解题思路,看…

基于Jeecg-boot的flowable流程支持拒绝同意流程操作

更多功能看演示系统 gitee源代码地址 后端代码: https://gitee.com/nbacheng/nbcio-boot 前端代码:https://gitee.com/nbacheng/nbcio-vue.git 在线演示(包括H5) : http://122.227.135.243:9888 因为看很多朋友需要…

利用Transformer BEV解决自动驾驶Corner Case的技术原理

摘要: 本文总结了Transformer和BEV技术在自动驾驶中的原理和应用,特别是如何解决Corner Case问题。 自动驾驶系统在实际应用中需要面对各种复杂的场景,尤其是Corner Case(极端情况)对自动驾驶的感知和决策能力提出了更…

访问者模式(十八)

相信自己,请一定要相信自己 上一章简单介绍了命令模式(十七), 如果没有看过, 请观看上一章 一. 访问者模式 引用 菜鸟教程里面访问者模式介绍: https://www.runoob.com/design-pattern/visitor-pattern.html 在访问者模式(Visitor Pattern&#xff09…

大模型入门(六)—— RLHF微调大模型

一、RLHF微调三阶段 参考:https://huggingface.co/blog/rlhf 1)使用监督数据微调语言模型,和fine-tuning一致。 2)训练奖励模型     奖励模型是输入一个文本序列,模型给出符合人类偏好的奖励数值,这个奖…

大数据技术——用户与组管理

一、实验目的 1.了解linux用户和组 2.熟练掌握liunx用户和组的基本操作 3.进一步了解linux系统 二、实验内容 1.用户账号的添加、删除与修改。 2.用户口令的管理 3.用户组的管理 三、实验原理或流程 Linux系统是一个多用户多任务的分时操作系统,任何一个要使…

阿里面试了7轮...就这么狠的吗?

引言 今年的大环境非常差,互联网企业裁员的现象比往年更严重了,可今年刚好是我的第一个“五年计划”截止的时间点,说什么也不能够耽搁了,所以早早准备的跳槽也在疫情好转之后开始进行了。但是,不得不说,这…

ApacheStreamPark2.1.0部署及执行flink-cdc任务同步mysql表的数据到es的实践

文章目录 [toc] 1.ApacheStreamPark是什么?2.介绍2.1 特性2.2 架构2.3 Zeppelin和StreamPark的对比 3.相关连接4.部署4.1 二进制包编译构建4.2 镜像构建4.3 初始化sql4.4 部署4.4.1 Docker-compose.yaml部署脚本4.4.2 配置文件准备4.4.3 flink启动配置4.4.4 streamp…

7. WebGPU 将图像导入纹理

我们在上一篇文章中介绍了有关使用纹理的一些基础知识。在本文中,我们将介绍从图像导入纹理。 在上一篇文章中,通过调用 device.createTexture 创建了一个纹理,然后通过调用 device.queue.writeTexture 将数据放入纹理中。 device.queue 上还…

从小白到大神之路之学习运维第41天---第三阶段---Redis高可用集群(redis 的主从复制、redis的哨兵模式操作)

第三阶段基础 时 间:2023年6月15日 参加人:全班人员 内 容: Redis高可用集群 目录 一、redis主从复制原理介绍 主从复制特点: 主从复制实现原理: 二、主从复制实现操作(多机实例实现&#xff09…

Mysql 表的七种联接方式【附带练习sql】

联接 七种JOIN介绍 图形联接方式说明SQL内联接共有部分SELECT <select_list> FROM TableA A INNER JOIN TableB B ON A.Key B.Key;左联接A表独有共有部分SELECT <select_list> FROM TableA A LEFT JOIN TableB B ON A.Key B.Key;右联接B表独有共有部分SELECT &…

linux spi相关调试

在Linux系统中&#xff0c;SPI 的用户模式设备接口的驱动源码位于 drivers/spi/spidev.c&#xff0c;在应用层生成 /dev/spidev* 的节点&#xff0c;可以通过 read、 write 达到与硬件设备的 SPI 通信。下面介绍spidev驱动移植和应用程序编写方法。 SPI &#xff08;serial pe…

阿里 P8 面试官总结的《2023 最新 java 面试题》限时开源了

国内的互联网面试&#xff0c;恐怕是现存的、最接近科举考试的制度。 以美国为例&#xff0c;北美工程师面试比较重视算法&#xff08;Coding&#xff09;&#xff0c;近几年也会加入 Design 轮&#xff08;系统设计和面向对象设计 OOD&#xff09;和 BQ 轮&#xff08;Behavi…

怎么学习数据库的相关知识? - 易智编译EaseEditing

学习数据库的相关知识可以按照以下步骤进行&#xff1a; 确定学习目标&#xff1a; 了解数据库的基本概念、原理和常用术语&#xff0c;学习数据库管理系统&#xff08;DBMS&#xff09;的功能和特性&#xff0c;以及掌握数据库设计和查询语言等方面的知识。 学习数据库基础知…

【闭包函数与装饰器大全】——python基础

目录索引 闭包&#xff1a;闭包三要素&#xff1a;闭包的作用&#xff1a;闭包演示&#xff1a;闭包的意义&#xff1a; 装饰器&#xff1a;特点&#xff1a;实例演示&#xff1a;实例演示2之参数&#xff1a; 装饰器常用的场景&#xff1a;编写一个计时的装饰器&#xff1a;*普…

AIGC和虚拟现实为什么必然产物

背景 在流量存量时代&#xff0c;内容运营重要性不言而喻。在流量时代&#xff0c;内容可以不要过于多样化和差异化&#xff0c;只需要有足够多的人流量&#xff0c;按流量转化比率来看&#xff0c;1000个人有1%概率转化&#xff0c;素材不变只要增加足够多的流量那就一定会有…

永久存储:文件处理与路径处理

&#x1f4e2;博客主页&#xff1a;盾山狂热粉的博客_CSDN博客-C、C语言,机器视觉领域博主&#x1f4e2;努力努力再努力嗷~~~✨ &#x1f4a1;大纲 ⭕如何将数据永久的存放到硬盘上 &#x1f449;不要打开文件&#xff0c;然后直接关闭文件&#xff0c;会导致截断 一、如何操作…

OneNote支持Markdown:高亮代码

文章目录 结论在前效果安装日常工作流&#xff08;高亮代码块&#xff09; 结论在前 markdown对我来说是伪需求&#xff0c;真正需要的是高亮代码&#xff0c;通过Github/NoteHighlight2016这个开源插件可实现这个插件虽然叫2016&#xff0c;但实测onenote 2013也是可以用的 效…