I am experiencing a single video frame glitch when transitioning from one RealityKit Entity animation to another when transitionDuration is non-zero.
This is with the current RealityKit and iOS 14.6 (i.e., not the betas).
Is this a known issue?
Have people succeeded in transitioning from one animation to another with a non-zero transition time and no strange blink?
Background:
I loaded two USDZ models, each with a different animation. One model will be shown, but the AnimationResource from the second model will (at some point) be applied to the first model.
I originally created the models with Adobe's mixamo site (they are characters moving), downloaded the .fbx files, and then converted them to USDZ with Apple's "Reality Converter".
I start the first model (robot) with its animation, then at some point I apply the animation from the second model (nextAnimationToPlay) to the original model (robot).
If the transitionDuration is set to something other than 0, there appears a single video frame glitch (or blink) before the animation transition occurs (that single frame may be the model's original T-pose, but I'm not certain).
robot.playAnimation(nextAnimationToPlay, transitionDuration: 1.0, startsPaused: false)
If transitionDuration is set to 0, there is no glitch, but then I lose the smooth transition.
I have tried variations. For example, setting startPaused to "true", and then calling resume() on the playback controller; also, waiting until the current animation completes before calling the playAnimation() with the next animation. Still, I get the quick blink.
Any suggestions or pointers would be appreciated.
Thanks,
Post
Replies
Boosts
Views
Activity
I'm using Transform's move(to:relativeTo:duration:timingFunction:) to rotate an Entity around the Y axis in an animated fashion (e.g., duration 2 seconds)
Unfortunately, when I rotate from 6 radians (343.7*) to 6.6 radians (378.2*), the rotation does not continue anti-clockwise past 2 pi (360*) but backwards to 0.317 radians (18.2*).
Is there a way to force a rotation about an axis to go in a clockwise or anti-clockwise direction when animating?
Is it possible to turn on and off different occlusion material when using Scene Understanding with LiDAR and RealityKit?
For example, if ARKit identifies a wall, I don't want that mesh to be used during occlusion (but I do want occlusion for other things, like the couch or the floor)
If I could do this, it would essentially make my walls transparent, and I could see the RealityKit objects that extend beyond the room I am in.
Thanks,
Given an AnchorEntity from say RealityKit's Scene anchors collection, is it possible to retrieve the ARAnchor that was used when creating the AnchorEntity?
Looking through the AnchorEntity documentation, - https://developer.apple.com/documentation/realitykit/anchorentity it seems that while you can create an AnchorEntity using an ARAnchor, there is no way to retrieve that ARAnchor afterwards.
Alternatively, the ARSession delegate functions receive a list of ARAnchors or an ARFrame that has ARAnchors, but I could not find an approach to retrieve AnchorEntities that might be associated with any of these ARAnchors.
Given an ARAnchor, is there a way to get an AnchorEntity associated with it?
Thanks,
The ARMeshGeometry - https://developer.apple.com/documentation/arkit/armeshgeometry documentation references ARMeshClassification, - https://developer.apple.com/documentation/arkit/armeshclassification but I cannot find any obvious way to get classification information for the mesh data.
I found the classificationOf(faceWithIndex: index) function in the Xcode sample project Visualizing and Interacting with a Reconstructed Scene - https://developer.apple.com/documentation/arkit/content_anchors/visualizing_and_interacting_with_a_reconstructed_scene, but it seems pretty complex.
Is there something simpler that I am missing?
It also seems from the code that a mesh doesn't have a classification, but only individual geometry faces in the mesh have a classification.
Is it common for a single mesh to represent many different objects (e.g., a chair, floor, and wall) all at the same time?
Thanks,
Is there an equivalent to MultipeerConnectivityService that implements SynchronizationService over TCP/IP connections?
I'd like to have two users in separate locations, each with a local ARAnchor but then have a synchronized RealityKit scene graph attached to their separate ARAnchors.
Is this possible?
Thanks,
I've been working in Swift on iOS to access images via UIImagePickerController, pulling the PHAsset from the picker delegate's "info" dictionary, and then pulling GPS information from the PHAsset.
For newer photos, the asset.location is populated with GPS information.
Also, with newer photos, CIImage's property dictionary has {GPS} information.
So all is good with newer photos.
But when I go back to images taken in 2017, asset.location is nil and there is no "{GPS} information in the CIImage.
However, if I export the photo from Photos app on my Mac and then view it in Preview, there *is* GPS information.
So am I missing some settings to find the GPS information in older photos using PHAsset on iOS?
Thanks,
I noticed an issue when testing my AR software on my iPhone 11 Pro when holding it horizontally to the right - Xcode's console starts printing this error message over and over.
[Technique] Could not transform image.
I created a new Xcode project with the ARKit template. Made no changes. Just built it and ran it on my iPhone 11 Pro (connected over USB)
Phone vertical - no problem
Phone horizontal to the left - no problem
Phone horizontal to the right - the above error message repeated
Any idea (1) why this occurring? And (2) why it occurs when the phone is horizontal to the right but not the left?
Any known work-arounds (besides "Don't hold it to the right")?
When I call clone() on a ModelEntity, is all the mesh data duplicated or just referenced?
I am using the same command-line to notarize a package installer that I have been using all day as well as the past month. Suddenly I started getting a failureUnable to validate your application. We are unable to create an authentication session.$ xcrun altool --notarize-app --primary-bundle-id ...
2020-02-27 15:09:48.488 altool[48387:2691346] *** Error: Unable to validate your application. We are unable to create an authentication session.I couldn't find any problems on the "Apple Status" page.Any suggestion what I am doing wrong? Is there an issue with my account?Thanks,
I am having problems connecting to my endpoint system extension from another app.The ES's main app (the front-end GUI) connects fine to the endpoint extension and they communicate fine. I am using the mach service name of<TeamID>.<system extension BundleID>.xpcHowever, when trying to connect from another GUI app using the same code and trying to use the same mach service name, the connect fails with error"Couldn’t communicate with a helper application."Anyone know the magic incantation I need to add to get this working?Thanks,
I had a weird case today when an endpoint system extension remained running even after I deleted the .app bundle.If I tried killing the process with "sudo kill -9 <pid>", the extension respawned.If I tried "sudo launchctl remove <name>", I was told I didn't have privilege.Searching my hard drive I found a copy of the system extension in /Macintosh HD/Library/System Extensions/...I rebooted into recovery mode, deleted the extension bundle, and restarted. Everything initially looked fine. The process did not come back.But then when I tried to re-build, re-package, re-install, and re-launch the application, the operating system complained that it could not find the system extension even though it was there in the .app bundle.The operating system seems to (A) create a cache/copy of the system extension bundle, and (my guess) (B) maintains a link to that cache location somewhere and tries to launch that cached system extension bundle.[my hacked solution was to rename the extension, including creating a new bundle ID and associated provisioning profile]Has anyone encountered a system extension that woud not die? Did you figure out how to kill it and clear out any caches of it?Thanks,
With SIP enabled, callinges_new_client_result_t res = es_new_client(&g_client,(argc > 0) ? deferedHandler : serialHandler);returns ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED.I do have com.apple.developer.endpoint-security.client in my provising profile.I see that provisinging profile is embedded in the installed application/Applications/fox1.app/Contents/Library/SystemExtensions/com.netsqllc.fox1.foxextension.systemextension/Contents/embedded.provisionprofileand looking at the contents of that file does show the endpoint-security-client insideEntitlements
com.apple.developer.endpoint-security.client
The extension does launch with euid and ruid of 0.(Edit: Also, the System Preferences panel comes up, I unlock it, and click "Allow" to allow the application to start.)Any ideas why I am gettin ES_NEW_CLIENT_RESULT_ERR_NOT_PERMITTED?
Last week I was able to notarize my .pkg installer without any problems.This week all attempts have failed. The two error message in the log file are:"The binary is not signed with a valid Developer ID certificate.""The signature does not include a secure timestamp."This is despite the application being signed with a legitimate Developer ID (the same I used last week, date is still valid), and I've verified that it is there with codesign.Anyone seeing anything similar to this?Has something changed requiring me to make a change to my toolings/command set?Current Xcode build is: Version 11.3.1 (11C504)Thanks,