Veröffentlichung der app “iFlora Bäume”

Wir haben die erste app der neuen App-Reihe “iFlora” veröffentlicht. iFlora ist eine app zur Bestimmung von Planzen, mit Hilfe eines innovativen Bestimmungskonzepts. Durch die Auswahl von Merkmalen, wie Blattform, Größe oder Fundort, kann der Nutzer die zu bestimmende Art immer weiter einschränken. Währenddessen  wird er von der app durch die Auswahl “besonders guter” Merkmale stets unterstützt.  Die app “iFlora Bäume” ist ab sofort im AppStore zu finden.

https://itunes.apple.com/de/app/iflora-baume/id975525250

Update 16.08.2015

Die nächsten beiden Varianten “iFlora Alpenpflanzen” und “iFlora Kleinwalsertal” sind nun ebenfalls verfügbar:

https://itunes.apple.com/de/app/iflora-alpenpflanzen/id1025197822

https://itunes.apple.com/de/app/iflora-kleinwalsertal/id1025198731

 

Ab in die Matrix!

Der Geist in der Maschine – so lautete der Titel des jüngsten Webmontag Frankfurt #wmfra , der am 13. Oktober in der Brotfabrik stattfand. Der Titel ist vielversprechend – lässt er doch an Künstliche Intelligenz, digitale Entitäten und virtuelle Realitäten a la Matrix denken.

Aus diesem Grund fanden wir, dass eine Vorstellung der Oculus Rift thematisch ganz gut in den Rahmen dieser Veranstaltung passt. Die zweite Entwicklerversion der Full-Surround-Datenbrille kam im Spätsommer bei uns an und weiß zu begeistern:

Weil das Sichtfeld des Displays in der Diagonalen 110° abdeckt, sind dessen Rändern für den Nutzer nicht sichtbar. Deshalb ist die Immersion – also die Wahrnehmung der digitalen Abbildung als “echter” Raum – besonders stark.

Das zieht drastische Folgen nach sich. Erste Anwendungen für die Oculus Rift ermöglichen beispielsweise eine rasante Achterbahnfahrt durch ein futuristisches Gebäude. Dieses Erlebnis wirkt so real, dass bei zarteren Naturen tatsächlich Schwindel und Unwohlsein einsetzt.

Willkommen in der Matrix – Tom Anyz

Dieses Erlebnis wollten wir den Besuchern des Webmontag näher bringen. Zudem ist Tom davon überzeugt, dass diese Spielart der virtuellen Realität ganze Branchen nachhaltig verändern wird, beispielsweise in der Filmindustrie und bei den Computerspielen.

Nach den Vorträgen konnten die Besucher bei uns die Oculus Rift ausprobieren – und waren begeistert, wie zahlreiche Reaktionen auf Twitter belegen.

Übrigens, wer den Webmontag verpasst hat, bekommt am 13. November zwischen 13:00 und 19:00 Uhr erneut die Gelegenheit zum Testen der Oculus Rift – diesmal bei uns in den appjigger studios. Hier könnt ihr euch anmelden:

Via Xing

Via Facebook

 

 

 

 

1. appjigger Oculus Rift Challenge

10302013_760081120715040_6795588342547509326_nWir haben es hier und sind überzeugt: Das Oculus Rift ist ein Game Changer – das ist durchaus wörtlich zu verstehen.

Wenn ihr die full-surround virtual reality des Oculus Rift selbst einmal ausprobieren möchtet: Am Donnerstag, den 11. September 2014, geben wir euch die Gelegenheit dazu. Schaut zwischen 13.00 Uhr und 19.30 Uhr bei uns in der Kaiserstraße 61 vorbei.

Verbindet den Besuch einfach mit eurer Mittagspause – auf dem Wochenmarkt direkt vor den appjigger studios findet ihr alles, was euer Magen begehrt. Essen solltet ihr allerdings erst NACHDEM ihr mit dem Oculus Ruft eine Achterbahnfahrt oder die Schiffschaukel absolviert habt.

Wir freuen uns auf euch! 😉

add adMob banner to your unity3d game using unity2eclipse

a great benefit about using unity2eclipse is the possibility to extend your unity3d projects with native android elements like buttons or layouts. as a practical example we decided to show you the integration of an adMob banner in your game.

first of all you have to create an eclipse project – the easiest way to do that is to use our unity2eclipse plugin of course! 😉 click here to learn how to do that.

