Saturday 30 April 2016

The clock is ticking

Animation updates
Check out http://sgiangptolemi.blogspot.com.au/2016/04/crash-test.html

It has a great description for creating an object using wayfire in 3ds max and then animating it crashing over another object. Pretty cool stuff. Simon is one the students taking part in our AR team. 

http://benv2423tiaradobbs.blogspot.com.au/2013/10/week-2-wayfire-demo.html is one of my earlier blogs that outlines wayfire as well.

A stab at submitting to an app store 
1. https://unity3d.com/learn/tutorials/modules/beginner/platform-specific/how-to-submit-to-the-ios-app-store
2. Download iTunes connect
3. Create an account and subcribe to a yearly membership aproximately $150 AUD a year
4. You will have to register a bundle ID. The bundle identifier is an ID for your application used by the system as a domain for which it can store settings and reference your application uniquely. It is represented in reverse DNS notation and it is recommended that you use your company name and application name
5. Once you have submitted your game to Apple App developer, the waiting period is 1-2 weeks for confirmation.
That means we need this time up and running at the end of this week. at leaste a deployed one.

For android
For the mean time, take a look at http://docs.unity3d.com/Manual/android-GettingStarted.html I haven't gotten a chance to check it out myself yet but I'll cross that bridge when I come too it. 

Project updates


"People want to learn because they want to get better. They want to be part of 'next' to learn their way into bigger opportunities.” Jacques Panis


So the AR project for VIVID is officially underway. EXCITING STUFF! Now we have recruited a team of able students from the faculty of Build Environment at UNSW, we can finally get the show on the road.

Project components 

Object/Animation        >         Game environment       >         AR      >         APP(X-platform)

The first step on the agenda is to make a crude AR product and follow it up with more detailed design work later.

Object/Animation

1. Concept development (after initial mechanics have been sorted)
2. Possible technologies: 3Ds Max/ UNITY, CRYSIS, UnrealEngine

Game Environment
1. Will be where the magic happens.

AR
1. Wikitude, Layer,

App builder (across platform)
1. Choose/test with technology
       1. Unity
       2. Wikitude
       3. Applier
2. Strong call to action
3. KISS (keep it simple stupid)

Current further readers:
http://www.wikitude.com/…/d…/-/message_boards/message/607151

https://unity3d.com/…/pl…/how-to-submit-to-the-ios-app-store

http://www.wikitude.com/blog-unity-boost-ar-apps/

http://appindex.com/…/ten-best-cross-platform-development-…/

Monday 28 March 2016

Unity: Exporting for App development

Export and Xcode Build settings changes 
Android studio:http://www.wikitude.com/developer/documentation/unity#_48_INSTANCE_Zk7M2pQVPDDi_=setupguideunity.html

Once the application is setup in Unity and ready for testing on a real device, it needs to be exported as an Xcode project for iOS or built for Android either directly by creating an .apk file using Unity or by exporting an Android Studio project. (3)

(3)This method follows the instructions outlined on the wikitude documentation page: http://www.wikitude.com/developer/documentation/unity#_48_INSTANCE_Zk7M2pQVPDDi_=setupguideunity.html

Unity: Scripting and Geocaching

I started familiarising myself with the Unity interface and tutorials. I particularly found the tutorial Unity Scripting extremely helpful in implementing the Geocaching for the AR.

using UnityEngine;
using System.Collections;
public class Gps : MonoBehaviour {
 // Use this for initialization the geolocation/location based information
 IEnumerator Start () {
   // First, check if user has location service enabled
   if (!Input.location.isEnabledByUser)
   {
     // remind user to enable GPS
     // As far as I know, there is no way to forward user to GPS setting menu in Unity
   }
   // Start service before querying location
   Input.location.Start();
   // Wait until service initializes
   int maxWait = 20;
   while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0) {
     yield return new WaitForSeconds(1);
     maxWait--;
   }
   // Service didn't initialize in 20 seconds
   if (maxWait < 1) {
     print("Timed out");
   }
   // Connection has failed
   if (Input.location.status == LocationServiceStatus.Failed) {
     print("Unable to determine device location");
   }
   // Access granted and location value could be retrieved
   else
     print("Location: " + Input.location.lastData.latitude + " " + Input.location.lastData.longitude + " " +    Input.location.lastData.altitude + " " + Input.location.lastData.horizontalAccuracy + " " +  Input.location.lastData.timestamp);
  // Stop service if there is no need to query location updates continuously
  Input.location.Stop();
 }
}

