In-depth interpretation of Apple Head Display Vision Pro 3 Apple Head Display visonOS Development Guide

1 Programmer visonOS Development Guide  

As an iOS developer, it is very simple to switch to visionOS development, and some of the past technologies can basically be used. At present, according to the official documents and videos of Apple WWDC, we can know:

The development language uses swift object-c c c ++, etc., of course swift is the first choice.

The development interface uses swiftUI, if you want to display the 3D model,

Use RealityKit. Spatial computing and interaction,

There is ARKit. If you're just past the iOS app,

It can also be used directly on visionOS after repackaging and releasing, and even iOS software can be used directly. So if you can use swift, swiftUI, and learn ARKit, RealityKit, you will be able to develop visionOS applications.

In-depth visionOS development

Familiar with the knowledge of 3D field. OpenGL does not know whether to continue to support, the first choice must be Metal.

The model format in the 3D field, uv, texture, map, lighting, vertex transformation pipeline, rendering pipeline, these are also basic knowledge, various 3D formats, fbx/gltf/glb/usdz and so on.

To develop 3D, you'd better know a modeling software, blender is the official recommendation.

In addition to 3D, audio and video is also the highlight, H265 format, 3D video format. There are also knowledge in streaming media and other fields, which are the foundations that must be mastered as a senior visionOS development.

2 Software development is also a big gamble.  

For software developers, choosing a technical direction and whose thigh to embrace is also a gamble of one's own destiny. Especially programmers, if they do a certain technology for a long time, it is easy to form religious beliefs and worship. It is very difficult for him to change.

For example, myself, I have been in college for four years, and I have been dying on linux and qt. So in 2008, I started to study Nokia's mobile phone development program, Meego, symbian. Use Qt to develop Nokia mobile applications. On the one hand, it is difficult to switch because of the technology I have used for a long time, and on the other hand, I believe in companies such as Nokia, Intel, and Samsung. It turns out that the field of operating systems is dominated by Microsoft, Google, and Apple.

Although from a technical point of view, learning Qt is also very good, but compared to iOS, Android is very low in terms of programming input-output ratio. After I graduated and worked on embedded linux Qt audio and video for a year, I quickly switched to the mobile phone audio and video development track. The equivalent of wasting three years.

So programmers do development, choose a technology, and it is best to be popular in large-scale applications in the future, otherwise you will also be on a thief ship. For developers who bet on the right treasure, their careers are too far away. So choose the right technical direction, and then All in it.

3 Apple headset game development Game engine 1 Unity3d

Unity3D is a very useful game engine, and it is also very friendly to beginners, especially its c# as the main development language is also very easy to use. Some of the first successful games on iOS that year were developed by unity3D, such as Ski Adventure and Temple Run.

Later, a large number of domestic game companies basically used Unity3d as the first choice for game development. Game companies are also very easy to recruit. Unity3d is relatively simple for entry-level development, but it takes a lot of time to learn in depth.

In the game development industry, the weight of programmers is not as high as that of ordinary applications. Game planning, 2D and 3D art, technical art, and server development all have similar or even higher weights than game client programmers.

So for ordinary individuals, if you want to develop an ordinary tool software, one or two people can complete it, and at most you can learn UI design by yourself. But if you want to be an independent 2D, 3D game developer, it is relatively difficult.

2D, 3D art resources, shader, are not so easy, more suitable for teamwork to complete. The development investment in the 3D field is too high, which is one of the factors that make Metaverse more difficult these years.

4 Apple headset game development game engine 2 Godot  

For VR and AR head-mounted display game development, in addition to Unity3D, there are actually UE, cocos3D game guides to choose from. Of course, UE's parent company seems to have a bad relationship with Apple.

Then the open source game engine most like Unity3D, Godot is also a good choice.

Godot supports c# development, and the official recommendation is its own GDScript, a script similar to python, which is quick to learn. Godot has some advantages, such as seamless integration with Blender operations. Shader development is also a set of things like glsl, which supports all platforms and is free and open source. And it can support GDExtension. I recently wrote a c c++ plug-in, which seems to support ARKit itself. If something does not support it, it is easy to write a plug-in by encapsulating it yourself.

The focus is on open source and free, suitable for individuals and small studios.

I personally wrote a few applications using Unity3d in 2012, but later because these applications did not make much money, and the game needs a version number to be released in China, so I bought Unity3D for a few years, and it was useless. But it doesn't prevent Unity3d from being easy to use.

After 2017, I used OpenGL more, developed some software with Metal, and often wrote the rendering engine by myself.

This year I have two software and want to use unity3d again, but after looking at Godot, which I have been paying attention to for many years, I decided to use Godot instead of Unity3d. After using it for more than half a year, I wrote two projects and found that Godot is also very useful. It doesn't matter if you use GDScript or C#.

In the era of VR AR MR development, audio and video, image processing development technology, especially OpenGL ES is the most basic technology.

Here I recommend my personal audio and video, image processing and development series courses.

 

Guess you like

Origin blog.csdn.net/chenchao_shenzhen/article/details/131227237