All Projects → palle-k → GVRSCNRenderer

palle-k / GVRSCNRenderer

Licence: MIT license
SceneKit Rendering and ARKit 6DOF Tracking for Google Cardboard

Programming Languages

swift
15916 projects
objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to GVRSCNRenderer

Viro
ViroReact: AR and VR using React Native
Stars: ✭ 1,735 (+9031.58%)
Mutual labels:  augmented-reality, vr, cardboard, virtual-reality, arkit
Virocore
ViroCore cross-platform AR/VR renderer
Stars: ✭ 270 (+1321.05%)
Mutual labels:  augmented-reality, vr, virtual-reality, scenekit
Arkit Floorislava
Basic ARKit example that detects planes and makes them lava.
Stars: ✭ 120 (+531.58%)
Mutual labels:  augmented-reality, scenekit, arkit
Stereokit
An easy-to-use mixed reality library for building HoloLens and VR applications with C# and OpenXR!
Stars: ✭ 195 (+926.32%)
Mutual labels:  augmented-reality, vr, virtual-reality
Webxr Polyfill
Use the WebXR Device API today, providing fallbacks to native WebVR 1.1 and Cardboard
Stars: ✭ 251 (+1221.05%)
Mutual labels:  augmented-reality, vr, virtual-reality
Unity-ARKit-Plugin
Modified plugin source and Add custom ARKit projects implement on Unity
Stars: ✭ 83 (+336.84%)
Mutual labels:  augmented-reality, scenekit, arkit
Arplayer
Playback videos using ARKit and AVFoundation.
Stars: ✭ 117 (+515.79%)
Mutual labels:  augmented-reality, scenekit, arkit
Polymer
🎨 graphics + interaction engine
Stars: ✭ 243 (+1178.95%)
Mutual labels:  augmented-reality, vr, virtual-reality
Svrf Ios Sdk
iOS SDK for the Svrf API and ARKit Face Filters
Stars: ✭ 24 (+26.32%)
Mutual labels:  augmented-reality, virtual-reality, arkit
SceneKit-PortalMask
Clean class to create a portal in SceneKit for use in ARKit.
Stars: ✭ 60 (+215.79%)
Mutual labels:  augmented-reality, scenekit, arkit
V2R
Code for our IJCAI 2020 paper: "Keep It Real: a Window to Real Reality in Virtual Reality".
Stars: ✭ 20 (+5.26%)
Mutual labels:  augmented-reality, vr, virtual-reality
OpenXR-CTS
Conformance test suite for OpenXR
Stars: ✭ 38 (+100%)
Mutual labels:  augmented-reality, vr, virtual-reality
Arkit Projects
Experimenting with ARKit
Stars: ✭ 70 (+268.42%)
Mutual labels:  augmented-reality, scenekit, arkit
Augmentedsolarsystem
An Augmented reality experience to explore planets in our Solar System
Stars: ✭ 69 (+263.16%)
Mutual labels:  augmented-reality, scenekit, arkit
Scenekit Scnline
Draw a tube or thick line in SceneKit
Stars: ✭ 49 (+157.89%)
Mutual labels:  augmented-reality, scenekit, arkit
Openxr Sdk Source
Sources for OpenXR loader, basic API layers, and example code.
Stars: ✭ 236 (+1142.11%)
Mutual labels:  augmented-reality, vr, virtual-reality
TheLaughingMan-ARKit
Use ARKit to become the infamous Laughing Man from Ghost in the Shell
Stars: ✭ 26 (+36.84%)
Mutual labels:  augmented-reality, scenekit, arkit
Hover Ui Kit
Create beautiful user interfaces for immersive VR/AR experiences.
Stars: ✭ 662 (+3384.21%)
Mutual labels:  augmented-reality, vr, virtual-reality
Arpaint
Draw with bare fingers in the air using ARKit
Stars: ✭ 672 (+3436.84%)
Mutual labels:  augmented-reality, scenekit, arkit
ARKit-FocusNode
FocusSquare class taken straight from Apple's ARKit examples and packed up for anyone to use with ease.
Stars: ✭ 50 (+163.16%)
Mutual labels:  augmented-reality, scenekit, arkit

GVRSCNRenderer

CocoaPods CocoaPods license

Combines Google Cardboard with SceneKit Rendering and ARKit World Tracking.
Combining ARKit with Google Cardboard enables six degrees of freedom (rotation and translation) in VR:

Cardboard+ARKit

Installation

GVRSCNRenderer can be installed as a dependency using CocoaPods:

target 'Your-App-Name' do
	use_frameworks!
	pod 'GVRSCNRenderer'
end

Usage

Builds on top of GVRRenderer from GVRKit, which is part of the Google VR SDK for iOS.

Basic Setup

import GVRKit
import GVRSCNRenderer

// Create scene:
let scene: SCNScene = ...

// For SceneKit Rendering without world tracking:
let renderer = GVRSCNRenderer(scene: scene)

// For 6DOF Tracking:
let renderer = GVRSCNARTrackingRenderer(scene: scene)

// Create Cardboard view and pass renderer
let view = GVRRendererView(renderer: renderer)

Event Handling

Cardboard trigger events can be handled by the interaction delegate:

renderer.interactionDelegate = yourEventHandler

extension YourEventHandler: GVRSCNInteractionDelegate {
	func didTrigger(_ renderer: GVRSCNRenderer, headTransform: SCNMatrix4) {
		// Handle trigger event
	}
}

Render Loop Customization

The render loop can be customized using a SCNSceneRendererDelegate:

renderer.rendererDelegate = yourRendererDelegate

extension YourRendererDelegate: SCNSceneRendererDelegate {
	// ...
}

Showing Tracking Features

Tracking features can be shown to signal nearby objects in the real world to the user to avoid collisions (GVRSCNARTrackingRenderer only):

renderer.showsTrackingFeatures = true

Customizing feature indicators:

// Set tracking feature size in meters (e.g. 0.001 == 1mm)
renderer.trackingFeatureSize = ...

// Set tracking feature material
renderer.trackingFeatureMaterial = ...

3D Model in demo GIF: Rempart Walls scenery 1 - Fougères castle by noxfcna is licensed under CC Attribution

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].