GithubHelp home page GithubHelp logo

magic7721 / se07-9.1 Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 53.33 MB

Tìm hiểu về light estimation, tập xử lý light estimation với dữ liệu HDR, học cách xử lý Ambient và các custom shader sử dụng diffuse, specular… Có thể code trực tiếp bằng ARCore SDK

C# 100.00%

se07-9.1's Introduction

271731442_3177449415863924_4631748090175928135_n

Program ARViewModel with Unity, ARCore, ARFoudation

1. Ideas

  • Tạo model 3D với Unity sử dụng các chức năng cơ bản của Unity.
  • Detect mặt phẳng sử dụng ARFoudation SDK để đặt model.
  • Sử dụng ARCore SDK để tạo app trên nền tảng Android

2. Work

  • Detect mặt phẳng.
  • Import model 3D.
  • Xây dựng chức năng đặt vị trí model.
  • Đặt model 3d vào vị trí lựa chọn.

3. Technologies

4. Members

bandicam 2022-01-24 21-13-12-284

Một số hình ảnh khác về app

video-1643037872.mp4
video-1643038128.mp4

Cài đặt

Giải nén file FinalProject.zip và tiến hành cài đăt file APK trên điện thoại.

se07-9.1's People

Contributors

magic7721 avatar nmd2703 avatar vungoc2009 avatar

Watchers

Bui Sy Nguyen avatar  avatar

se07-9.1's Issues

Enumerating Trackables

Trackable managers previously had a way to obtain a List of all trackables, e.g., ARPlaneManager.GetAllPlanes and ARReferencePointManager.GetAllReferencePoints. There is now a common property called trackables, which can be used in a foreach, e.g.:

var planeManager = GetComponent();
foreach (var plane in planeManager.trackables) {
// Do something with the plane
}
This property returns a TrackablesCollection which does not generate any garbage or cause boxing.

Setting to build an app Android by Unity

1.Window -> Package Manager -> Install AR Foundation, AR XR Plugin
2.Edit -> Project Settings-> Player -> AutoGraphics API , Multihreaded Rendering-> on
-> API level -> Android 8.
->XR Plug-in Manager -> AR Core
3.File ->Build Settings -> Scenes In Build -> on
->Platform -> Android -> Run device -> Default Device
-> Build

Comment in this issue if you complete setting .

ARSubsystemManager Removed

The ARSubsystemManager has been removed in 2.0. It was previously a singleton which provided access to each of the "subsystems" (the low-level interface to the AR platform). However, some subsystems were also simultaneously managed by a MonoBehavior, e.g., ARPlaneManager.

The led to confusion about which object to interact with or subscribe to. Now, each "subsystem" has a manager component which not only provides access to that subsystem, but also manages its lifetime.

If you previously used the ARSubsystemManager, look for similar functionality on one of the managers:

Tích hợp ARcore trên unity

Những vấn đề về ARcore sẽ được thảo luận ở đây

Mọi người đã tích hợp được ARcore trên unity chưa?

ARRaycastManager

The raycasting API is the same as before, only now it is on a new component ARRaycastManager. Previously it was on the ARSessionOrigin. If you need to perform a raycast, make sure you have a ARRaycastManager on the same GameObject as the ARSessionOrigin and use the Raycast methods on that component.

code demo

tôi pusg code lên rồi ae lấy về xem có gì cần fix không

Error when importing into project

Sau khi tạo một cảnh trống, chuyển sang nền tảng android, cấp API min = Android 7(24) và nhập :

  • ARFoundation 1.5.0-xem trước.7

  • ARCore XR Plugin 2.1.2
    Khi build lên thì xuất hiện các lỗi sau :

  • Library \ PackageCache \ [email protected] \ Runtime \ ARCoreImageTrackingProvider.cs (35,60): error CS1715: 'ARCoreImageTrackingProvider.Provider.imageLibrary': nhập phải là 'RuntimeReferenceImageLibrary' để khớp với thành viên bị ghi đè .IProvider.imageLibrary '

  • Library \ PackageCache \ [email protected] \ Runtime \ ARCoreImageTrackingProvider.cs (33,15): error CS0534: 'ARCoreImageTrackingProvider.Provider' không triển khai thành viên trừu tượng được kế thừa 'XRImageTrackingSubsystem.IProvider.imageLibrary.set'

  • Library \ PackageCache \ [email protected] \ Runtime \ ARCoreImageTrackingProvider.cs (33,15): error CS0534: 'ARCoreImageTrackingProvider.Provider' không triển khai thành viên trừu tượng được thừa kế 'XRImageTefrackingSubsystem.IProvider.CreateRuntimeLibrary) '

ARPointCloudManager

In 1.0, the ARPointCloudManager managed a single point cloud. Now, it can manage a collection of them, similar to the way other trackable managers work. Some AR platforms, like ARCore and ARKit, still only have a single point cloud. However, other platforms (supported in the future) will generate multiple point clouds.

As a result, the ARPointCloudManager.pointCloud property no longer exists. You can enumerate the point clouds like any other trackable manager, by iterating over its trackables property.

Migration Guide This will guide you through the changes coming from AR Foundation 1.0

TL;DR
Add an ARInputManager anywhere in your scene.
Add an ARCameraManager to your AR camera (this replaces the ARCameraOptions).
Raycast via the ARRaycastManager instead of the ARSessionOrigin
Some TryGet/TryAdd/TryRemove APIs were renamed to just Get/Add/Remove
GetAllXXX is now a trackables property
Added, update, and removed events have been combined into a single event that gives you lists of all the added, updated, and removed trackables.
Events
In 1.0, each trackable manager provided added, updated, and removed events for each trackable. In 2.0, each trackable manager has a single event invoked no more than once per frame containing all the changes (added, updated, and removed) since the last frame.
Example:
1.0
ARPlaneManager.planeAdded, ARPlaneManager.planeUpdated, ARPlaneManager.planeRemoved
2.0
ARPlaneManager.planesChanged

Session Relative Data

Many of the trackables in AR Foundation 1.0 had "session relative data", e.g., BoundedPlane and XRReferencePoint. These are no longer directly accessible; all their memebers are now properties of an AR Foundation trackable.
Example:
Trackable:ARPlane
1.0 accessor:boundedPlane.Id
2.0 accessor:trackableId

Removed Try

Several APIs used a TryGet or TryAdd style of API. Such methods that dealt with reference types have dropped the Try prefix.
Examples:
1.0
ARPlane.TryGetPlane(trackableId)
ARReferencePoint.TryAddReferencePoint
ARReferencePoint.TryAttachReferencePoint
bool ARReferencePoint.TryRemoveReferencePoint
2.0
ARPlane.GetPlane(trackableId)
ARReferencePoint.AddReferencePoint
ARReferencePoint.AttachReferencePoint
bool
ARReferencePoint.RemoveReferencePoint

ARCameraManager and ARCameraOptions

The ARCameraManager enables the XRCameraSubsystem; without it, you will not be able to use background rendering or obtain light estimation information. This component should be placed on a Unity Camera, usually on the same one that is parented to the ARSessionOrigin and performs background rendering.

The ARCameraBackground now requires an ARCameraManager component.

The options that were previously on the ARCameraOptions component, like focus mode and light estimation mode, are now on the ARCameraManager. The ARCameraOptions no longer exists.

ARInputManager

Previously, pose tracking was implicitly always on. Now, you must have an ARInputManager component in your scene to enable it. It does not matter what GameObject this is on.

The ARInputManager enables input tracking; the TrackedPoseDriver consumes pose data (as before).

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.