协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
ar-vr-xr【开发与工程】AR/VR/XR development with Unity XR, WebXR, ARKit, ARCore, Meta Quest SDK, and spatial computing. Use when building augmented reality, virtual reality, mixed reality applications, or spatial experiences.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
| Platform | SDK | Target Devices |
|---|---|---|
| Unity XR | XR Interaction Toolkit | Quest, Vision Pro, PCVR, mobile |
| WebXR | Three.js, A-Frame, Babylon.js | Any WebXR browser |
| ARKit | RealityKit, ARKit | iPhone, iPad, Vision Pro |
| ARCore | Sceneform, ARCore | Android devices |
| Meta Quest | Meta XR SDK | Quest 2/3/Pro |
| Apple Vision Pro | visionOS, RealityKit | Vision Pro |
// XR Interaction Toolkit setup
using UnityEngine.XR.Interaction.Toolkit;
public class GrabbableObject : XRGrabInteractable
{
protected override void OnSelectEntered(SelectEnterEventArgs args)
{
base.OnSelectEntered(args);
// Object grabbed
}
protected override void OnSelectExited(SelectExitEventArgs args)
{
base.OnSelectExited(args);
// Object released
}
}
// Three.js WebXR
import * as THREE from 'three';
import { VRButton } from 'three/addons/webxr/VRButton.js';
const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.xr.enabled = true;
document.body.appendChild(VRButton.createButton(renderer));
renderer.setAnimationLoop((time, frame) => {
if (frame) {
const session = renderer.xr.getSession();
const inputSources = session.inputSources;
// Handle controller input
}
renderer.render(scene, camera);
});
import SwiftUI
import RealityKit
struct ImmersiveView: View {
var body: some View {
RealityView { content in
let sphere = MeshResource.generateSphere(radius: 0.1)
let material = SimpleMaterial(color: .blue, isMetallic: true)
let entity = ModelEntity(mesh: sphere, materials: [material])
entity.position = [0, 1.5, -1]
content.add(entity)
}
.gesture(TapGesture().targetedToAnyEntity().onEnded { event in
// Handle tap on entity
})
}
}