Giter VIP home page Giter VIP logo

sceneform-samples's Introduction

Sceneform Samples for Android

Copyright (c) 2018 Google LLC

Sceneform is a 3D framework, with a physically based renderer, that's optimized for mobile, and that makes it easy for Java developers to build augmented reality apps.

These samples demonstrate how to use Sceneform beyond the reference samples that accompany the SDK.

Getting Started

The Lighting sample demonstrates how to add lights to your scene and experiment with position, color, and intensity.

The Drawing sample demonstrates how to use procedural geometry to create a 3D drawing experience. Users press down on the screen and can draw strokes by dragging a finger or moving their device. There is also functionality to change the stroke color, undo a stroke, and clear the screen displayed on a control bar at the bottom of the screen.

Support

If you've found an error in this sample, please file an issue: https://github.com/googlesamples/sceneform-samples/issues

Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub.

Issues and bugs related to the Sceneform SDK directly should be filed in the Sceneform SDK issue tracker.

License

Copyright 2018 The Android Open Source Project

Licensed to the Apache Software Foundation (ASF) under one or more contributor
license agreements. See the NOTICE file distributed with this work for
additional information regarding copyright ownership. The ASF licenses this
file to you 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.

Getting Started

This repository contains Sceneform sample projects.

To get started with the Sceneform SDK, follow the ARCore Android Quickstart guide.

API Reference

See the Sceneform API Reference.

Terms & Conditions

By downloading the Sceneform SDK for Android, you agree that the Google APIs Terms of Service governs your use thereof.

sceneform-samples's People

Contributors

claywilkinson 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

Watchers

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

sceneform-samples's Issues

Proguard rules

hello,
do you have any pro guard rules for drawing example and for com.google.ar.sceneform.ux:sceneform-ux ?

drawing over the objects rather than in the air

I was trying to draw over the object rather than in the air, currently whenever i draw a line over some object it draws in the air at some specific distance from the camera, and while moving the camera towards that object the camera passes through that line and line doesn't stay on the object anymore.
Can you guide me how to achieve it?

Feature Request: CollisionShape from Vertex list

First of all, great job on this project!!! It helped me a lot with my code.

Do you think you can generate a CollisionShape from the google's RendereableDefinition class? Using its vertices?
To every loaded object in Sceneform, Renderable class generates a Box as a CollisionShape, also the HitResult from the Node seems to be the generated Box, which is really bad for 3D objects with other shapes.

I tried to do it, but I couldn't get nowhere. Can you help with that?

[Q] Gradle issue with sceneform - Program type already present: com.google.ar.schemas.lull

I am working on a project that will have a 3D model viewer in one fragment. In order to do so, I decided to use sceneform.

I downloaded sceneform plugin into Adnroid studio, downloaded and extracted sdk from Github, and I also copied libsceneform_runtime_schemas library into my project. I've added to my sceneform buil.gradle file line

implementation files("../libs/libsceneform_runtime_schemas.jar")

but that results in an error:

Program type already present: com.google.ar.schemas.lull.AabbDef

It is worth noticing that this is the first file in the jar under this path - which probably means that there will be more collisions.

If I'd try not to implement this library, then I get an error:

error: package com.google.ar.schemas.sceneform does not exist

I am using ar:core:1.17.0, and minSdkVersion 24 in sceneform gradle.
I've cleaned and rebuilt the project, Invalidate Caches/Restart, and added multiDexEnabled- although I am not sure if I did it correctly.
By using gradlew sceneform:dependencies I didn't find mentioned file.

I don't know how I can move forward, any help is much appreciated. If I can provide additional information, please let me know.

I've also tried to work with

implementation files("../libs/libsceneform_runtime_schemas.jar"){
   exclude ...
}

But I couldn't make it work. I wonder if that could be my solution.

Also, why does it try to implement this class since it already exists? Shouldn't there be some sort of check for that?

How to use getScaleController() and PinchGesture?

Hi. I know this is not an issue, but i need some help, in this topic.
I am looking for realtime scaling of objects/models in ARcore. I found that it can be done using getScaleController() and PinchGesture class. I have a TransformableNode and I want to use the above method and class for achieving realtime scalling of model to update model's dimensions at runtime. I checked the documentation already, but it didn't help me.

here is my code

TransformableNode node =
new TransformableNode(arFragment.getTransformationSystem());
node.setParent(anchorNode);
node.setRenderable(modelRenderable);
node.select();

/* After this I want to use PinchGester or PinchGestureListener and
node.getScaleController() to achieve my goal */

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.