mesh-avatar-studio
일러스트를 코딩 에이전트와 로컬 편집기로 2D 메쉬 애니메이션 아바타로 변환
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A macOS app that automates 3D model reconstruction from photos. Process multiple photo sets with various quality settings into meshes and splats on a schedule.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Reality Pulse is a macOS photogrammetry queue for Apple Object Capture. It turns folders of photos into USDZ 3D models with a SwiftUI batch interface, RealityKit reconstruction settings, scheduled processing windows, SwiftData persistence, and crash-aware retry recovery.
Use it when you have many capture sets to reconstruct and want a local Apple Object Capture workflow that can run overnight, survive relaunches, keep completed history, and export multiple quality levels from one job.README 전문 보기 ↗Reality Pulse is a macOS photogrammetry queue for Apple Object Capture. It turns folders of photos into USDZ 3D models with a SwiftUI batch interface, RealityKit reconstruction settings, scheduled processing windows, SwiftData persistence, and crash-aware retry recovery.
Use it when you have many capture sets to reconstruct and want a local Apple Object Capture workflow that can run overnight, survive relaunches, keep completed history, and export multiple quality levels from one job.
Apple Object Capture is powerful, but running one folder at a time is tedious when you are scanning products, props, archive objects, handmade pieces, or environment assets. Reality Pulse wraps PhotogrammetrySession in a persistent queue so you can prepare a batch, choose output quality, and let the Mac process the work in order.
.usdz models per job..usdz file as a job to convert it to glTF, glb, or Gaussian Splat (.ply) without reconstructing..ply, or a Text Sculpture .glb that rebuilds the model out of your own words (readable rings of text or a cloud of letters, any script, colored by the model's texture or a single ink).Reality Pulse restores the queue on launch, but it does not automatically start processing after a relaunch. The user stays in control.
PhotogrammetrySessionClone the repo and build the macOS app:
git clone https://github.com/nuit-dhiver/reality-pulse.git
cd reality-pulse
xcodebuild -project RealityPulse.xcodeproj \
-scheme RealityPulse \
-configuration Debug \
-destination 'platform=macOS' \
build
You can also open RealityPulse.xcodeproj in Xcode and build the RealityPulse scheme.
Run the persistence and scheduler-focused test suite with:
xcodebuild -project RealityPulse.xcodeproj \
-scheme RealityPulse \
-configuration Debug \
-destination 'platform=macOS' \
test
The current tests cover SwiftData persistence, schedule reloads, launch recovery, interrupted jobs, retry behavior, and one-time legacy JSON migration.
Releases are driven by Git tags. To publish a new GitHub Release:
git tag v1.1.0
git push origin v1.1.0
The release workflow builds Reality Pulse.app in Release configuration, runs the test suite, packages the app as a zip, writes a SHA-256 checksum, and attaches both files to the GitHub Release.
The current release artifact is ad-hoc signed for local/open-source distribution, not notarized.
Bump the version before tagging or uploading to App Store Connect. Every command except show also increments the build number, which App Store Connect requires to increase with each upload:
scripts/bump-version.sh patch
Use show, build, patch, minor, major, or set 1.4.0.
The app target is sandboxed (com.apple.security.files.user-selected.read-write only), ships a privacy manifest (PrivacyInfo.xcprivacy), and declares ITSAppUsesNonExemptEncryption = NO. The bundle identifier is com.openmuseum.realitypulse. The privacy policy is in PRIVACY.md.
The Mac App Store build workflow (.github/workflows/app-store.yml) is started manually from the Actions tab. It runs the tests, archives, signs, and exports the .pkg using scripts/ExportOptions.plist. With upload unticked it's a dry run that attaches the signed package as an artifact; ticked, it also uploads the build to App Store Connect for TestFlight and review.
One-time setup after joining the Apple Developer Program:
com.openmuseum.realitypulse and the app record in App Store Connect..p12.Reality Pulse Mac App Store.APPLE_TEAM_ID and the secrets SIGNING_CERTIFICATES_P12 (base64 -i certificates.p12 | pbcopy), SIGNING_CERTIFICATES_PASSWORD, ASC_KEY_ID, ASC_ISSUER_ID, and ASC_PRIVATE_KEY (the .p8 file contents).Run scripts/bump-version.sh before each upload; App Store Connect rejects a build number it has already seen.
The app is designed for folders of still images supported by Apple Object Capture. Image metadata is inspected where available so the UI can enable bounding-box related options only when the capture set supports them.
Each requested detail level writes a separate USDZ file named:
<model-name>-<detail-level>.usdz
For example, a model named Vase with medium and raw outputs produces:
Vase-medium.usdz
Vase-raw.usdz
Scheduling controls are intentionally conservative:
PhotogrammetrySession does not support pausing an in-progress requestReality Pulse stores jobs and schedule settings with SwiftData. On launch it:
interruptedWhen retrying an interrupted multi-output job, previously completed outputs are skipped only if the app recorded their completion and the file still exists. Existing files without a recorded completion are treated as stale partial outputs and replaced before retrying.
ObjectCaptureReconstructionApp: creates the SwiftData model container and main SwiftUI window.ContentView: owns the app model and routes between the queue dashboard and processing views.AppDataModel: central UI/application state.JobScheduler: sequential queue processor, schedule enforcement, sleep prevention, notifications, and retry recovery.JobStore: SwiftData-backed persistence API for jobs, schedule settings, and legacy JSON migration.ReconstructionJob: app-facing value model for input/output folders, Object Capture settings, progress, status, and completed outputs.Settings/: SwiftUI controls for folder selection and PhotogrammetrySession.Configuration.Processing/: progress display and USDZ preview with RealityKit.See docs/ARCHITECTURE.md for a deeper code map and CONTRIBUTING.md for development conventions and test commands.
Recommended repository topics:
apple-object-capture, photogrammetry, macos, swiftui, swiftdata, realitykit, usdz, 3d-reconstruction, object-capture, batch-processing
These topics help developers find the project when searching for SwiftUI photogrammetry tools, RealityKit Object Capture examples, macOS USDZ exporters, and batch 3D reconstruction workflows.
This project is licensed under the MIT License. It also contains components originally provided by Apple Inc. under the MIT License. See LICENSE for the full license text, including the Apple notice.