Giter VIP home page Giter VIP logo

arkit-occlusion's Introduction

arkit-occlusion-demo

Bjarne Lundgren / [email protected] / @bjarnel

This ARKit+SceneKit project shows how to "track" vertical planes (relative to horizontal planes anyway), and how to occlude objects with real world geometry. There is no cheating or magic in this app, this stuff is not really possible with (the current version of) ARKit out of the box - basically you need to tell the app about where the walls/real world geometry is. THEN the app sets up the appropriate masking planes and physics bodies. This is then used to bounce balls of the walls as well as occluding them.

This requires, Xcode 9, iOS 11 and a relatively recent iOS device.

You can pretty much do want you want with the code, but please provide attribution, also if you use it to create a video.

Unedited gameplay video (youtube):

ARKit occlusion demo original video

Screenshots (click for bigger version):

First mapping the real world geometry Throwing beachballs, that bounces of the walls and are occluded by other walls

License

Copyright 2017 Bjarne Lundgren

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

arkit-occlusion's People

Contributors

bjarnel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arkit-occlusion's Issues

Wall Node

As you have mentioned already in WallNode.swift.

  node.eulerAngles = SCNVector3(0,
                                      -atan2(to.x - node.position.x, from.z - node.position.z) - Float.pi * 0.5,
                                      0)
 // orientation of the wall is fairly simple. we only need to orient it around the y axis,
        // and the angle is calculated with 2d math.. now this calculation does not factor in the position of the
        // camera, and so if you move the cursor right relative to the starting position the
        // wall will be oriented away from the camera (in this app the wall material is set as double sided so you will not notice)
        // - obviously if you want to render something on the walls, this issue will need to be resolved
```.
        
I am facing the same issue. rendering into wall is flipped can you suggest a solution I am not able to figure it out 

Wall Detection Not Working

When I tap 'New Wall' the wall mapping 'tracking-node' does not show after tap. No points seem to be being detected either.

Not reading my touch, when pressing start new wall.

Hello, I downloaded this repo and tried running it on my iphone device. Looks like when i press the new wall button it stays at a blank camera screen and doesn't do anything when i touch to set the new wall.

App does nothing

I'm sorry but I just built the app but it does nothing. I can tap the "new wall" but when I walk around there is no interaction whatsoever. Maybe I am using it the wrong way.

I built it on the latest Xcode 9 I have iphone 6s with latest iOS 11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.