Coder Social home page Coder Social logo

focusentity's Introduction

FocusEntity

This package is based on the package ARKit-FocusNode, but adapted to work in Apple's framework RealityKit.

FocusEntity Example 1

The Example looks identical to the above GIF, which uses the FocusEntity classic style.

Minimum Requirements

  • Swift 5.2
  • iOS 13.0 (RealityKit)
  • Xcode 11

If you're unfamiliar with using RealityKit, I would also recommend reading my articles on Getting Started with RealityKit.

Installation

Swift Package Manager

Add the URL of this repository to your Xcode 11+ Project.

Go to File > Swift Packages > Add Package Dependency, and paste in this link: https://github.com/maxxfrazer/FocusEntity


Usage

See the Example for a full working example as can be seen in the GIF above

  • After installing, import FocusEntity to your .swift file
  • Create an instance of FocusEntity:
    let focusSquare = FocusEntity(on: self.arView, focus: .classic)
    or
    let focusSquare = FocusEntity(on: self.arView, style: .classic(color: .yellow))

    (Optional)
  • Set focusSquare.delegate to an object which conforms to FocusEntityDelegate if you wish to get callbacks for when the FocusEntity changes state.
  • Optionally, you may select to use one of 3 visual styles: classic, color, and material.
  • If you choose material, you may use the preset textures or provide your own customized textures.
  • If you want to provide your own textures, add them to the Assets.xcassets catalog, then type the name of the asset in the appropriate place in this code:
    let onColor: MaterialColorParameter = try .texture(.load(named: "<#customAsset1#>"))
    let offColor: MaterialColorParameter = try .texture(.load(named: "<#customAsset2#>"))

If something's not making sense in the Example, send me a tweet or Fork & open a Pull Request on this repository to make something more clear.

I'm hoping to make the animations look a little smoother over time, but any and all contributions are welcome and encouraged.


The original code to create this repository has been adapted from one of Apple's examples from 2018, license also included. I have merely adapted the code to be used and distributed from within a Swift Package, and now further adapted to work with RealityKit.

focusentity's People

Contributors

maxxfrazer avatar reality-dev avatar multitudes avatar deebov avatar ralfebert avatar

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.