once created we add the adMob SDK to the project:
right click on the project name, find Properties in the menu (it is located at the very bottom). selecting the properties will open a settings window – navigate to Java Build Path -> Libraries -> Add External JARs… select the previously downloaded adMob .jar file and click OK.

Java Build Path -> Libraries -> Add External JARs…

the ugly thing about the latest android SDK update is the requirement to copy the adMob .jar  file manually into the libs folder of your project too. i am not sure if this is a bug or a feature, but adding it twice is the only solution that worked for me. just drag & drop it from your finder/windows explorer into eclipse.

additional location of the adMob .jar file

lets start with the more fun part of the tutorial and create a layout file that contains a placeholder for our unity player and the adMob banner – we’ll name it unitylayout.xml and store in res/layout folder of our project.

create a new layout xml file here

the contents of the XML layout:

<?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/unity"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" />

   <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="useYourIdHere"
        ads:loadAdOnCreate="true" />

</FrameLayout>

(replace the “useYourIdHere” with your adMob ID 😉 )
we’ll use a FrameLayout – it will allow us to position widgets on top of each other – in our case the banner view on top of the unity player (learn more about android layouts)

in the next step we’ll adjust the .java class file:
the established way to implement an unity player here is to extend the UnityPlayerActivity:

public class myUnityProject extends UnityPlayerActivity

its fine, but it wont allow you to add any native android widgets to your app. we’ll change it, extend an Activity and push the unity player into the LinearLayout placed in our layout xml file. you can replace the whole content of the class with this code:

public class myUnityProject extends Activity
{	
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.unitylayout);
		LinearLayout playerHolder = (LinearLayout) findViewById(R.id.unity);
		UnityPlayer myPlayer = new UnityPlayer(this);
        myPlayer.init(1, false);
		playerHolder.addView(myPlayer.getView());
	}
}

the last file that we need to edit is the Manifest.xml located in the root of our project. adMob SDK requires some permissions in order to be displayed correctly:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="6"
        android:targetSdkVersion="15" />

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
            android:name=".myUnityProject"
            android:enabled="true"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
    </application>

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <meta-data android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" android:value="true" />

</manifest>

i hope that this little tutorial will help you to understand how to extend the functionality of your unity android game and to benefit from adMob integration.

tutorial: passing screen offset values from live wallpaper to unity3d with unity2eclipse

remember! creating android live wallpapers with unity2eclipse is experimental and works with unity 3.4.x!

one great thing about android live wallpapers is the possibility to interact with touch events generated when the user swipes through the home screens – this little tutorial will show you how to move (smoothly) the camera on the X-axis:

rename your camera to “myCam” and add this C# script to it:

using UnityEngine;
using System.Collections;

public class CamController : MonoBehaviour {

	public float scaleFactor = 5f;
	private float camOffsetFactor = 0.5f;
	private Vector3 newPosition;

	void FixedUpdate()
	{
        newPosition = new Vector3((camOffsetFactor - 0.5F) * scaleFactor, transform.position.y, transform.position.z);
        transform.position = Vector3.Lerp(transform.position, newPosition, 0.02F);
	}

	public void SetCamOffsetFactor(string offset)
	{
		camOffsetFactor = float.Parse(offset);
	}
}

 

than find your java class in eclipse…

…and update the onLWPOffsetsChanged method with UnitySendMessage() where:

  • myCam is the name of your unity3d object (in this case our camera);
  • SetCamOffsetFactor is the name of the public method in your C# script;
  • String.valueOf(xOffset) is the current screen offset as string (UnitySendMessage) supports string values as parameter only;
public void onLWPOffsetsChanged(float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset)
{
	UnityPlayer.UnitySendMessage("myCam", "SetCamOffsetFactor", String.valueOf(xOffset));
}

it is always nice to have some easy way to test your LWP in your unity3d editor 😉 in this case you can just add this lines into the C# script:

void OnGUI()
{
	GUILayout.BeginHorizontal();
	if(GUILayout.Button("set to 0.0"))
	{
		SetCamOffsetFactor("0");
	}
	if(GUILayout.Button("set to 0.5"))
	{
		SetCamOffsetFactor("0.5");
	}
	if(GUILayout.Button("set to 1.0"))
	{
		SetCamOffsetFactor("1");
	}
	GUILayout.EndHorizontal();
}

click here to download the demo wallpaper from the google play store