Displaying 3D text in real world using Augmented Reality - unity3d

ARKit provides a framework to display 3D text in real world using augmented reality. This video explains the same:
Is there a similar mechanism to do the same using Unity and Vuforia augmented reality support??
I tried displaying 3D text, but it simply gets rendered as a 2D text.

You can do this with the standard UI Text component. Use BaseMeshEffect to obtain the Mesh and vertices of the Text component then extrude it outwards. You now how have a 3D Object. You may need to change the material to standard material.
If you can't implement this then use an existing plugin. The Simple Helvetica plugin can do this and it's free on the assetstore.

Related

Vuforia Real time Augmented Reality

I am new to unity and vuforia, I would like to know is it possible that instead of using a image target in vuforia, can I do something like augmenting real time hand drawn illustration? For instance, when I start to draw something on the AR app, then a 3D object representing the object I am drawing would also appear?
Vuforia can recognize pre-defined images, with enough features to be detected. If you draw by hand such an image, that's fine. Otherwise - the answer is no. Just an FYI - Vuforia also has text recognition, if you'd like, take a look here: Vuforia's Text Recognition
Of course that if a detection was made, what happens and what is drawn is up to you, so of course a 3D object is an option.

Google Cardboard "Game Over" screen with a designed image

I am trying to implement a game over screen for my Unity 3D based game for Google Cardboard. I have tried using the image UI component on a canvas component. The image appears just fine but the issue is that it seems to show up over the reticles. I would like to have the image perfectly fit the inside of the reticle. I am considering somehow finding out (somehow) the size of the reticle and exporting my image as a png with transparency around its graphics.
My Question:
Is there a better way to do this? If not, what are the dimensions i can use for the duplicate images (for the two reticles) to perfectly fit the Google Cardboard reticle openings.
When using Google Cardboard (Now GVR), I think it is best to use Quad GameObject for Game Over screens to which you can add images and child objects like 3D Text and collection of child quads.
The best thing about using quads and 3d text is the extent of scripting that can be done to make them dynamic as well as styling. And in your case, Physics Raycasters work well for the reticle to interact with those GameObjects.
You can add materials and textures to the quad and what not! I personally love quads for GameOver screens as well as a lot of other interact-able things.

Vuforia recognition of hand painted marker

I have blank sheet and I want to do AR model to this sheet. I have idea do it with painted marker. For example: cross, square or something easy marker which you can paint to sheet. So how can i do it??? I use unity.
Here you want a simple marker so some simple options are:
ARToolkit Simple markers like Hiro KanZI marker (it's an open source and completely free AR Library):
http://artoolkit.org/documentation/doku.php?id=3_Marker_Training:marker_multi
Using Vuforia, you can try "Frame Marker". Vuforia provides more than 500 simple designs. You can paint it or stick it on your sheet:
https://developer.vuforia.com/library/articles/Training/Frame-Markers-Guide
FYI: Vuforia and Artoolkit for both Unity packages are available for free. You just have to import it into your Unity project.
I am writing from memory, so it might not be entirely correct.
Decide what marker you want to use.
Draw it on paper. Note, however, that the Vuforia SDK identifies points of interest in a target image (most often that is corners), so the more detailed a photo, the more points of interest, which is why their samples use high resolution images of e.g. lots of little stones. Drawing something like a square, cross, or some other simplistic marker, does not work very well.
Take a photo of it and transfer it to your computer.
Download Vuforia's Augmented Reality SDK for Unity.
Register on the Vuforia website and add your photo as an Image Target. Then save/download the database unity package they create for you from your image.
Also get a licence key.
In a blank Unity scene, import the SDK.
Add an AR camera prefab.
Add an image target prefab.
Import the downloaded database package (containing your uploaded image).
On the image target inspector, change the behaviour to use your image as the image target.
On the AR camera inspector, add your licence key, and specify the image target database.
Create or import some 3D model / primitive. Make it a child of the image target, and position it to sit on top of the image target.
Make sure the AR camera is looking at the image target.
Build the project and run the project, that's about it.
There should be many tutorials online, just google for something like vuforia augmented reality tutorial

Develop 2D game Inside Canvas Scaler

I'm new in Unity and i've realized that it's difficult do a multi resolution 2d game on unity without paid 3rd plugins available on Asset Store.
I've made some tests and i'm able to do multi resolution support in this way:
1- Put everything from UI (buttons etc) inside a Canvas object in Render Mode Screen Space - Overlay with 16:9 reference resolution and fixed width.
2- Put the rest of the game objects inside a Game Object called GameManager with the Canvas Scaler component in Render Mode Screen Space - Camera with 16:9 reference resolution, fixed width and the Main Camera attached. After that, all game objects like player, platforms etc inside GameManager need to have a RectTransform component, CanvasRenderer component and Image Component for example.
Can i continue developing the game in that way, or this is a wrong way to do the things?
Regards
Also don't forget GUI, Graphics. It's a common misconception that GUI it's depreciated and slow. No it's not. The GameObject helpers for GUI were bad and are depreciated, but the API for putting in OnGUI works great when all you need is to draw a texture or some text on a screen. They're called legacy, but there are no plans as to remove them, as the whole Unity UI is made out of it anyway.
I have made a few games just on these, using Unity as a very overengineered multiplatform API for draw quad.
There is also GL if you want something more.
Just remember - there will be no built-in physics, particle effects, path finding or anything - just a simple way to draw stuff on the screen. You will have total control over what will be drawn - and this is both a good and bad thing, depending on what you want to do.
I will not recommend you using Canvas Scaler for developing a complete game. Intended purpose of the canvas scaler was to create menus and you should use it to create menus only.
The 2D games created without the canvas scaler don't create much problems (mostly they don't cause any problems) on multiple resolutions.
So, your step 1 is correct but for step 2 you don't need to have a canvas scaler component attached.
Do remember to mark your scene as 2D (not necessary) and your camera to orthographic (necessary) while developing 2D games.

How to show 2D image instead of 3D model when Image detected using unity 3D and vuforia

I am new to develop augmented reality apps. I have followed some tutorial to show 3D model using unity 3D and vuforia and it works fine. Now I need to show 2D image instead of 3D model
As suggested by Bart in the comments. Go ahead and put in a plane. On the plane add a Texture that has the picture of the image you want to see.
FYI: Augmented Reality is for the eyes to view a 3D image. Else we'd
just be using an app on screen.