Unity: AR Getting started

Simple augmented reality Test

1. Import the Wikitude.unitypackage into your project


Select the downloaded Wikitude.unitypackage in the presented open file browser and click open. You should import all items that are part of the Wikitude.unitypackage.

2. Add the WikitudeCamera and ClientTracker or CloudTracker prefab to the Unity scene hierarchy
3. Add a custom augmentation to the tracker and handle OnEnterFieldOfVision

andOnExitFieldOfVision events
4. Export your project and change Xcode Build Settings in order to fully integrate the Wikitude Native SDK in your Unity project (1).

Sunday 27 March 2016

AR Plugin for Unity: installation Wikitude AR Plugin

Your have two options for the part of the project, either create your own or host the augmented reality on an existing cross-platform app.
If you are going to create your own I recommend visual studio. You can download the program via https://www.visualstudio.com/post-download-vs?sku=community&clcid=0x409#

I have chosen to go with hosting the augmented reality on an existing program, I have chosen to go with Unity augmented reality using a free cross-platform Wikitude plugin.

Reason

I have chosen to use wikitude because it allows the user to host easy location-based augmented reality and its free, easy to use and relatively straightforward. You can download the full Wikitude augmented reality product which does not require any Unity work, however its gonna cost an arm and a legg (nearly 1400 euros)
if you want a pretty comprehensive list of possible AR products you could use to do the job, check out: http://augmera.com/?p=461

Installation

1. Download the plugin http://www.wikitude.com/download/#DownloadExtension
the download should take 8-10 minutes depending on your network.
2. After your download has begun, you will need to register an account with wikitude to get a free activation key, they key will be sent to the email you provide.
3. Open the file and extract its content and install the package. Rememeber where you saved the extracted file.
4. Open Unity and open a new project
5. Assets > Import package > custom packages
6. Browse to where you have saved the extracted file > Unity-Wikitude_1.2.1-1.1.0_2016_03_21_16_40_46 > packages > Wikitude
7. The file should start unpacking itself into Unity. A box should appear outlining all the wikitude elements. Click 'Import'.
8. Close Unity and restart your computer.
9. Open Unity and click on the wikitude folder within the Assets folder
10. To use the Wikitude Unity Plugin with a certain license key, paste your license key into the text field of the WikitudeCamera prefab.


Follow this post for full details: https://www.wikitude.com/external/doc/documentation/5.1/unity/clientrecognitionnative.html

Unity: Importing objects

Import objects from modelling softwares.
supported formats: Sketchup,

Three methods
1. Drag and drop the file into the Project window
2. ‘Import New Asset…’ via Project window’s context menu
3. Click on Assets -> Import New Asset.. from the menu bar

 Refer to this UNITY website for further details: http://docs.unity3d.com/Manual/HOWTO-ImportObjectSketchUp.html

Limitations
GIF textures are not supported
Lines are not imported
2D components (Text, dimensions) are not supported
Dynamic components are not supported
Attributes are not imported into Unity
SketchUp Layers are not imported
SketchUp Shadow settings are not imported
SketchUp Drawing Styles are not imported
SketchUp Section Planes are not imported
SketchUp Animation settings are not imported
Limited SketchUp Scenes data are imported

follow this link for a complete bio of component based thinking within UNITY if your unsure or new to the concept: http://gamedevelopment.tutsplus.com/articles/unity-thinking-with-components--gamedev-12492