Apple)で提供されるロボットのような3Dモデルを作成しようとしています。これは、モーションキャプチャARKit 3.0でAppleから提供されたロボットキャラクターを置き換えることで私を模倣できます。
望ましい解決策:
Apple robot.usdz
ファイルの作成に使用される特別なソフトウェアはありますか?ある場合は、その詳細を提供してください。
AppleのPythonベースのツールを使用して、.glb
/.gltf
/.obj
/.dae
ファイルなどの形式をどのように.usdz
に変換できますか?シーングラフに影響を与えることなく?
Xcodeで.usdz
ファイルのシーングラフを編集して、変更を.usdzファイルに正常に保存するにはどうすればよいですか?
まだテストしていません。
次のソリューションを試して、ARKitのMoCapで使用する骨格メッシュを準備します。
Skin
–Bind Skin
を使用してメッシュにスケルトンを追加するFile
–Game Exporter
を使用しますBinary
およびバージョン:FBX 2020
を押してSave
を押します次に sdz Tools for Xcode 11 および FBX Python SDK をダウンロードします。
これが私のpostで、macOS Catalinaで.zshrc
ファイルを作成する方法を説明しています。
その.zshrc
ファイルに次の行を追加(および保存)します。
export PYTHONPATH="/Applications/Autodesk/FBXPythonSDK/2020.0.1/lib/Python27_ub:$PYTHONPATH"
これで、お気に入りのコマンドを使用して.fbx
ファイルを.usdz
形式に変換できます:
usdzconvert ~/Desktop/character.fbx
そして、モーションキャプチャでモデルをテストします。
import RealityKit
import ARKit
class ViewController: UIViewController, ARSessionDelegate {
@IBOutlet var arView: ARView!
var character: Entity?
let characterAnchor = AnchorEntity()
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
arView.session.delegate = self
guard ARBodyTrackingConfiguration.isSupported
else { fatalError("MoCap is available on A12 & later") }
let config = ARBodyTrackingConfiguration()
arView.session.run(config)
arView.scene.addAnchor(characterAnchor)
character = try? Entity.load(named: "character")
}
func session(_ session: ARSession, didUpdate anchors: [ARAnchor]) {
for anchor in anchors {
guard let bodyAnchor = anchor as? ARBodyAnchor
else { continue }
let bodyPosition = simd_make_float3(bodyAnchor.transform.columns.3)
characterAnchor.position = bodyPosition
characterAnchor.orientation = Transform(matrix: bodyAnchor.transform).rotation
if let character = character, character.parent == nil {
characterAnchor.addChild(character)
characterAnchor.scale = [0.02, 0.02, 0.02]
}
}
}
}
P.S。率直に言って、カスタムリギングモデルでARBodyTrackingConfigurationをテストしていません。現在、サポートされているデバイスがないためです。テストして、モーションキャプチャの経験について書いてください。