Post

Replies

Boosts

Views

Activity

Reply to Add light to a RealityView on visionOS
I used this code that I got from https://blog.learnxr.io/xr-development/getting-started-with-apple-vision-os-development-part-2 extension Entity { /// Adds an image-based light that emulates sunlight. /// /// This method assumes that the project contains a folder called /// `Sunlight.skybox` that contains an image of a white dot on a black /// background. The position of the dot in the image dictates the direction /// from which the sunlight appears to originate. Use a small dot /// to maximize the point-like nature of the light source. /// /// Tune the intensity parameter to get the brightness that you need. /// Set the intensity to `nil` to remove the image-based light (IBL) /// from the entity. /// /// - Parameter intensity: The strength of the sunlight. Tune /// this value to get the brightness you want. Set a value of `nil` to /// remove the image based light from the entity. func setSunlight(intensity: Float?) { if let intensity { Task { guard let resource = try? await EnvironmentResource(named: "Sunlight") else { return } var iblComponent = ImageBasedLightComponent( source: .single(resource), intensityExponent: intensity) // Ensure that the light rotates with its entity. Omit this line // for a light that remains fixed relative to the surroundings. iblComponent.inheritsRotation = true components.set(iblComponent) components.set(ImageBasedLightReceiverComponent(imageBasedLight: self)) } } else { components.remove(ImageBasedLightComponent.self) components.remove(ImageBasedLightReceiverComponent.self) } } } For my sunlight I used this image that I put into Sunlight.skybox. That added light to my scene above.
Nov ’23
Reply to building for xr_os simulator but the file (Libraries/libiphone-lib.a[5](MeshSkinningNEON64_blzfc.0) is built for xros.
I had similar issues when I build my project for the first time. You will need to rebuild all of your dependencies for visionOS and visionOS simulator. I was having issues building a universal binary for one of my dependencies. To get my app up and running, I swapped out the library file with the correct one based on what I was targeting. Once I had it working, I was able to go back and get the universal build for the library working.
Aug ’23
Reply to VisionOS Game Development
Depending on the type of game you are building, you will likely want to use SceneKit, SpriteKit, or RealityKit. SwiftUI is the future, so my recommendation is to start there. Though there are things it does not support and then you have to bridge over to UIKit in those cases.
Aug ’23
Reply to Image Input for ShaderGraphMaterial
Here is what I did to send an image to ShaderGraphMaterial. let img = getSomeUIImage() let mat = getShaderGraphMaterial() if let cgImg = img.cgImage { let texture = try TextureResource.generate(from: cgImg, options: TextureResource.CreateOptions.init(semantic: nil)) try mat.setParameter(name: "cover", value: .textureResource(texture)) }
Aug ’23
Reply to Render material on the inside of a sphere.
I create a sphere that I use for sky and display an image on the inside of it by changing the scale property on the Entity. Here is how I create a very large sphere and have the material rendered on the inside of it. let entity = Entity() entity.components.set(ModelComponent( mesh: .generateSphere(radius: 100000), materials: [material] )) // Ensure the texture image points inward at the viewer. entity.scale *= .init(x: -1, y: 1, z: 1)
Jul ’23
Reply to 'PointLight' is unavailable in xrOS
I see that the documentation has been updated to show that PointLight, DirectionalLight, and SpotLight are not available on visionOS. Does anyone know how to add a light source to a RealityKit scene on visionOS? I am working on a fully immersive experience and I need to add light from the sun to my scene, but I can't figure out how to do it.
Jul ’23
Reply to Not able to get Apple Watch Ultra Action Button Support working
I found exactly what I have to do with my app to get the action button to work. I have to use Xcode 14.0.1 I had to remove CryptoSwift as a package dependency and add it as an xcframework instead. What is odd is that I am linking against the exact same version of CryptoSwift, I just had to change how I brought it into my project. I found that the reason I did not have constant results was that I needed to delete the DerivedData every time I switch versions of Xcode. I could not get the action button to work with my app using Xcode 14.1 or Xcode 14.2. Most likely there is something else, like removing the CryptoSwift packager dependency that I need to do to get it to work. I tried removing the other swift package dependencies that I have and that did not make any difference.
Feb ’23
Reply to Not able to get Apple Watch Ultra Action Button Support working
I have found a little more information on this, but I have not yet been able to pinpoint it. I thought I would share where I am at in case it helps someone else find this issue. I found that if I build the app with Xcode 14.0 and remove CryptoSwift as a package dependency most of the time I can get it to work. I say most of the time because sometimes when I do a clean build on a new simulator it still does not work. But about 80% of the time it is working for me when I do this. I then tried Xcode 14.1 with CryptoSwift removed from my project and I got it to work once, but I was never able to get it to work again when I would do a fresh build. With each of these tests I was using a watchOS 9.0 simulator. I then tried building with Xcode 14.0 without CryptoSwift as a dependency and I was able to select my app for the action button on my Apple Watch Ultra running watchOS 9.3. This does seem to point to a bug in Xcode 14.2 with the build settings and dependences. I am going to keep experimenting to see if I can pinpoint exactly what the combination is that makes it work. I am able to get https://github.com/KhaosT/WatchActionButtonExample to work just fine with Xcode 14.2. If anyone else is seeing this and has information on this issue, I would greatly appreciate any insights you might have.
Feb ’23