<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MatD&#039;s homepage // Matthieu DERU</title>
	<atom:link href="http://www.mat-d.com/site/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mat-d.com/site</link>
	<description>Matthieu Deru - Webpage - Android - Flash - AIR - Mobile Development tutorials tips and tricks</description>
	<lastBuildDate>Mon, 07 May 2012 18:32:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Unity GPS plugin development tutorial: building a Android plugin for Unity with Eclipse and Ant</title>
		<link>http://www.mat-d.com/site/unity-gps-plugin-development-tutorial-building-a-android-plugin-for-unity-with-eclipse-and-ant/</link>
		<comments>http://www.mat-d.com/site/unity-gps-plugin-development-tutorial-building-a-android-plugin-for-unity-with-eclipse-and-ant/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 18:47:36 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Techzone]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[android speed]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[ant script]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[gps plugin]]></category>
		<category><![CDATA[Input.location]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[LocationManager]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[speed]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity 3d]]></category>
		<category><![CDATA[UnityPlayerActivity]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1347</guid>
		<description><![CDATA[This tutorial is about creating and compiling your own Unity GPS Plugin for Android. I wrote this tutorial in order to help those who are getting angry and fed up with missing information about the process of writing their own Unity Android plugin. My motivation was to get real speed values out of the GPS&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/unity_tutorial_icon1.jpg"><img class="wp-image-1383 alignleft" title="unity_tutorial_icon" src="http://www.mat-d.com/site/wp-content/uploads/unity_tutorial_icon1.jpg" alt="" width="148" height="130" /></a>This tutorial is about creating and compiling your own Unity GPS Plugin for Android. I wrote this tutorial in order to help those who are getting angry and fed up with missing information about the process of writing their own Unity Android plugin.</p>
<p style="text-align: justify;">My motivation was to get real speed values out of the GPS of my device, because the inbuilt Unity <strong>Input.location</strong> functions returned only latitude and longitude values that where (now that we’ve solved the problem I can assume that ) only computed on network basis and not on the data provided by the inbuilt GPS receiver (<a href="http://forum.unity3d.com/threads/132587-GPS-Input.Location-accuracy-question">http://forum.unity3d.com/threads/132587-GPS-Input.Location-accuracy-question</a>). This was pretty annoying so I decided to write my own GPS Plugin for Android.</p>
<p style="text-align: justify;"><em>Retrouvez la version française de ce tutoriel à l&#8217;adresse suivante : <a href="http://www.unity3d-france.com/unity/2012/creation-dun-plugin-gps-pour-unity-par-matthieu-deru/" target="_blank">http://www.unity3d-france.com/unity/2012/creation-dun-plugin-gps-pour-unity-par-matthieu-deru/</a></em></p>
<p style="text-align: justify;"><span id="more-1347"></span></p>
<p style="text-align: justify;">Before starting this tutorial, I would also like to credit one site that helped me to solve the problem.</p>
<p style="text-align: justify;"><a href="http://randomactsofdev.wordpress.com/2011/08/19/accessing-the-android-compass-through-unity-3d/">http://randomactsofdev.wordpress.com/2011/08/19/accessing-the-android-compass-through-unity-3d/</a></p>
<p style="text-align: justify;">I’ve extended my tutorial by using an Ant script to compile the classes but also to enable an Eclipse integration.<br />
I hope that those how are new to Unity and want to develop their own GPS plugin will find this tutorial interesting.</p>
<p style="text-align: justify;">And of course there are also some other interesting links that helped me to better understand the whole process and to write this tutorial:</p>
<p style="text-align: justify;"><a href="http://stackoverflow.com/questions/938719/android-using-locationmanager-does-not-give-a-geo-fix">http://stackoverflow.com/questions/938719/android-using-locationmanager-does-not-give-a-geo-fix</a></p>
<p style="text-align: justify;"><a href="http://forum.unity3d.com/threads/126241-How-to-use-a-self-plugin-in-unity-project">http://forum.unity3d.com/threads/126241-How-to-use-a-self-plugin-in-unity-project</a></p>
<p style="text-align: justify;"><a href="http://forum.unity3d.com/threads/100751-Android-Plugin-JNI-Question">http://forum.unity3d.com/threads/100751-Android-Plugin-JNI-Question</a></p>
<h4 style="text-align: justify;"><strong>Prerequisites</strong></h4>
<ul style="text-align: justify;">
<li><strong>Unity 3.5 (3.5.1 would be better, but the process is the same)</strong></li>
<li><strong>Android SDK</strong></li>
<li><strong>Eclipse (Helios) with ADT tools</strong></li>
</ul>
<p style="text-align: justify;">So let&#8217;s start to develop our <strong>GPS Plugin</strong></p>
<h4 style="text-align: justify;"><strong>Create the Java file for accessing the GPS functions</strong></h4>
<p style="text-align: justify;">Open Unity and create a new project put a camera. Under Project create a new directory named “<strong>Plugins</strong>” and then a directory “<strong>Android</strong>”</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/unity_plugin_directory.png"><img title="unity_plugin_directory" src="http://www.mat-d.com/site/wp-content/uploads/unity_plugin_directory.png" alt="" width="496" height="354" /></a></p>
<p style="text-align: justify;">Create a Java file <strong>GPSTest.java</strong> with following code in it:</p>
<pre class="brush: as3;">package com.test.app;

import com.unity3d.player.UnityPlayerActivity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Config;
import android.util.Log;

public class GPSTest extends UnityPlayerActivity {

    private static final String TAG = "GPS_Unity";

    /** Stores the current location */
    public static Location currentLocation;

    public static LocationManager myLocationManager;

    /** Listeners for the gps and network location */
    static LocationListener networkLocationListener;
    static LocationListener gpsLocationListener;

    /** Starts the GPS stuff */
    public static void startLocationListeners() {
        /**
         * Gps location listener.
         */
        gpsLocationListener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {
                currentLocation = location;
                Log.i(TAG, "Getting Location over GPS " + currentLocation.toString());
            }

            public void onProviderDisabled(String provider) {
            }

            public void onProviderEnabled(String provider) {
            }

            public void onStatusChanged(String provider, int status,
                    Bundle extras) {
            }
        };

        /**
         * Network location listener.
         */
        networkLocationListener = new LocationListener() {
            @Override
            public void onLocationChanged(Location location) {
                currentLocation = location;

                Log.i(TAG,
                        "Getting Location over GPS" + currentLocation.toString());
            }

            public void onProviderDisabled(String provider) {
            }

            public void onProviderEnabled(String provider) {
            }

            public void onStatusChanged(String provider, int status,
                    Bundle extras) {
            }
        };

        myLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0, 0,
                networkLocationListener);
        myLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
                gpsLocationListener);
    }

    @Override
    protected void onCreate(Bundle myBundle) {

        super.onCreate(myBundle);
        myLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        // Starts the listeners
        startLocationListeners();
    }

    @Override
    protected void onResume() {
        if (Config.DEBUG)
            Log.d(TAG, "onResume");

        super.onResume();
        startLocationListeners();
    }

    @Override
    protected void onPause()
    {
        myLocationManager.removeUpdates(networkLocationListener);
        myLocationManager.removeUpdates(gpsLocationListener);

        super.onPause();

    }

    @Override
    protected void onStop() {
        if (Config.DEBUG)
            Log.d(TAG, "onStop");
        myLocationManager.removeUpdates(networkLocationListener);
        myLocationManager.removeUpdates(gpsLocationListener);
        super.onStop();
    }

    /** Returns the speed in km/h */
    public static String getSpeed()
    {
        if(currentLocation!=null)
            return "" + currentLocation.getSpeed()*3.6;
        else
            return "Unknown";

    }
}</pre>
<p style="text-align: justify;"><strong>Important:</strong> please notice the package name it has to be the same as in the player settings (Bundle identifier) in Unity.</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/unity_bundle_identifier.png"><img class="aligncenter size-full wp-image-1368" title="unity_bundle_identifier" src="http://www.mat-d.com/site/wp-content/uploads/unity_bundle_identifier-e1335612468382.png" alt="" width="327" height="334" /></a></p>
<p style="text-align: justify;">If it doesn&#8217;t match you will get problems with the calls because your class definition won&#8217;t be found by the VM and you will get a crash at launch (you can check it by using the <strong>DDMS</strong> tools under<strong> /android-sdk/tools/ddms.bat</strong></p>
<h4 style="text-align: justify;"><strong>Code explanation</strong></h4>
<p style="text-align: justify;">The first thing you will notice is the import of the <strong>UnityPlayerActivity</strong>. Compiled through the <strong>Build &amp; Run</strong> option of Unity the Unityplayer runs it’s own activity and loads all the 3d stuff in it and shows your 3D scene on the screen. Note: it’s not mandatory to extend your Activity from <strong>UnityPlayerActivity</strong>. But as we want also that the Activity  loads our own stuff (GPS listeners), we are going to let our new class inherit the <strong>UnityPlayerActivity</strong>.</p>
<p style="text-align: justify;">Usually you will see an additional line called <a href="http://developer.android.com/reference/android/app/Activity.html#setContentView%28int%29">setContentView(int)</a> that will load your layout (R.Layout.main) into the Activity. We are not using it and only use the <strong>super.onCreate(myBundle)</strong> method.</p>
<p style="text-align: justify;">At the start of the program you’d also like to start the GPS and the Network listeners (but it’s almost improbable that network will return you a speed). This code is pretty straight forward: when the inbuilt GPS device receives the data from the satellites it will trigger the event <strong>onLocationChanged</strong>. Then you only need to store this location (that will contain latitude, longitude and speed) in a variable <strong>currentLocation</strong> that you will then reach out to Unity.</p>
<p style="text-align: justify;">If you need a more robust version of the Android GPS Listener I highly suggest you to have a look onto this post:</p>
<p style="text-align: justify;"><a href="http://stackoverflow.com/questions/3145089/what-is-the-simplest-and-most-robust-way-to-get-the-users-current-location-in-a/3145655#3145655">http://stackoverflow.com/questions/3145089/what-is-the-simplest-and-most-robust-way-to-get-the-users-current-location-in-a/3145655#3145655</a></p>
<h4 style="text-align: justify;"><strong>Setting up the manifest.xml</strong></h4>
<p style="text-align: justify;">Now like any other Android application we need to setup a <strong>manifest.xml</strong> file. This manifest file will tell at compilation time which activities should be launched and which functions are allowed to be accessed. In our case we must give the name of the Activity the same name as our compiled.jar. Don’t worry we are going to see how to compile this .jar in the next section. So let&#8217;s create under<strong> /Plugins/Android</strong> the file <strong>AndroidManifest.xml</strong> and place following content in it:</p>
<pre class="brush: as3;">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.test.app"
      android:versionCode="1"
      android:versionName="1.0"&gt;
    &lt;uses-sdk android:minSdkVersion="8" /&gt;
 &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
 &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.INTERNET"/&gt;
  &lt;uses-feature android:name="android.hardware.location.gps" android:required="true" /&gt;
    &lt;application android:label="@string/app_name"&gt;
        &lt;activity android:name=".GPSTest"
                  android:label="@string/app_name"&gt;
            &lt;intent-filter&gt;
                &lt;action android:name="android.intent.action.MAIN" /&gt;
                &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
            &lt;/intent-filter&gt;
        &lt;/activity&gt;
    &lt;/application&gt;
&lt;/manifest&gt;</pre>
<p style="text-align: justify;">Notice the following important lines:</p>
<pre class="brush: as3;"> &lt;activity android:name=".GPSTest"&gt;</pre>
<p style="text-align: justify;">Classe name (must match the bundle identifier of your application and the name of the package of your <strong>GPSTest.java</strong>)</p>
<pre class="brush: as3;">package="com.test.app"</pre>
<p style="text-align: justify;"><strong>Permissions</strong></p>
<p style="text-align: justify;">We must tell our program that it is allowed to use the GPS and the network for locating our phone – that’s why we have <strong>ACCESS_FINE_LOCATION</strong> and <strong>ACCESS_COARSE_LOCATION</strong> in the permissions block.</p>
<pre class="brush: as3;">  &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;
 &lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&gt;
  &lt;uses-permission android:name="android.permission.INTERNET"/&gt;
  &lt;uses-feature android:name="android.hardware.location.gps" android:required="true" /&gt;</pre>
<p style="text-align: justify;">If you are going to extend this project with Honeycomb or Ice-Cream Sandwich particular functions you will need to change following line:</p>
<pre class="brush: as3;">android:minSdkVersion="8"</pre>
<p style="text-align: justify;">Now we have told which activity should be launched. When you are going to click on <strong>Build and Run</strong>, Unity will check for this manifest file (and will not take the default one) and will check which Activity (by extension which jar has to be loaded) and integrated in the package (*.apk-file) before pushing it to your device.</p>
<h4 style="text-align: justify;"><strong>Building the .jar for with ANT</strong></h4>
<p style="text-align: justify;">Now we have our <strong>AndroidManifest.xml</strong> and our <strong>GPSTest.java</strong> under <strong>/Plugins/Android</strong></p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/Capture_unity_structure.png"><img class="aligncenter size-full wp-image-1373" title="Capture_unity_structure" src="http://www.mat-d.com/site/wp-content/uploads/Capture_unity_structure.png" alt="" width="296" height="256" /></a></p>
<p style="text-align: justify;">Instead of writing a long <strong>cmd</strong> line for compiling with <strong>javac</strong> with classpathes and so one ( i hate to type long command lines especially with all the classpath stuff and additional <strong>javac</strong> options <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ), we are going to simplify the whole stuff by building an Ant script.</p>
<p style="text-align: justify;">I was kinda inspired by the Ant script you will get at (<a title="http://unity3d.com/support/documentation/Images/manual/AndroidJavaPlugin.zip" href="http://unity3d.com/support/documentation/Images/manual/AndroidJavaPlugin.zip">http://unity3d.com/support/documentation/Images/manual/AndroidJavaPlugin.zip</a>) and slightly adapted it to have a quicker and compacter script.</p>
<p style="text-align: justify;">Ant enables to create quick script to create directories, call .exe or like in our case to generate the classes. Another nice stuff is that you have the possibility to import your Ant script into Eclipse.</p>
<p style="text-align: justify;"><strong>Notice</strong>: if you are using other classes or libs you will need to adapt the following Ant script (you can check the official documentation at <a href="http://ant.apache.org/manual">http://ant.apache.org/manual/</a> The following Ant script is only for the purpose of this tutorial, but I think you’ve already checked it!</p>
<p style="text-align: justify;">Create a file name <strong>build.xml</strong> under <strong>/Plugins/Android/</strong> with following content</p>
<pre class="brush: as3;">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;project name="CompileGPSAndroidJava"&gt;

    &lt;!-- Change this in order to match your configuration --&gt;
    &lt;property name="sdk.dir" value="C:\android-sdk-windows"/&gt;
    &lt;property name="target" value="android-8"/&gt;
    &lt;property name="unity.androidplayer.jarfile" value="C:\Program Files (x86)\Unity\Editor\Data\PlaybackEngines\androiddevelopmentplayer\bin\classes.jar"/&gt;

    &lt;!-- Source directory --&gt;
    &lt;property name="source.dir" value="." /&gt;
    &lt;!-- Output directory for .class files--&gt;
    &lt;property name="output.dir" value="./classes"/&gt;
    &lt;!-- Name of the jar to be created. Please note that the name should match the name of the class and the name
    placed in the AndroidManifest.xml--&gt;
    &lt;property name="output.jarfile" value="GPSTest.jar"/&gt;

      &lt;!-- Creates the output directories if they don't exist yet. --&gt;
    &lt;target name="-dirs"  depends="message"&gt;
        &lt;echo&gt;Creating output directory: ${output.dir} &lt;/echo&gt;
        &lt;mkdir dir="${output.dir}" /&gt;
    &lt;/target&gt;

   &lt;!-- Compiles this project's .java files into .class files. --&gt;
    &lt;target name="compile" depends="-dirs"
                description="Compiles project's .java files into .class files"&gt;
        &lt;javac encoding="ascii" target="1.6" debug="true" destdir="${output.dir}" verbose="${verbose}" includeantruntime="false"&gt;
            &lt;src path="${source.dir}" /&gt;
            &lt;classpath&gt;
                &lt;pathelement location="${sdk.dir}\platforms\${target}\android.jar"/&gt;
                &lt;pathelement location="${unity.androidplayer.jarfile}"/&gt;
            &lt;/classpath&gt;
        &lt;/javac&gt;
    &lt;/target&gt;

    &lt;target name="build-jar" depends="compile"&gt;
        &lt;zip zipfile="${output.jarfile}"
            basedir="${output.dir}" /&gt;
    &lt;/target&gt;

    &lt;target name="clean-post-jar"&gt;
         &lt;echo&gt;Removing post-build-jar-clean&lt;/echo&gt;
         &lt;delete dir="${output.dir}"/&gt;
    &lt;/target&gt;

    &lt;target name="clean" description="Removes output files created by other targets."&gt;
        &lt;delete dir="${output.dir}" verbose="${verbose}" /&gt;
    &lt;/target&gt;

    &lt;target name="message"&gt;
     &lt;echo&gt;Android Ant Build for Unity Android Plugin&lt;/echo&gt;
        &lt;echo&gt;   message:      Displays this message.&lt;/echo&gt;
        &lt;echo&gt;   clean:     Removes output files created by other targets.&lt;/echo&gt;
        &lt;echo&gt;   compile:   Compiles project's .java files into .class files.&lt;/echo&gt;
        &lt;echo&gt;   build-jar: Compiles project's .class files into .jar file.&lt;/echo&gt;
    &lt;/target&gt;

&lt;/project&gt;</pre>
<p style="text-align: justify;">Notice that you must adjust three pathes (<strong>source.dir, </strong><strong>output.dir</strong> and of course the name of the output jar (<strong>output.jarfile</strong>).</p>
<p style="text-align: justify;"><strong>Version 1: With cmd</strong> The Android SDK includes an Ant distribution so you have the possibility to launch Ant scripts directly over a shell /command line.</p>
<p style="text-align: justify;">Open a command (<strong>cmd</strong>) and type following command to launch the build script:</p>
<pre class="brush: as3;">ant build-jar clean-post-jar</pre>
<p style="text-align: justify;">you will get after a few seconds the message that every was correctly built!</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/ant_build_output-console.png"><img class="aligncenter  wp-image-1353" title="ant_build_output-console" src="http://www.mat-d.com/site/wp-content/uploads/ant_build_output-console-1024x370.png" alt="" width="756" height="273" /></a></p>
<p style="text-align: justify;">You can now go to section <strong>Creating the C# code for calling our Java function.</strong></p>
<p style="text-align: justify;"><strong>Version 2: With Eclipse</strong> The integration with Eclipse is the best solution if you want to be able to get implement/call Android functions like Sensor data, Audioplayer or like in our case the GPS functions. Also note that at this level you will get auto-completion and a lot of nice Android-Eclipse features that will make the debugging and the testing a lot easier.<!--more--></p>
<p style="text-align: justify;">Launch <strong>Eclipse</strong></p>
<p style="text-align: justify;">Go to <strong>File -&gt;New</strong> and select make a <strong>New Java Project from ant Buildfile </strong>and press<strong> Next</strong></p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_select_ant_wizard.png"><img class="aligncenter size-full wp-image-1363" title="eclipse_select_ant_wizard" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_select_ant_wizard.png" alt="" width="525" height="500" /></a></p>
<p style="text-align: justify;">In the box <strong>select Java Project from an Ant Buildfile</strong> click on the <strong>Browse</strong> button and browse to your <strong>build.xml</strong></p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_new_from_ant_buildfile.png"><img class="aligncenter size-full wp-image-1359" title="eclipse_new_from_ant_buildfile" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_new_from_ant_buildfile.png" alt="" width="525" height="500" /></a></p>
<p style="text-align: justify;">Ok so we have our <strong>build.xml</strong> and now press <strong>Finish</strong></p>
<p style="text-align: justify;">You will have following structure: But there is something wrong!</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_generated_workspace.png"><img class="aligncenter size-full wp-image-1357" title="eclipse_generated_workspace" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_generated_workspace.png" alt="" width="300" height="333" /></a></p>
<p style="text-align: justify;">We have two<strong> build.xml.</strong> In fact the Wizard automatically creates a <strong>build.xml</strong> referencing to the workspace but not on your own <strong>build.xml</strong> placed under your Unity project. Delete the <strong>build.xml</strong> (and keep the one that is under the <strong>/Android</strong> directory tree)</p>
<p style="text-align: justify;">Now go under default package and change the package name of your <strong>GPSTest.java</strong> file (if not already done).</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_unity_activity_change_package.png"><img class="aligncenter  wp-image-1364" title="eclipse_unity_activity_change_package" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_unity_activity_change_package.png" alt="" width="613" height="264" /></a></p>
<p style="text-align: justify;">So now you have the following structure. Note that you can remove the <strong>classes</strong> directories from the project. You should have following project structure:</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_correct_project_structure.png"><img class="aligncenter  wp-image-1356" title="eclipse_correct_project_structure" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_correct_project_structure.png" alt="" width="441" height="182" /></a></p>
<p style="text-align: justify;">Our project structure is now correct with the correct directories and path. You can now modify your <strong>GPSTest.java</strong> if you want and you will get all the Eclipse support. Nice isn&#8217;t it ?</p>
<p style="text-align: justify;">Now we need to launch our Ant file. Go to <strong>External Tools</strong> -&gt; <strong>Ant Build..</strong></p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/build_ant.jpg"><img class="aligncenter  wp-image-1354" title="build_ant" src="http://www.mat-d.com/site/wp-content/uploads/build_ant.jpg" alt="" width="636" height="148" /></a></p>
<p style="text-align: justify;">A window will open and will show the following options. Go to the “<strong>Main</strong>” tab. The path is false (we don’t want it to be relative to our workspace but to our <strong>Plugins/Android</strong> path. So press on “<strong>Browse File System</strong>”. You should get this:</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_path_build_ant_target_correct_path.png"><img class="aligncenter  wp-image-1362" title="eclipse_path_build_ant_target_correct_path" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_path_build_ant_target_correct_path.png" alt="" width="542" height="433" /></a></p>
<p style="text-align: justify;">Now press on the “<strong>Targets</strong>” tab and select <strong>build-jar</strong> and then <strong>clean-post-jar</strong>.</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_path_build_ant_target.png"><img class="aligncenter  wp-image-1361" title="eclipse_path_build_ant_target" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_path_build_ant_target.png" alt="" width="540" height="431" /></a></p>
<p style="text-align: justify;">Press on “<strong>Apply</strong>” and “<strong>Run</strong>”.</p>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/eclipse_ant_build_successful_output.png"><img class="aligncenter  wp-image-1355" title="eclipse_ant_build_successful_output" src="http://www.mat-d.com/site/wp-content/uploads/eclipse_ant_build_successful_output.png" alt="" width="554" height="325" /></a></p>
<p style="text-align: justify;">Hurray! you’ve compiled your jar! Notice the new file <strong>GPSTest.jar</strong> in the directory.</p>
<p style="text-align: justify;">Leave <strong>Eclipse</strong> and switch to <strong>Unity</strong>. You will have following structure in the Project view.</p>
<div class="mceTemp mceIEcenter" style="text-align: justify;">
<dl id="attachment_1373" class="wp-caption aligncenter" style="width: 306px;">
<dt class="wp-caption-dt"><a href="http://www.mat-d.com/site/wp-content/uploads/Capture_unity_structure.png"><img class="size-full wp-image-1373" title="Capture_unity_structure" src="http://www.mat-d.com/site/wp-content/uploads/Capture_unity_structure.png" alt="" width="296" height="256" /></a></dt>
<dd class="wp-caption-dd">Hierarchy of the Unity project</dd>
</dl>
</div>
<h4 style="text-align: justify;"><strong>Creating the C# code for calling our Java function.</strong></h4>
<p style="text-align: justify;">In Unity go to create new and <strong>C# Script</strong>. Give the script a name (in our case <strong>GPSManager.cs</strong>) and paste following code in it:</p>
<pre class="brush: as3;">using UnityEngine;
using System.Collections;

/** Accessing the GPS Data over JNI calls
 *  Please check the Java sources under Plugins/Android
 * */
public class GPSManager : MonoBehaviour {

    static string speedMessage;

    AndroidJavaClass gpsActivityJavaClass;

    void Start () {
        AndroidJNI.AttachCurrentThread();
        gpsActivityJavaClass = new AndroidJavaClass("com.test.app.GPSTest");
    }

    void Update() {

        speedMessage = gpsActivityJavaClass.CallStatic&lt;string&gt;("getSpeed");

        float speed = 0;
        if(speedMessage!="Unknown")
        {
            speed = float.Parse(speedMessage);
            GameObject.Find("gps_output").guiText.text = speed + "km/h";

        }
        else
        {
            GameObject.Find("gps_output").guiText.text = "No speed <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> ";
        }
    }
}</pre>
<p style="text-align: justify;">The code is pretty easy to understand: we tell the JVM to fetch the reference of our class (notice the name of our class). In our case we are “storing” this instance (&#8220;<strong>com.test.app.GPSTest</strong>&#8220;) in the Unity object named <strong>gpsActivityJavaClass</strong> of type <strong>AndroidJavaClass</strong></p>
<p style="text-align: justify;">Now that we have our object reference we can tell it to call a method stored in our class <strong>GPSTest.java</strong>. In our case we’ve prepared in <strong>GPSTest.java</strong> the method <strong>getSpeed</strong>(). As we know that this static method returns a string, we also tell this to the <strong>CallStatic</strong> method of the <strong>AndroidJavaClass</strong> object. Please note that the return type should always match otherwise you will get errors while calling the method from C#.</p>
<pre class="brush: as3;">speedMessage = gpsActivityJavaClass.CallStatic&lt;string&gt;("getSpeed")</pre>
<p style="text-align: justify;">So now we have our <strong>speedMessage</strong> that will contain a speed value as a string. Now it’s pretty easy to extract the float value of the speed from a string:</p>
<pre class="brush: as3;">speed = float.Parse(speedMessage);</pre>
<p style="text-align: justify;"><strong>Note:</strong> You will certainly ask yourself what is the best solution: to generate all getters in Java and to check each value with <strong>AndroidJavaClass. CallStatic&lt;typeOfReturn&gt;</strong> or to only extract the <strong>toString</strong>() value of the object?</p>
<p style="text-align: justify;">I personally would say it’s the first solution is the cleanest way to realize it. If you are lazy you could of course go this way: serializing the <strong>Location</strong> by only storing the <strong>Location.toString()</strong> value and you will parse the content on C# side instead of calling the getters over the <strong>AndroidJavaClass</strong> calls. Another point is to know if you want to modify both Unity C# and Java classes each time you will integrate a new function or only the Unity C# part, letting the “intelligence” of your Java activity on a lower level.</p>
<p style="text-align: justify;">The other possibility would be to use the <strong>UnitySendMessage</strong> out of Java. This would be in fact a performance improvement because you would only make the call to the C# method when the location has in fact changed, instead of constantly checking (over the C# <strong>Update()</strong> function for the last value of the speed). It’s up to you to choose which method could fit the best. Assuming you have a <strong>setSpeed(int)</strong> function on C# side.</p>
<pre class="brush: as3;">UnityPlayer.UnitySendMessage("Main Camera","setSpeed",Integer.toString())</pre>
<p style="text-align: justify;">Now create a new <strong>GUI Text</strong> and name it <strong>gps_output</strong></p>
<div class="mceTemp mceIEcenter" style="text-align: justify;">
<dl id="attachment_1376" class="wp-caption aligncenter" style="width: 584px;">
<dt class="wp-caption-dt"><a href="http://www.mat-d.com/site/wp-content/uploads/final_unity_project_structure.png"><img class=" wp-image-1376" title="final_unity_project_structure" src="http://www.mat-d.com/site/wp-content/uploads/final_unity_project_structure.png" alt="" width="574" height="492" /></a></dt>
<dd class="wp-caption-dd">Final structure of your Unity GPS project</dd>
</dl>
</div>
<p style="text-align: justify;">Attach the script to your <strong>MainCamera</strong>: you’re done  !</p>
<h4 style="text-align: justify;"><strong>The final step: build and run !</strong></h4>
<p style="text-align: justify;">Now if you have carefully followed all the instructions mentioned above your scene should compile and you will get a beautiful blue screen with a tiny text. Go outside and run (or drive) around your block and check how the current speed will be displayed!</p>
<p style="text-align: justify;">If you launch the <strong>DDMS</strong> tool you can see the log outputs :</p>
<div class="mceTemp" style="text-align: justify;">
<dl id="" class="wp-caption alignnone" style="width: 698px;">
<dt class="wp-caption-dt"><a href="http://www.mat-d.com/site/wp-content/uploads/logsSpeed.png"><img title="logsSpeed" src="http://www.mat-d.com/site/wp-content/uploads/logsSpeed.png" alt="" width="688" height="54" /></a></dt>
<dd class="wp-caption-dd">The DDMS will log out when the location is updated</dd>
</dl>
</div>
<p style="text-align: justify;">Lazy? or it&#8217;s too late at night to type all the obscure code above ?, here are the files to download <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  :</p>
<p style="text-align: justify;"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAA8CAIAAACWxR/wAAARLUlEQVRogcXW93cT55oHcP6JvT/cc/bs2Xs3d8+m0wKsCSXkUk0LhACxSYAEktDcwB0bY+OCbQy4V2xcKbZxkWRj3MAYF3XJqtOLNOqaUbFkC+8PI8nCQMLdTfY+53t8JI3fdz563ndmtGxgYEAsFk+9vab/DxU6z+Tk5MTExItAjY+PB19MTk4ODAws4/F4brfb4/G43e7ZN5UnpLyv1dyrFXqIHcJO4na73W63y+VyOp1Op9PhcDAMQ9O03W63Wq0ej4fH4y3jcDjvSHn9xPOB8vl8L0PK5/P5fL75+fm5uTlW85sUDofjp8zPzy/5lvMhxc4b+jZYwdMvvFqhLHbyoImlsA6bzWaxWObm5vwUl8sV7GfoKixpwJI2hGoW3lTBf2DHBjVsb1gNTdNWq9Xn871CWbIWr4P+F10JUt6mYRjGbre/fPlyKeWNmrdtjt9LQ9P0wsKCn+J0OoOUP0IT3DFv1DAM8woleNX9UzRLKUsu5t9RE7pYb9QsUhwOB0v5Z2leoQTvQn+c5vW7X/CmvJTicrn+/zUs6A2U30nzMvQx8C5X+CKFYRj2AfEPaUJA8/Pzvnmfz/+EmPPOz3t9Pt/LlwsvFxZe3zava95K+S2N1zs3752b80u8Hq/H5XEzHrdt1mlyM3o3TbppctZBeVzWea/TN+956fP9umYpxel0/obG4/F6vbOzDrfT5naYXQzlovVuhpp1GN2M3mXDXTbMZUPddtxNE7M04bZjbhqbZXCPQ+dxGL1u+7zX5ZvzhDbq5csFn8+3SKFpmqW8qnG73bPuWQ+LcbudLofVbqEYu9HFmF2M0e0wOu0EbVBY0DG7Tui0kx6XzTtr97qtHpfJ49C77bjLijotqMuKuiyoy4q5bbjbhrtthNumm2VMXjftm/ew+2mREvgl4XK63C4X+8PC4WSsTtrksFMOu95JUy7GaDOhtIFv0vbggkpiKh8YSdIMRGmenAVH45Dnl7HJfJ2kzagZMSMCWg86bZSbNrlslMtCOEwwYwBoSsMYtA4T6DRDLis8a0c9NO5hyIV5OkhhXC63g2EctIWxG2gLSVsJh03nsOkZC04btVZi2qThGmRNmsE0Qdcvsv4Y9XAC+DyVnEgjJ7O0j2PFLZFT1fvHSvc8Ld79tHj3i+pD0vaz6HiBUdVuQ0ZovcxlxWcdJo/LMucyz7kMXgfpdZAehvAwuIfBF7yUn2I3E4wZthnUNkppN6hpE8iYlFb4CSWtIyaysbEUdOQSNhKHj8XrJ1J048nwQJy886cXDRHCthPSe+fkHYmyzkRRe5y88yfo8QVi9CI5log9jUdH4uChaHgoCh1N0L24apSUMXCPxyKac2BzLqOHIQIUcsFrDGxbM+K0EQ4rxlhQxkpaZC1W4W27tNwmL7FIbhj5WUZ+Fj56Udt7SvHwuKTtxHT90cm6bwR3vxU2RcrvHwe5vyBDMfK+GOlAvGwwRTWaBo+lUVPpNvE143SaWZhBiTLx6UzgeZp8IF7QFcVvj7LAz+fdJi+NeRjcwxALcwY/xaZTMSaINkGMGXMyZpOwRjecTI2kU8+yjBP5dlEJ8aIYfV6FjVdpBrLkHacB3hl8JI6aSLEIMyyiTJMgw8S/YuWnWyaTTRNJuueJirFU/pPLjxuOS4ZS+Zz45w+injX9MtZ46kXjDxNNP4zdiaDU/T6v0zdLzbt0805ywWfxU6x6NW0C7QatndIyFtLIr8aeJBPD6fhwOj6URo5cUbafEjcfkT88hQxftSkqneoKp7rMobxBS7ItgivmyRRanOFU5ltVN0jxdcVY1iQnYaTpl8Hq78YaTo43nJxo+mGq5cfJllMTzacmWn4cbzimV/JcDqvVCDismNtJzTpMAYpORRsAOwWwFP10Jfw4ER28zAYbTocex2t5UVreBYAbhTxOhvuTkCdpxLNrxukCm+TWLFgJCwqne5KHm88O1Bwfqjn27M6x8cbvx5tOjN39buzu92N3j4dmpOawQTvoclgNuMJEqu1GaM6h81MspNJuAKx6jY3S0hYCnyjVcuPA/kQ2QF8iPJCADidiQ8nwYBLQnwT2JwL9iVpevIZzUcO5CI1c6684Olh5dLQ2YrTu2EjdsZE7370hdf6/Q9VHEGmvmzE5LKjTijqtqM9JLqVYKQ1jJdHxEmVPjJqbwEbRcxEbTTVMXTXzs6ChJGXvpeAhNTdBw0vQDl7pLz80WBMxWBM5WBMxWB0xWLOYoZqIoZrI4drI4drIoZrIwZrIx+WHcDnHzRhpg5Yxgg4zPOcg/BQTobBRWotOY9FpaAuJjN2a6Tin7I5Vdscqu2JmOqMsojyLKN8xc1PVFz/TGeU/1B2r7I5VdceoH6dzy75+XHn0cZU//VVH2L/9lYcfVx0ZrP52sOrok6ojA1VHB6q/7Ss7iEp73IyRNgC0EWRMUChlxqrXWHRqi05jM+Pa4QLxw5+lnReknRfED88pOXFess4FlHmQSn7HeWnHefYQG1nnhRleSm/pgb7Kw8Hwyg9zyw5zyw9xyw7xyg/xKr7hlX3NLT/UX3m4v/Iop/QrSPTIRRvtFGA3gHYj5GWCFHzGqteYSZVFp7aZcNWTPMH9U6L2s6L2s+KOc5MtP3KrIuxovdNwb6DmmLTzPHsoGHlvQvetvdzSg9zSg5zSg72lB3uLD3bf/qq7+EBPycHe0oO9ZQc5ZV9zyr7mlh/ilR/qKtoFCjtcdoON0tgNgN0AemncTzEGKGZSZTfhiie5k80n+fd+ZiNqPztSG9lbGSF5mjtQeVTUfjZ4iI2461J74a6um/u6bu7rvrmv6+a+R0V7HxXtfXRz76Nb+7pu7eu+vb+7eH938f6u2/s7b+1vy90CCR+6aKNNr7FRWrsxhGLA5BZSbSKUJkLJUsbvnphs/YnNROtp4YMzT+98/6Bgz0Tr6am2n4OHJlt/mmw9Pd0efT9/Z0fRno6iPQ9v7H54Y8+DgvCH13c9zA9vLwhvL9zdUbi7/cbujqI9DwvD7xWEN2d/qeG3O+2UVa+xUlqbAfAsUlC5mVSZCAVLkfdlPq379nnjidC8aP5hsDbyRfPJJZ+PN554ce9MS96O+wXh9wvC7xWE388Pb7u+szV3e2vejrbrO+/l77yXv+tBYfj9gl1t+Ttb87Y3ZW1WTT1w2CmLXm2lNFZKO2tHgxSZmVQZcYUJV9hNmJiTMVh9+PUbw9P670fql344eue7Z00/Nl3b2pa3sy1vZ9v17a2521pytzXnbG3O2d6Su6M1b0dr3s7W6zta83Y252xtzP6yLm2d8kWb026w6NRWvcaqD6HoEamJUBmwGQOusBjQ6UdpAxXfDNVEvlNqI4fvHG/M3NKavbU1e2tz9tama39vDKQpe2tT9tbmnG3NOduacrY1XN1Sf2VzVeKqmbGWt1BgiRFXsBSTHh7vSOaWHeivOvIueVx9ZKAm4s6VTY2ZWxozt9zN2tKQuaUhc3N9xqb6jM31GZsbrn7Bpj7ji9r0TdWXN5bGr5Q+a2Js1BsoOlhixBUUJjfgMwYSevYgkVO6n1fxzbukr/Iwr+Kb6rQNdVc216ZvqkvbWJu2ofbyhprUz2tTN9Smbqi9vLGOTfqm2rSNlZc3FF9cLhm9y1j1SylcLlcHiQ3YjB6RUeiMgYRGWuO6bob3FH/1LuGUHOgpOVCRsr768oaq1A1VKZ9XpqyvTF5fkRRWkby+ImV9ZcrnbKpSN1Qmry9PCrsd87FopH4JhcvlLuNyuQQgClDkFAkONka35+/ovLH3XdJVtPfRzf1liesqk8MqksPKk9eXJYeVJ4eVJ4eVJYeVJYX53yaGlSf9d2VKWEXyutvRHwiH6t5MwQEhhcpZip4ABu5eaMvbyl6cv5mHhbsfFu4pufRZecK68oR1pQnrSuLXlsSvKYlfU3JpbcmltSXxa0sT1pXGry2LX1ORvLYqeU1p3EfTT2rf2hUKletgKYXI9TjQX3+uJefLtus73yX3Cna15YcXxa6+fWnN7UtrbsV9dit2dXHsquLY1bdiV9+MXXUrdtWti2tux31WHLuyNG5lRfyK0qi/Pe0u0eswE6lgE9IVrVCPyEhIooOlekzDrTnVdHVTc/bWlndIa862lpzthRdWFMWsYnMjekVRzIqimBVF0SuLYlYWRa+6EbOqKGbV7eiPSmI+vH1x+c3z//GspwTHYAM+w2aRgmn5LIWEpRQB9N1NvJO6ujEjrClr093MLfUZWxquftGQ8UXwsgxNY+aWu5lfXj//SWHU8sVELy+MXl4YtbwganlB1PLC6OU3YlbejP206Px/5pz+a9YPfxnl1etw0IDNsFmkIGo+CUkIUEyAEh0i18zwu++V1+WfLkv9siJx1Z201Q0Z6+9c3VR7ZVNt+sYlqbuyqS59c+6Zj66f++S1fFpwYUVB1Cd5P7+XefLfLn//12vnv6guiB7kPtCqJAZcQaFyNkspOCAiQDEBivWI3KQDcFjDn3jWda+mIvdMUfzWW7GfViR8Upv6WV3659WXN1albqhKWV+V8nl16oaq1A3Xfn4/58yHOWc+zDnzUe7Zj/POfXz97PvXfvz3tMg/J0b85cq5v1cWJA72dWiUMqsJw2EVDkr9DkRGIbJQyjQBSXBAhAMiHBDjoAgHxTpEaiSUZj1AYoBEMMXpbK64HpcXtz33zEe3o9+vSPi0KmVdRXJYRVJYeVLY1dP/de2XD7LPfJj903vp3/054fCf4o7+7cqFPTXFWaNPuKBmxkwhNgNoIpUEKCVAiR6RUYhMH4jTCvspkGoKB8UYIMIAIQYIMUCEAyIMEOGgiADFJCw14AqzXmsgIYVM3N/bWVmUlhO3N+PUx9fPvFcS+0FFwqq04/+afPRPMQf+JebIh5lxRxqqbjx/OoRAajMFm3UaCpPrEBmqFSMaIaoVEaBEh8j0iEwXiNOyhKIVBhPokAgHRDgoxkFx0GTRAyY9DKgUQwO8mpLcaxcPXT71WWzEqqyEk/eaqgVT4xSJmPWgAVfqEBkOinFAjINiAhKjWiGqFWGAmISlBCQhIakOluoRmQ6WMibQTwGVkxggQjQCVCNAtUKUBQFCDBBhgfYEQ0BiEpZSqNys01goGAaU/MkxmZhPEZDNAJl1aiOuxACxf57ADBggRDRCRCNEtUIUECJaIQFJ/F2BpVa9msvlLuNwOKByEtMKEY0gVPPqRKEaMREICUn0qNxAKAy4QofISFhKwlIdIgvOEJwE1Yr8Dq0Q1QoRjQDTCklIwt7MbAat/8kMKiZQjQBR8xejEbxFtriZlqygnwhJdIgU0QiRkIGoVoRqRRggQrSBz/3zC9mBFr06QJmZQDUCWDUNq/lsghS/JpBf2UxBjQ6WIhoBrBawK7K4LoF+sGHPgmqFOCAy61R+inbmBaIRQKppKFSj5iNqAaIWIGp+qOb15mOvaEQEJGHPtPQraYUYIGSVsJoPqfmwmg+pBZhWaCKV/t8rWvk4rOZDyilIOcWClrBen3RRE0yARYBiKGQgrBYgGgEcHB6YCtUKocBr2gj4ryCNfBxWTYPKqWDeCArdSb/SJBwUQyr+0oF+hwBSLfogNR9WC2C1wKxTBSiycUg1DSgm36Z59z5hgJClgP4hfDZw4Kzs0gS2iwBW8yFVCEUtfc5SAMUkqAjRKKch5TTEvvgHNCJQGeyxfxSomobU/GACLP9AI6HwU1SSMUAxqZ2ZYAMoJliWH7fYqmk2b12+gAkI+T6hA0ElP9gnSOXXwJoApa+vjwCFFCbTIxI9KmVDoTJDIEZM7g8+E4yJUARjJoNRWkilVa+iMDmFygyY/M0J/GIyEmwUTgvY19e3TCKRcDgcHo/H4/G4bypOSPX+AdXT09Pb2yuRSP4HsaGEOgp6rQ8AAAAASUVORK5CYII=" alt="" /><a href="http://www.mat-d.com/site/wp-content/uploads/GPSAndroidPlugin_Example.zip">GPSAndroidPlugin_Example.zip</a></p>
<h4 style="text-align: justify;"><strong>Oh no something went wrong !!! – A small troubleshooting guide</strong></h4>
<p style="text-align: justify;">I was struggling myself hours to find out why something went wrong. Here is a small list of things that may go wrong:</p>
<ol style="text-align: justify;">
<li>The packages of the class if wrong, not matching the bundle name specified in Unity</li>
<li>The name of the Activity in the<strong> AndroidManifest.xml</strong> does not match the name of the jar being compiled.</li>
<li>Calling the <strong>CallStatic</strong> with the bad parameters or return type</li>
<li>The class in <strong>AndroidClass</strong> is not correctly referenced (ClassNotFound Exception)</li>
</ol>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/wrong.jpg"><img class="aligncenter  wp-image-1371" title="wrong" src="http://www.mat-d.com/site/wp-content/uploads/wrong.jpg" alt="" width="656" height="337" /></a></p>
<ol style="text-align: justify;">
<li><strong>Missing permissions</strong> in the <strong>Android Manifest.xml</strong> especially when using sensors</li>
<li>If you are working with Eclipse be always sure to edit files (<strong>.java</strong> or <strong>build.xml</strong>) from the <strong>/Plugins/Android</strong> directory and not from the workspace.</li>
<li>Using <strong>UnitySendMessage</strong>, to call a missing C# function or with unknown typed parameters</li>
</ol>
<p style="text-align: justify;">And don’t forget: <strong>DDMS</strong> is your friend and will help you to find out where the problem is (or could be).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/unity-gps-plugin-development-tutorial-building-a-android-plugin-for-unity-with-eclipse-and-ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Présidentielles 2012: Les professions de foi des candidats</title>
		<link>http://www.mat-d.com/site/presidentielles-2012-les-professions-de-foi-des-candidats/</link>
		<comments>http://www.mat-d.com/site/presidentielles-2012-les-professions-de-foi-des-candidats/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 09:53:18 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Politic]]></category>
		<category><![CDATA[Eva Joly]]></category>
		<category><![CDATA[François Bayrou]]></category>
		<category><![CDATA[François Hollande]]></category>
		<category><![CDATA[Jacques Cheminade]]></category>
		<category><![CDATA[Jean-Luc Mélenchon]]></category>
		<category><![CDATA[Marine Le Pen]]></category>
		<category><![CDATA[Nathalie Arthaud]]></category>
		<category><![CDATA[Nicolas Dupont-Aignan]]></category>
		<category><![CDATA[Nicolas Sarkozy]]></category>
		<category><![CDATA[Philippe Poutou]]></category>
		<category><![CDATA[président]]></category>
		<category><![CDATA[présidentielle 2012]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1301</guid>
		<description><![CDATA[La présidentielle 2012 se déroulera en France d’ici quelques jours et les premières professions de foi des candidats sont arrivées dans nos boîtes aux lettres. Cette année en Alsace-Moselle nous n&#8217;aurons plus droit aux professions de foi en langue allemande. C&#8217;est un peu dommage, car c&#8217;était toujours intéressant (et un peu insolite il faut l&#8217;avouer)&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/candidats_2012.jpg"><img class=" wp-image-1341 alignleft" title="candidats_2012" src="http://www.mat-d.com/site/wp-content/uploads/candidats_2012.jpg" alt="" width="118" height="118" /></a>La présidentielle 2012 se déroulera en France d’ici quelques jours et les premières professions de foi des candidats sont arrivées dans nos boîtes aux lettres. Cette année en Alsace-Moselle nous n&#8217;aurons plus droit aux professions de foi en langue allemande. C&#8217;est un peu dommage, car c&#8217;était toujours intéressant (et un peu insolite il faut l&#8217;avouer) de lire les traductions des slogans et des programmes des candidats. La raison semble assez <span id="more-1301"></span>difficle à comprendre. Le site suivant tente de donner quelques explications: <a href="http://alsacezwei.voila.net/francais/alaune/actualites/professionsdefoienallemand.htm">http://alsacezwei.voila.net/francais/alaune/actualites/professionsdefoienallemand.htm</a>.</p>
<p>Alors petit flashback pour ceux qui veulent (re)découvrir les versions 2007 des professions de foi des candidats en version allemande, voici mon post du 17 Avril 2007: <a href="http://www.mat-d.com/site/presidentielles-2007-professions-de-foi-en-version-allemande/">http://www.mat-d.com/site/presidentielles-2007-professions-de-foi-en-version-allemande/</a></p>
<p>Voici les premières pages des professions de foi des candidats pour l&#8217;élection de 2012 pour ceux qui ne les auraient pas encore eu dans leurs boîtes aux lettres. Vous pouvez aussi télécharger les PDFs des programmes à l&#8217;adresse suivante :<a href="http://www.cnccep.fr/les-candidats/"> http://www.cnccep.fr/les-candidats/</a></p>
<p>La liste suivante est présentée selon l&#8217;ordre du tirage officiel réalisé par le Conseil constitutionnel :</p>
<h4>Eva Joly</h4>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/eva_joly.jpg"><img class="size-medium wp-image-1323 aligncenter" title="eva_joly" src="http://www.mat-d.com/site/wp-content/uploads/eva_joly-213x300.jpg" alt="" width="213" height="300" /></a></p>
<h4>Marine Le Pen</h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/marine_lepen.jpg"><img class="aligncenter size-medium wp-image-1328" title="marine_lepen" src="http://www.mat-d.com/site/wp-content/uploads/marine_lepen-212x300.jpg" alt="" width="212" height="300" /></a></p>
<h4>Nicolas Sarkozy</h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/nicolas_sarkozy.jpg"><img class="aligncenter size-medium wp-image-1331" title="nicolas_sarkozy" src="http://www.mat-d.com/site/wp-content/uploads/nicolas_sarkozy-214x300.jpg" alt="" width="214" height="300" /></a></p>
<h4>Jean-Luc Mélenchon</h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/jeanluc_melenchon.jpg"><img class="aligncenter size-medium wp-image-1327" title="jeanluc_melenchon" src="http://www.mat-d.com/site/wp-content/uploads/jeanluc_melenchon-210x300.jpg" alt="" width="210" height="300" /></a></p>
<h4>Philippe Poutou</h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/philippe_poutou.jpg"><img class="aligncenter size-medium wp-image-1332" title="philippe_poutou" src="http://www.mat-d.com/site/wp-content/uploads/philippe_poutou-205x300.jpg" alt="" width="205" height="300" /></a></p>
<h4>Nathalie Arthaud</h4>
<h4><a href="http://www.mat-d.com/site/wp-content/uploads/nathalie_arthaud.jpg"><img class="aligncenter size-medium wp-image-1329" title="nathalie_arthaud" src="http://www.mat-d.com/site/wp-content/uploads/nathalie_arthaud-214x300.jpg" alt="" width="214" height="300" /></a></h4>
<h4>Jacques Cheminade</h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/jacques_cheminade.jpg"><img class="aligncenter size-medium wp-image-1326" title="jacques_cheminade" src="http://www.mat-d.com/site/wp-content/uploads/jacques_cheminade-212x300.jpg" alt="" width="212" height="300" /></a></p>
<h4>François Bayrou</h4>
<p>&nbsp;</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/francois_bayrou.jpg"><img class="aligncenter size-medium wp-image-1324" title="francois_bayrou" src="http://www.mat-d.com/site/wp-content/uploads/francois_bayrou-212x300.jpg" alt="" width="212" height="300" /></a></p>
<h4>Nicolas Dupont-Aignan</h4>
<p>&nbsp;</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/nicolas_dupont_aignan.jpg"><img class="aligncenter size-medium wp-image-1330" title="nicolas_dupont_aignan" src="http://www.mat-d.com/site/wp-content/uploads/nicolas_dupont_aignan-210x300.jpg" alt="" width="210" height="300" /></a></p>
<h4>François Hollande</h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/francois_hollande.jpg"><img class="aligncenter size-medium wp-image-1325" title="francois_hollande" src="http://www.mat-d.com/site/wp-content/uploads/francois_hollande-210x300.jpg" alt="" width="210" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/presidentielles-2012-les-professions-de-foi-des-candidats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evolution &#8211; Paul Van Dyk album review</title>
		<link>http://www.mat-d.com/site/evolution-paul-van-dyk-album-review/</link>
		<comments>http://www.mat-d.com/site/evolution-paul-van-dyk-album-review/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 16:46:15 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[adam young]]></category>
		<category><![CDATA[album]]></category>
		<category><![CDATA[Austin leeds]]></category>
		<category><![CDATA[electro]]></category>
		<category><![CDATA[evolution]]></category>
		<category><![CDATA[new album]]></category>
		<category><![CDATA[owl city]]></category>
		<category><![CDATA[paul van dyk]]></category>
		<category><![CDATA[pvd]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[vocals]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1307</guid>
		<description><![CDATA[About five years after releasing “In Between” world’s most famous German DJ and electro-music producer Paul Van Dyk is back with a new album called “Evolution”. This sixth studio album named “Evolution” introduces some really nice new collaborations. The album won’t sound completely new for fans, it’s rather a subtle mix (or let’s say combination)&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/evolution_pvd_cover.jpg"><img class="alignleft size-thumbnail wp-image-1311" title="evolution_pvd_cover" src="http://www.mat-d.com/site/wp-content/uploads/evolution_pvd_cover-150x150.jpg" alt="" width="150" height="150" /></a>About five years after releasing “<strong>In Between</strong>” world’s most famous German DJ and electro-music producer Paul Van Dyk is back with a new album called “<strong>Evolution</strong>”. This sixth studio album named “<strong>Evolution</strong>” introduces some really nice new collaborations. The album won’t sound completely new for fans, it’s rather a subtle mix (or let’s say combination) of older tunes (samples) from “<strong>Reflections</strong>” and “<strong>In Between</strong>” combined with powerful trance-like vocal performances. <span id="more-1307"></span>With “<strong>Evolution</strong>” Paul follows the same success recipe as with his previous albums &#8211; in some way this album could have also been named “Paul and friends” &#8211; because you will get a lot of featuring including <a href="http://www.youtube.com/watch?v=psuRGfAaju4" target="_blank">Adam Young (Owl City)</a>, Austin Leeds and Russian top DJ <a href="http://en.wikipedia.org/wiki/Arty_%28musician%29" target="_blank">Arty</a>.</p>
<p>In  “<strong>Evolution</strong>” Paul Van Dyk has used a lot of female vocals (Sue McLaren, Michelle Leonard) which for me puts this album in the “trance” music category. Let me begin with the track by track review of “<strong>Evolution</strong>”:</p>
<p><strong>Symmetries</strong>: This track is a pure trance track featuring Austin Leeds. Not the best track but a good introduction track to set up the stage and atmosphere for the rest of the album.</p>
<p><strong>The Ocean</strong>: One of the best tracks of the whole album. <strong>The Ocean</strong> features beautiful vocal passages with the special Paul Van Dyk trance rhythm.</p>
<p><strong>Eternity</strong>: If you liked the “spacy” vocals of Adam Young and his mega hit “Fireflies” you will really appreciate this new track.</p>
<p><strong>Verano: </strong>Not a lot to say, a pure trance track&#8230;<strong> </strong></p>
<p><strong>I don’t deserve you:</strong> A track with sad vocals (à la “Say Hello”-Deep Dish). Really on the edge between a commercial song and a pure trance track.</p>
<p><strong>Rock This:</strong> this is a track composed by Paul Van Dyk without any other artists, a pure instrumental (if we can say so <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) song.</p>
<p><strong>The Sun After Heartbreak: </strong>Take “<strong>Times of our Lives</strong>”  and put a female vocal (Sue McLaren) on the track and then you will get this superb track. You will also get a strange feeling that it has a curious “All Saints”-touch..</p>
<p><strong>Dae yor: </strong>Yes! A pure PvD track featuring Dutch DJ Ummet Ozcan. Rapid and deep bass: a top track for your car audio system.</p>
<p><strong>All the Way:</strong> I really appreciate the beginning of the track with the typical “<strong>We are alive</strong>” rhythm. The vocals (again slightly auto-tuned but not so much as in <strong>Lost in Berlin</strong>) are performed by Tyler Michaud.</p>
<p><strong>If you want my love: </strong>Got mixed feelings concerning this track: the first track part is a classical Paul Van Dyk with a slight “Wir sind Wir” touch. But then comes the saxophone part… This gives a  80’s and very late night adult film touch that completely kills the song. For me the worst track of the album, a saxophone played in this manner has nothing to do in an electro track. And if you tell me that Miss Alexandra Stan did it in the past, I will tell you that it’s a pure commercial dance song, all what Paul Van Dyk tried to avoid…</p>
<p><strong>Lost in Berlin: </strong>This is a far as I know the first time that auto-tune was used in one Paul’s tracks. It gives a curious touch to the track. I have mixed feelings about this because the middle part (3:48 – 5:05) of the track is oversaturated by the high pitched notes and the auto-tuned voice. It’s a true novelty for a Paul Van Dyk track to use this technique.</p>
<p><strong>A wonderful day</strong>: In the pure continuation of ex-<a href="http://en.wikipedia.org/wiki/NU_NRG">NU NRG</a> member <a href="http://en.wikipedia.org/wiki/Giuseppe_Ottaviani" target="_blank">Giuseppe Ottaviani</a> style.</p>
<p><strong>We came together</strong>: I was kind of surprised at the end of the track (5:02) to discover a very curious and dissonant bell passage. I’m not sure of the result, but it makes the end really original and almost unforgettable!</p>
<p><strong>Heart Stop Beating: </strong>A pure commercial trance song with vocals performed by Sarah Howells. In some way you could be tempted to think it’s a song composed by Tiesto.</p>
<h4><strong>Which track is worse buying on iTunes?</strong></h4>
<p>Here is my personal #6 “Evolution” track list:</p>
<ol>
<li><strong></strong><strong>The Ocean</strong></li>
<li><strong></strong><strong>I Don’t Deserve You</strong></li>
<li><strong></strong><strong>Dae Yor</strong></li>
<li><strong></strong><strong>A Wonderful Day</strong></li>
<li><strong></strong><strong>Rock this</strong></li>
<li><strong></strong><strong>All the Way</strong></li>
</ol>
<h4><strong>Conclusion</strong></h4>
<p>“<strong>Evolution</strong>” is a typical Paul Van Dyk album, you won’t miss any ingredients of his legendary rhythms and production quality. Paul also avoided the trap of following the current commercial &#8220;Guetta&#8221;-esque electro-style music through a well mastered disc constantly holding the essence of his success: an intelligent combination of fundamental rhythms and uplifting trance passages slightly empowered by sublime vocal passages. To sum up: put some “<strong>Reflections</strong>”, “<strong>In Between</strong>” in a blender and you will get “<strong>Evolution</strong>”.</p>
<h4><strong>Final note: </strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg"><img class="alignleft" title="star_full" src="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg"><img class="alignleft" title="star_full" src="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg"><img class="alignleft" title="star_full" src="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg"><img class="alignleft" title="star_empty" src="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg"><img class="alignleft" title="star_empty" src="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4></h4>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/evolution-paul-van-dyk-album-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MDNA &#8211; Madonna&#8217;s new album review</title>
		<link>http://www.mat-d.com/site/mdna-madonnas-new-album-review/</link>
		<comments>http://www.mat-d.com/site/mdna-madonnas-new-album-review/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 07:24:17 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[album]]></category>
		<category><![CDATA[madonna]]></category>
		<category><![CDATA[martin solveig]]></category>
		<category><![CDATA[mdna]]></category>
		<category><![CDATA[nicki minaj]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[william orbit]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1286</guid>
		<description><![CDATA[When la “Material Girl” releases a new album there is so much hype around her, including the featured artists and tons of questions if it is still ok for a 50 year old music pop icon to act like she was forever 20! We are going to leave all these questions to yellow press journalists&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/madonna-mdna-cover.jpg"><img class="alignleft  wp-image-1294" title="madonna-mdna-cover" src="http://www.mat-d.com/site/wp-content/uploads/madonna-mdna-cover-300x300.jpg" alt="" width="110" height="110" /></a>When la “Material Girl” releases a new album there is so much hype around her, including the featured artists and tons of questions if it is still ok for a 50 year old music pop icon to act like she was forever 20!</p>
<p>We are going to leave all these questions to yellow press journalists and concentrate ourselves on her music. So here is my review of Madonna’s new album MDNA !<span id="more-1286"></span></p>
<p>I will not review it chronologically but rather will put each track into three categories. Madonna asked <a href="http://en.wikipedia.org/wiki/French_house">French touch</a> specialist <a href="http://www.martinsolveig.com">Martin Solveig</a> and well known producers <a href="http://www.williamorbit.com/">William Orbit</a> and <a href="http://en.wikipedia.org/wiki/Klas_%C3%85hlund">Klas Åhlund</a> and <a href="http://en.wikipedia.org/wiki/Benny_Benassi">Benassi Brothers</a> to help her a little bit in order to get some original new electro tunes. To make it directly clear, the bet is won but I don&#8217;t understand the choice to let <a href="http://en.wikipedia.org/wiki/Nicki_Minaj">Nicki Minaj</a> drop some sassy rap flows in her tracks. Perhaps a pure marketing coup….</p>
<p>Another thing: keep your money and only buy the normal version. I&#8217;ve bought the deluxe version and only the LMFAO remix and <strong>Beautiful killer</strong> were worse&#8230;The four other songs were really filler songs without any potential.</p>
<p>If you are allergic to the <a href="http://www.davidguetta.com">Guetta </a>electro pop soup blasted by your radio every day, this album won&#8217;t really please you. The first time when you listen to MDNA some parts really sounds like a copied Lady Gaga style (e.g. “<strong>Love Spent</strong>” has a curious “<strong>Telephone</strong>” starting sample). Perhaps it’s catched to far away, but sometimes you don’t know if you are listening to a Rihanna, Lady Gaga or Madonna.</p>
<h4><strong>“Must have on your iPod” &#8211; category</strong></h4>
<p><strong>Gang bang</strong>: this track is really curious and weird. The lyrics and the topic (a killing) are not very joyful, but the track is divided in three parts with several tempos modifications and lot of background shooting and driving sounds.</p>
<p><strong>I’m addicted</strong>: take some pure bass and combine it with some filter effects. The Benassi&#8217;s-touch is present in this whole track with some kind a . In the refrain part the track reminds me of the “Are you ready for this? &#8211; “Jock Jams” (<a href="http://www.youtube.com/watch?v=DJ6CcEOmlYU">http://www.youtube.com/watch?v=DJ6CcEOmlYU</a>)</p>
<p><strong>Love Spent</strong>:  my favorite one with samples from “Hung Up” and a real deep electro part. You will certainly like this track especially if you enjoyed her “Confessions on a Dance Floor” album.</p>
<p><strong>I&#8217;m a Sinner</strong>: it&#8217;s a really nice continuation of “Beautiful Stranger” (1999) ( for a short preview: <a href="http://upload.wikimedia.org/wikipedia/en/b/b0/Madonna_-_beautiful_stranger.ogg">http://upload.wikimedia.org/wikipedia/en/b/b0/Madonna_-_beautiful_stranger.ogg</a>). Well composed track with the typical William Orbit style and a powerful 70&#8242;s touch. You can’t miss this reference. Seriously a one of the best tracks, in the pure Madonna style.</p>
<p><strong>Some Girls</strong>: the first time I thought that the track is really too weird. But once the refrain turns in, I really appreciated it. A pure electro pop song with a lot of effects and a catchy rhythm. I think the sample used in the refrain is well-known but couldn’t recall from which artist (perhaps Bloodhound Gang?). Also loved the little interlude à la “Ray of light” (1997).</p>
<p>&nbsp;</p>
<h4><strong>“Well not bad, eligible for my next party” &#8211; category</strong></h4>
<p>&nbsp;</p>
<p><strong>Give Me All Your Luvin&#8217;</strong>. Ok, ok it&#8217;s only in this category because you&#8217;ve heard it so many times.  It&#8217;s more a cheerleader song. The MIA and Nicki Minaj part are ridiculous and really doesn’t enhance the song. Sorry girls&#8230;. If you have bought the Deluxe version of MDNA you will find a more danceable LMFAO Party Mix of this track.</p>
<p><strong>Beautiful killer</strong> : a good pop song with powerful strings.</p>
<p><strong>Masterpiece:</strong> if you abstract from the lyrics you will recognize some “Love Profusion/American Life” influences in this track. The song itself is kinda mysterious and very sad punctuated by guitar riffs.</p>
<p><strong>Falling free</strong>: a very slow song with the so distinguishable William Orbit ( “Strange Cargo”) style.</p>
<p>&nbsp;</p>
<h4><strong>“Totally ridiculous, forget it” category:</strong></h4>
<p>&nbsp;</p>
<p><strong>Superstar:</strong> come on! this is a bad copy of Martin Solveig featuring Dragonette “Hello” (<a href="http://www.youtube.com/watch?v=LnET4RKXx5k">http://www.youtube.com/watch?v=LnET4RKXx5k</a>) song: Madonna just placed new lyrics. If you like the cheerleader style (à la Avril Lavigne, you know what I mean <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ): this track is for you.</p>
<p><strong>Turn up the Radio</strong>: a pure girly Solveig-esque song. Heard so many times will be forgotten once you will have switched to the next song.</p>
<p><strong>I&#8217;ve fucked up</strong>: Madonna tries to “extract” us some tears with her sad love story: no thanks! The track is not very personal and completely “marketed”. If you are looking for a real personal story prefer “Mother and Father” on the “American Life” album. I’ve fucked up is really not sincere enough (how many times has Madonna written about this topic?… some kind of annoying!).</p>
<p><strong>Girls Gone Bad:</strong> Oh come on, this is a “classical” electro pop song produced by the <a href="http://en.wikipedia.org/wiki/Benny_Benassi">Benassi Brothers</a> without any deepness and musical research. I cannot understand why this track was chosen for her second single; perhaps the title itself is enough to attract some listeners, I personally think this is one of the worst tracks of the album.</p>
<p><strong>B-Day Song</strong>: Oh?! What’s this? This is the worst track of the MDNA Deluxe album. Madonna sings with MIA about her birthday in the cheerleader manner: the result is a badly mastered and poor lyrics loaded track… Feels like the two are just training an improvised song in front of Singstar!</p>
<h4><strong>Conclusion</strong></h4>
<p>MDNA is not a bad album, but if you are an electro-music fan I would rather advise you to listen to “American Life”. I also have a strange feeling that this album could be her last one because there are a lot of samples and references to past albums like “Ray of Light” and “Confessions on a Dance Floor”. MDNA is not jaw-dropping but rather tries to follow the commercial Lady Gaga trend than to establish a brand new musical direction and without any surprise.</p>
<h4><strong>Final note: </strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg"><img class="size-full wp-image-847 alignleft" title="star_full" src="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg"><img class="alignleft" title="star_full" src="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg"><img class="alignleft" title="star_full" src="http://www.mat-d.com/site/wp-content/uploads/star_full1.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg"><img class="alignleft" title="star_empty" src="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4><strong><a href="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg"><img class="alignleft" title="star_empty" src="http://www.mat-d.com/site/wp-content/uploads/star_empty.jpg" alt="" width="32" height="32" /></a></strong></h4>
<h4></h4>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/mdna-madonnas-new-album-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://upload.wikimedia.org/wikipedia/en/b/b0/Madonna_-_beautiful_stranger.ogg" length="180599" type="audio/ogg" />
		</item>
		<item>
		<title>DIY: How to repair your PlayStation 3 disc tray when the drive is blocked and you cannot insert a disc</title>
		<link>http://www.mat-d.com/site/how-to-repair-your-playstation-3-disc-tray-when-the-drive-is-blocked-and-you-cannot-insert-a-disc/</link>
		<comments>http://www.mat-d.com/site/how-to-repair-your-playstation-3-disc-tray-when-the-drive-is-blocked-and-you-cannot-insert-a-disc/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 09:08:25 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[Techzone]]></category>
		<category><![CDATA[blocked disc]]></category>
		<category><![CDATA[blu-ray player]]></category>
		<category><![CDATA[can't insert]]></category>
		<category><![CDATA[deck]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[drive]]></category>
		<category><![CDATA[insertion problem]]></category>
		<category><![CDATA[optical drive]]></category>
		<category><![CDATA[playstation 3]]></category>
		<category><![CDATA[playstation 3 fat]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[repair]]></category>
		<category><![CDATA[screw]]></category>
		<category><![CDATA[slot]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[tray]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1256</guid>
		<description><![CDATA[Last time I wanted to insert one of my favorite games in the PlayStation 3 (fat edition) and bam: the disc can’t be inserted no more. What a huge deception, I firstly thought that there was already a disc in the console and pressed several times the EJECT button: it was impossible to insert a&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/ps3.jpg"><img class="alignleft  wp-image-1268" title="ps3" src="http://www.mat-d.com/site/wp-content/uploads/ps3-300x261.jpg" alt="" width="162" height="141" /></a>Last time I wanted to insert one of my favorite games in the PlayStation 3 (fat edition) and bam: the disc can’t be inserted no more. What a huge deception, I firstly thought that there was already a disc in the console and pressed several times the EJECT button: it was impossible to insert a disc: the drive has curiously stopped accepting the disc.</p>
<p>After several tries I went crazy and really thought the drive was broken and that I wouldn’t be able to use the PS3 again. So I decided to open it and tried to repair it.<span id="more-1256"></span></p>
<p><strong>Warning</strong>: <strong><span style="color: #ff0000;"> If you open your PlayStation and remove the seal, your warranty will be definitely void, so only open it if you know what you are going to do! And please unplug the power cable before opening your console. But this advice should be logic <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </span><br />
</strong></p>
<h4>Step 0: Blocked disc</h4>
<p>&nbsp;</p>
<div id="attachment_1260" class="wp-caption aligncenter" style="width: 460px"><a href="http://www.mat-d.com/site/wp-content/uploads/cd_blocked.jpg"><img class=" wp-image-1260" title="cd_blocked" src="http://www.mat-d.com/site/wp-content/uploads/cd_blocked.jpg" alt="" width="450" height="271" /></a><p class="wp-caption-text">A frustrated gamer that won&#39;t be able to play GT5 because the PlayStation 3 has a tray problem: annoying! <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p></div>
<p>If you slightly push the disc into the slot and feel a big resistance it&#8217;s likely you are facing a blocked disc tray. Also check the LEDs: if there are blue and green like mine(and not red &#8211; in this case it would be a really serious technical problem), you are facing the same problem like me. Ok, enough problem description let&#8217;s get started!</p>
<h4>Step 1: Remove the warranty seal and the cover deck</h4>
<p>This is the simplest step: under your PlayStation you will find a <strong>rubber foot</strong>. <strong>Remove it</strong> and you will find a <strong>small hole</strong> that contains a screw. Take a screwdriver and unscrew it. You will see that the black plastic deck with the PS3 logo will detach very easily. To do this you only need to <strong>push it in the arrow’s direction</strong>.</p>
<div id="attachment_1265" class="wp-caption aligncenter" style="width: 492px"><a href="http://www.mat-d.com/site/wp-content/uploads/remove_deck.jpg"><img class=" wp-image-1265 " title="remove_playstation3_deck" src="http://www.mat-d.com/site/wp-content/uploads/remove_deck.jpg" alt="" width="482" height="361" /></a><p class="wp-caption-text">Warranty seal hiding the hole for the screw. The metal piece is the head of my screwdriver.</p></div>
<p>You will notice a second plastic deck:</p>
<div id="attachment_1266" class="wp-caption aligncenter" style="width: 538px"><a href="http://www.mat-d.com/site/wp-content/uploads/topdeck.jpg"><img class="wp-image-1266 " title="playstation3_topdeck" src="http://www.mat-d.com/site/wp-content/uploads/topdeck.jpg" alt="" width="528" height="407" /></a><p class="wp-caption-text">These screws are surprisingly very easy to remove (max. 4 minutes)</p></div>
<p>The second step of our manipulation is to unscrew the seven screws that are holding a second black protection deck. Notice that one of the screws is shorter than the other ones. This operation is pretty simple and after a few minutes of unscrewing you will see the operating unit of the PlayStation on the left side and on the right side the Blu-ray player.</p>
<div id="attachment_1267" class="wp-caption aligncenter" style="width: 591px"><a href="http://www.mat-d.com/site/wp-content/uploads/topdeck_2.jpg"><img class=" wp-image-1267" title="topdeck_2" src="http://www.mat-d.com/site/wp-content/uploads/topdeck_2.jpg" alt="" width="581" height="448" /></a><p class="wp-caption-text">Top view of the internal components of the PlayStation3. Notice how well manufactured the whole inside is!</p></div>
<h4>Step 2: Removing the Blu-Ray disc drive (two cables)</h4>
<p>If you have ever opened a PC you shouldn’t be too much scared by the fact that you need to disconnect the Blu-ray player from the electronic circuit. It’s easy: first remove the 4 wires power-miniplug.</p>
<div id="attachment_1259" class="wp-caption aligncenter" style="width: 503px"><a href="http://www.mat-d.com/site/wp-content/uploads/bluray-disc-connection.jpg"><img class="size-full wp-image-1259" title="bluray-disc-connection" src="http://www.mat-d.com/site/wp-content/uploads/bluray-disc-connection.jpg" alt="" width="493" height="644" /></a><p class="wp-caption-text">Blu-Ray power connector</p></div>
<p>Now carefully remove the drive from its location (and please do not mistreat the wide connection cable: it&#8217;s very fragile!). You should now see a<strong> white sticker</strong> at the bottom of the drive. Remove it slowly. <strong>Push the small connector interface</strong> and now you will be able to separate the drive from the cable. The drive is now loosen and you can dissect it <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div id="attachment_1263" class="wp-caption aligncenter" style="width: 472px"><a href="http://www.mat-d.com/site/wp-content/uploads/drive_connector.jpg"><img class=" wp-image-1263" title="drive_connector" src="http://www.mat-d.com/site/wp-content/uploads/drive_connector.jpg" alt="" width="462" height="407" /></a><p class="wp-caption-text">The drive&#39;s data connector is fragile so don&#39;t mess with it, otherwise you are ready to buy a new cable!</p></div>
<h4>Step 3: Removing the metallic cover</h4>
<p>You will notice <strong>4 screws</strong> that are placed along the metallic cover. Unscrew them in order to remove the cover. <strong>Start at the front of the drive</strong> (where you insert the disc) by carefully bending the cover and then remove it completely.</p>
<h4>Step 4: Dissecting the disc drive mechanism</h4>
<p>Now you should have following picture:</p>
<div id="attachment_1261" class="wp-caption aligncenter" style="width: 453px"><a href="http://www.mat-d.com/site/wp-content/uploads/clips.jpg"><img class=" wp-image-1261" title="clips" src="http://www.mat-d.com/site/wp-content/uploads/clips.jpg" alt="" width="443" height="357" /></a><p class="wp-caption-text">Two clips. Notice the removable central circular part (there&#39;s small magnet inside). This part may easily fall apart so be sure to keep an eye on it! The white plastic parts might sometimes also block the mechanism, so be sure to check if they are working correctly.</p></div>
<p>&nbsp;</p>
<p>You will notice that you need to unscrew <strong>two other screws</strong> in order to remove the top part of the mechanism. This part contains<strong> two plastic parts</strong> and a <strong>central magnet</strong> in the middle of the drive. Notice the<strong> clips at both sides</strong>: carefully press them and remove the upper part. Hurray! Now you have reached the heart of the drive and the disc tray mechanism. Be careful not to touch the lenses!</p>
<p><strong>Warning:</strong> <strong>the disc tray mechanism is very fragile and contains a lot of small springs: never try to force the mechanism. The plastic parts are precisely manufactured to clearly fit in the gears.</strong></p>
<p>&nbsp;</p>
<div id="attachment_1262" class="wp-caption aligncenter" style="width: 627px"><a href="http://www.mat-d.com/site/wp-content/uploads/completely_opened.jpg"><img class=" wp-image-1262" title="completely_opened" src="http://www.mat-d.com/site/wp-content/uploads/completely_opened.jpg" alt="" width="617" height="532" /></a><p class="wp-caption-text">The part where you are going to intervene is on the left. The mechanism is fragile so be don&#39;t play with the springs! Check if the two small switches are still responsive when the round plastic part is going over them.</p></div>
<h4>Step 5: Cleaning and testing</h4>
<p>The following steps helped me to solve the blocked tray issue:</p>
<ul>
<li>Try to <strong>smoothly push both side</strong> of the mechanism together in order to simulate the insertion of a disc. Don&#8217;t force too much otherwise you will hear a small scratch sound (although it sounds awful to your ears, the plastic gears only have jumped from one gap to the other one). Then you can <strong>try to push the small rolls</strong> in order to<strong> reactivate the mechanism and the springs</strong>.</li>
<li>On the right side you will notice a small electronic circuit with <strong>two very small switches</strong> on it. It you take a magnify glass you will notice that both are pressed when the<strong> right plastic part</strong> is about at the middle of its run. These switches activate the motor that “eats&#8221; and brings the disc directly to the middle of the drive. You certainly have noticed that when you insert a disc you will only need to insert into till its half until it gets &#8220;sucked&#8221; by the console.</li>
<li>It wasn&#8217;t directly my case as my PlayStation was pretty new but <strong>check if some springs went out of their cases or are blocked.</strong></li>
<li>If you have a newer PlayStation you will notice that there is a small infrared sensor directly placed at the entry of the drives slot. This sensor detects the insertion of a disc. Sometimes <strong>dust can fall over this sensor</strong> leading the console to think that there is still a cd in the drive.</li>
</ul>
<h4>Conclusion</h4>
<p>At each step I&#8217;ve reconnected the power cable supply (be very careful while doing this, don&#8217;t put your fingers elsewhere than onto the EJECT or the Power ON button!)</p>
<p>I hope I could give you some useful tips on how to repair your PlayStation 3. It took me about 2,5 hours (tests included) to repair it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/how-to-repair-your-playstation-3-disc-tray-when-the-drive-is-blocked-and-you-cannot-insert-a-disc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to export from Blender to Unity 3D with textures tutorial</title>
		<link>http://www.mat-d.com/site/how-to-export-from-blender-to-unity-3d-with-textures-tutorial/</link>
		<comments>http://www.mat-d.com/site/how-to-export-from-blender-to-unity-3d-with-textures-tutorial/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 22:57:16 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Techzone]]></category>
		<category><![CDATA[Unity3D]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[3d engine]]></category>
		<category><![CDATA[autodesk]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[blender 2.5]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[fbx]]></category>
		<category><![CDATA[fbx converter]]></category>
		<category><![CDATA[fbx format]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[game engine]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[jpg]]></category>
		<category><![CDATA[textures]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity 3d]]></category>
		<category><![CDATA[with]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1139</guid>
		<description><![CDATA[Believe me or not Unity 3D will be the next hype in the indie game industry and once you have discovered this tool and exported your 3D scenes to your iPhone, Android or even Flash (thanks to the new Molehill support) you will understand why. But that’s not the point of our discussion There is&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/unity_tutorial_icon.jpg"><img class=" wp-image-1168 alignleft" title="unity_tutorial_icon" src="http://www.mat-d.com/site/wp-content/uploads/unity_tutorial_icon-300x261.jpg" alt="" width="202" height="176" /></a>Believe me or not Unity 3D will be the next hype in the indie game industry and once you have discovered this tool and exported your 3D scenes to your iPhone, Android or even Flash (thanks to the new Molehill support) you will understand why. But that’s not the point of our discussion <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  There is a topic that comes very often in forums concerning the export/import of textures in Unity 3D: how to export 3D objects or geometry made with Blender (up to 2.5) in Unity with textures? Yes with textures… The problem is that the workflow is not very clear and often textures are missing what is pretty annoying because once imported in Unity 3D you will need to assign them manually over the Material options… it’s a real pain but fortunately there is a nice solution&#8230;<span id="more-1139"></span></p>
<p>Let’s get started!</p>
<h4>Prerequisite:</h4>
<p>You will need to download following software to be able to realize this tutorial:</p>
<ol>
<li>Blender 2.5 (<a title="http://www.blender.org/download/get-blender/" href="http://www.blender.org/download/get-blender/" target="_blank">http://www.blender.org/download/get-blender/</a>)</li>
<li>Unity 3D 3.5 (will also work on 3.4.2) (<a title="http://unity3d.com/unity/download/" href="http://unity3d.com/unity/download/" target="_blank">http://unity3d.com/unity/download/</a>)</li>
<li>Autodesk FBX Converter (<a href="http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&amp;id=10775855">http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&amp;id=10775855</a>)</li>
</ol>
<p>Good knowledge of UV Unwrap and modeling with Blender, but don’t panic you will be able to download the final textured files.</p>
<h4>Step 1: Open Blender and build a simple 3D model</h4>
<p>This won’t be the house of your dream, but just a simple grungy 3D house.</p>
<p>As you will see our house is composed by two objects: the roof (I’ve simplified it) and the building part that will contain windows and a door.</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/Capture-e1325537287958.png"><img class="aligncenter  wp-image-1140" title="Modeling with Blender" src="http://www.mat-d.com/site/wp-content/uploads/Capture-e1325537287958-1024x586.png" alt="" width="691" height="395" /></a></p>
<p>&nbsp;</p>
<p>Select the object (let&#8217;s say the roof) and go into<strong> Edit Mode</strong> and <strong>UV Unwrap</strong> to get the single unwrapped texture. Depending on your model, you will need to put some seams in order to get a nice unwrap. Save the unwrapped parts as a picture and edit it in your favorite painting program like Photoshop.</p>
<p>You will have these two textures:</p>
<div id="attachment_1155" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mat-d.com/site/wp-content/uploads/house_building.jpg"><img class="wp-image-1155 " title="house_building" src="http://www.mat-d.com/site/wp-content/uploads/house_building-300x300.jpg" alt="" width="300" height="300" /></a><p class="wp-caption-text">Texture 1: a door, a wall and two windows</p></div>
<div id="attachment_1156" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.mat-d.com/site/wp-content/uploads/roof.jpg"><img class="size-medium wp-image-1156 " title="roof" src="http://www.mat-d.com/site/wp-content/uploads/roof-300x300.jpg" alt="" width="300" height="300" /></a><p class="wp-caption-text">Texture 2: the roof (very simplified!)</p></div>
<p>After a few minutes of modeling and texturing, our nice house is finished. To polish your textures you can apply a small blur on it and put some shadows in order to give more volume. This trick is used in almost every 3D game you’ve played.</p>
<p><strong>Note</strong>: For the purpose of this tutorial I have built a house with two textures. Why? To show one option you shouldn’t miss when exporting out of <strong>Blender</strong>.</p>
<div id="attachment_1141" class="wp-caption aligncenter" style="width: 451px"><a href="http://www.mat-d.com/site/wp-content/uploads/Capture_2.png"><img class="wp-image-1141 " title="blender_house_model" src="http://www.mat-d.com/site/wp-content/uploads/Capture_2-1024x545.png" alt="" width="441" height="234" /></a><p class="wp-caption-text">House model in Blender</p></div>
<h4>Step 2: Export preparation</h4>
<p>So now we have finished modeling our house. In order to simplify the export and the import into Unity 3D, I always remove the <strong>Lamp</strong> and the <strong>Camera</strong> from the Blender scene.</p>
<div class="wp-caption aligncenter" style="width: 227px"><a href="http://www.mat-d.com/site/wp-content/uploads/Capture_3.png"><img title="Capture_3" src="http://www.mat-d.com/site/wp-content/uploads/Capture_3.png" alt="" width="217" height="290" /></a><p class="wp-caption-text">Notice the removed lamp and camera</p></div>
<p>Now go into <strong>Object Mode</strong> and select (<strong>Shift + Right Mouse Button</strong>) the roof and the building part. You have now selected each object of the scene thus forming the house.</p>
<div id="attachment_1144" class="wp-caption aligncenter" style="width: 473px"><a href="http://www.mat-d.com/site/wp-content/uploads/Capture_5.png"><img class="size-full wp-image-1144" title="Capture_5" src="http://www.mat-d.com/site/wp-content/uploads/Capture_5.png" alt="" width="463" height="359" /></a><p class="wp-caption-text">All objects (geometries) are selected (roof and building)</p></div>
<h4>Step 3: Blender export with the FBX format</h4>
<p>I use to export my <strong>Blender</strong> under the FBX (<a href="http://en.wikipedia.org/wiki/FBX" target="_blank">http://en.wikipedia.org/wiki/FBX</a>) format because it’s one of the input formats of Unity 3D along with 3DS and other ones. By the way FBX can also be used by the <strong>Microsoft XNA SDK</strong> (a framework for building XBox and Windows games) or even with the newest <strong>Adobe Flash</strong> Molehill frameworks (<a href="http://www.mixamo.com/adobe-molehill" target="_blank">http://www.mixamo.com/adobe-molehill</a>). If you are interested check this webpage: <a href="http://msdn.microsoft.com/en-us/aa937791" target="_blank">http://msdn.microsoft.com/en-us/aa937791</a>, so you can import your 3D monster, house or whatever you’ve modeled with <strong>Blender</strong> directly into your game conception environment. Nice isn’t it?</p>
<p>Let&#8217;s continue: check that your have correctly selected all objects of your house. Go to <strong>File</strong> -&gt; <strong>Export</strong> -&gt; <strong>Autodesk FBX</strong></p>
<div class="wp-caption aligncenter" style="width: 464px"><a href="http://www.mat-d.com/site/wp-content/uploads/export_blender_fbx.jpg"><img title="export_blender_fbx" src="http://www.mat-d.com/site/wp-content/uploads/export_blender_fbx.jpg" alt="" width="454" height="548" /></a><p class="wp-caption-text">Autodesk FBX export option in Blender</p></div>
<p>A window will open and there are some parameters to check and uncheck. Here is how your <strong>Blender</strong> export panel should look like:</p>
<div class="wp-caption aligncenter" style="width: 249px"><a href="http://www.mat-d.com/site/wp-content/uploads/fbx_export.png"><img title="fbx_blender_export_settings" src="http://www.mat-d.com/site/wp-content/uploads/fbx_export.png" alt="" width="239" height="518" /></a><p class="wp-caption-text">FBX export settings in Blender 2.5</p></div>
<p>Give a name to your file (house.fbx) and press on <strong>Export</strong>. Voilà now you have your house in FBX format.</p>
<h4>Step 4: Autodesk FBX Converter</h4>
<p>Now you will ask yourself: hey why do we need to reconvert our house.fbx in *.fbx format again with the <strong>Autodesk FBX Converter</strong>? Good question! The problem is if you are going to import it into Unity3D you won’t get any texture on your house and it will look grey and not very nice, because Unity won&#8217;t be able to know where your texture files are saved and will not automatically import them&#8230;</p>
<p>&nbsp;</p>
<div class="wp-caption aligncenter" style="width: 466px"><a href="http://www.mat-d.com/site/wp-content/uploads/fbx_unity_house_no_texture.png"><img title="fbx_unity_house_no_texture" src="http://www.mat-d.com/site/wp-content/uploads/fbx_unity_house_no_texture.png" alt="" width="456" height="387" /></a><p class="wp-caption-text">Oh… no texture in Unity 3D <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  Don&#39;t panic there&#39;s a solution!</p></div>
<p>What we are going to do with the <strong>Autodesk FBX Converter</strong> is to embed the media. To make it short we are packaging all our textures and our 3D model into one file. The advantage is also that you can send a colleague or a friend a single FBX file containing all the textures and the 3D model without having to worry about the texture&#8217;s paths, because they are directly embedded into the *.fbx file.</p>
<p>The technical background is the following one: if you open your house.fbx with a text editor you will see following lines that show the relative path to the textures.</p>
<div class="wp-caption aligncenter" style="width: 538px"><a href="http://www.mat-d.com/site/wp-content/uploads/fbx_content.png"><img title="fbx_content" src="http://www.mat-d.com/site/wp-content/uploads/fbx_content.png" alt="" width="528" height="413" /></a><p class="wp-caption-text">Short extract of the content of a FBX file</p></div>
<p>Now open the <strong>Autodesk FBX Converter</strong> and drag’n’drop your house.fbx in the left side. You will see on the right side (<strong>Destination File</strong>) that there are some options. Check “<strong>Embed Media</strong>” and “<strong>FBX Save Mode</strong>” Binary. Press “<strong>Convert</strong>” and voilà you will get a brand new *.fbx and if you check the size of the converted file, it’s bigger. In fact you have embedded all the textures within this new *.fbx.</p>
<div class="wp-caption aligncenter" style="width: 578px"><a href="http://www.mat-d.com/site/wp-content/uploads/fbx_converter.png"><img title="fbx_converter" src="http://www.mat-d.com/site/wp-content/uploads/fbx_converter-1024x612.png" alt="" width="568" height="339" /></a><p class="wp-caption-text">Settings in Autodesk FBX Converter with the options Embed media and Save Mode as Binary selected</p></div>
<h4>Step 5: Importing into Unity</h4>
<p>Now it’s a piece of cake: open <strong>Unity</strong> and create a <strong>new scene</strong> and <strong>project</strong> (you can import some other packages and assets later, like a <strong>Terrain</strong> or a <strong>Skybox</strong> later) and of course drag’n’drop your new house.fbx into the project panel. During the import you will see a small gauge with the name of the embedded media being imported (it’s a good sign that your texture will be correctly imported into the project).</p>
<p>Hurray, now you have your fully textured house imported into Unity. Nice isn’t it? We are almost finished: select the <strong>House</strong> object and in the <strong>Inspector panel</strong> under “<strong>Animations</strong>” select “<strong>Don’t import</strong>” and click on “<strong>Apply</strong>”.</p>
<div class="wp-caption aligncenter" style="width: 402px"><a href="http://www.mat-d.com/site/wp-content/uploads/house_imported_unity.png"><img title="house_imported_unity" src="http://www.mat-d.com/site/wp-content/uploads/house_imported_unity.png" alt="" width="392" height="388" /></a><p class="wp-caption-text">Inspector showing the imported FBX in Unity 3D</p></div>
<p>Now you can drag’n’drop your House prefab into the scene:</p>
<div class="wp-caption aligncenter" style="width: 591px"><a href="http://www.mat-d.com/site/wp-content/uploads/house_imported_final_unity.png"><img title="house_imported_final_unity" src="http://www.mat-d.com/site/wp-content/uploads/house_imported_final_unity.png" alt="" width="581" height="489" /></a><p class="wp-caption-text">Our house in Unity 3D. Notice that our texture files were directly converted into materials and correctly imported.</p></div>
<h4>Step 6: Unleash your creativity with Unity 3D</h4>
<p>At this point you have now successfully imported your <strong>Blender</strong> generated and created house into <strong>Unity 3D</strong> with all the correct textures. It’s time for some tweaking: we are going to add a <strong>Lamp</strong> (or better said a sun) a <strong>Terrain</strong> and of course a nice <strong>Skybox</strong>. Here is my final result (with some shadows and a tree. Use the Arrow Keys and your mouse to move into the scene):</p>
<p><a href="http://www.mat-d.com/unity/house_unity3d.html">Click here to see the full 3D scene</a></p>
<div class="wp-caption aligncenter" style="width: 497px"><a href="http://www.mat-d.com/unity/house_unity3d.html" target="_blank"><img class=" " title="final_house" src="http://www.mat-d.com/site/wp-content/uploads/final_house.png" alt="" width="487" height="364" /></a><p class="wp-caption-text">Final house in Unity 3D with skybox and tree. Click on the picture to load the 3D scene with Unity 3D webplayer</p></div>
<h4>Download the tutorial’s files</h4>
<p>Liked this tutorial? Here are the important files (house.fbx, house.blend and the two textures) in a zip file:</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/disk.png"><img class="size-full wp-image-820 alignleft" title="disk" src="http://www.mat-d.com/site/wp-content/uploads/disk.png" alt="" width="16" height="16" /></a><a href="http://www.mat-d.com/site/wp-content/uploads/blender_unity_tutorial_files.zip">Download the files for this tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/how-to-export-from-blender-to-unity-3d-with-textures-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New BMW prototype / development mule &#8220;Erlkönig&#8221; spotted in Munich</title>
		<link>http://www.mat-d.com/site/new-bmw-prototype-development-mule-erlkonig-spotted-in-munich/</link>
		<comments>http://www.mat-d.com/site/new-bmw-prototype-development-mule-erlkonig-spotted-in-munich/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 10:23:24 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bmw]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[erlkönig]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[mule]]></category>
		<category><![CDATA[munich]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[serie 1]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1179</guid>
		<description><![CDATA[Last time I went to Munich I&#8217;ve seen this pretty fancy painted car: two BMW cars covered with white curly patterns . Of course it was &#8211; like  German say an &#8220;Erlkönig&#8221; -  (&#8220;development mule&#8221; in English). In fact I&#8217;ve seen two of these and here are the pics. I don&#8217;t have any idea which&#8230;]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.mat-d.com/site/wp-content/uploads/bmw_munich_icon.jpg"><img class="wp-image-1182 alignleft" title="bmw_munich_icon" src="http://www.mat-d.com/site/wp-content/uploads/bmw_munich_icon-300x261.jpg" alt="" width="168" height="146" /></a>Last time I went to Munich I&#8217;ve seen this pretty fancy painted car: two BMW cars covered with white curly patterns . Of course it was &#8211; like  German say an &#8220;Erlkönig&#8221; -  (&#8220;development mule&#8221; in English). In fact I&#8217;ve seen two of these and here are the pics. I don&#8217;t have any idea which new BMW model it should replace or should be, but it would be interesting if someone could give me a small hint <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
My guess is that this car is in pre-final version and should come out very soon, perhaps in Q2 2012. The pics after the break<span id="more-1179"></span></p>
<p style="text-align: left;"><a href="http://www.mat-d.com/site/wp-content/uploads/bmw_munich_mini_tag_1.jpg"><img class="aligncenter  wp-image-1183" title="bmw_munich_mini_tag_1" src="http://www.mat-d.com/site/wp-content/uploads/bmw_munich_mini_tag_1.jpg" alt="" width="626" height="523" /></a></p>
<div id="attachment_1184" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.mat-d.com/site/wp-content/uploads/bmw_munich_mini_tag_2.jpg"><img class=" wp-image-1184" title="bmw_munich_mini_tag_2" src="http://www.mat-d.com/site/wp-content/uploads/bmw_munich_mini_tag_2.jpg" alt="" width="580" height="771" /></a><p class="wp-caption-text">Notice the other BMW model at the left side.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/new-bmw-prototype-development-mule-erlkonig-spotted-in-munich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design: Stock check 2012</title>
		<link>http://www.mat-d.com/site/design-stock-check-2011-2012/</link>
		<comments>http://www.mat-d.com/site/design-stock-check-2011-2012/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 14:54:35 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[aluminium]]></category>
		<category><![CDATA[cadmium]]></category>
		<category><![CDATA[copper]]></category>
		<category><![CDATA[gold]]></category>
		<category><![CDATA[indium]]></category>
		<category><![CDATA[phosphorus]]></category>
		<category><![CDATA[poster]]></category>
		<category><![CDATA[reserves]]></category>
		<category><![CDATA[silver]]></category>
		<category><![CDATA[stock]]></category>
		<category><![CDATA[tin]]></category>
		<category><![CDATA[titanium]]></category>
		<category><![CDATA[tungsten]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1116</guid>
		<description><![CDATA[The stock of rare earths and precious metals are getting lower each day, due to over-consumption and new extraction techniques: our iPads, cars and mobile phones are all containing such metals. At a first glance it&#8217;s not obvious that the stocks are pretty low and that in a few years, some important components will be&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/stock_reserve.png"><img class=" wp-image-1120 alignleft" title="stock_reserve" src="http://www.mat-d.com/site/wp-content/uploads/stock_reserve.png" alt="" width="183" height="166" /></a>The stock of rare earths and precious metals are getting lower each day, due to over-consumption and new extraction techniques: our iPads, cars and mobile phones are all containing such metals. At a first glance it&#8217;s not obvious that the stocks are pretty low and that in a few years, some important components will be missing. In order to depict this very serious situation, I&#8217;ve decided to design a shema that will show how long each metal reserve will last. This poster was initially designed for the<a href="http://www.informationisbeautifulawards.com"> Information Is Beautiful Award</a>. Full poster after the break ! <span id="more-1116"></span></p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/DERU_Matthieu_Stock_Check_Visual.jpg"><img class="aligncenter  wp-image-1122" title="DERU_Matthieu_Stock_Check_Visual" src="http://www.mat-d.com/site/wp-content/uploads/DERU_Matthieu_Stock_Check_Visual.jpg" alt="" width="705" height="513" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/design-stock-check-2011-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to resize the Flash Player from Flash with fscommand and C#</title>
		<link>http://www.mat-d.com/site/how-to-resize-the-flash-player-from-flash-with-fscommand-and-c/</link>
		<comments>http://www.mat-d.com/site/how-to-resize-the-flash-player-from-flash-with-fscommand-and-c/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 19:32:16 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Flash and Actionscript]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[adobe flash player]]></category>
		<category><![CDATA[c sharp]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[enlarge]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash player]]></category>
		<category><![CDATA[flash projector]]></category>
		<category><![CDATA[flash window]]></category>
		<category><![CDATA[fscommand]]></category>
		<category><![CDATA[how to resize flash player]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[resize adobe flash player]]></category>
		<category><![CDATA[resize flash player]]></category>
		<category><![CDATA[SetWindowPos]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1084</guid>
		<description><![CDATA[How do you resize the Flash Player or to be more precise the width of window showing your animation? Whereas with AIR this is done with few lines, the Flash Player will not allow you to resize its window. The first idea when trying to solve this issue was to write something like : stage.width&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/resizeFlashFeatureIcon.png"><img class="size-full wp-image-1101 alignleft" title="resizeFlashFeatureIcon" src="http://www.mat-d.com/site/wp-content/uploads/resizeFlashFeatureIcon.png" alt="" width="180" height="147" /></a>How do you resize the Flash Player or to be more precise the width of window showing your animation? Whereas with AIR this is done with few lines, the Flash Player will not allow you to resize its window. The first idea when trying to solve this issue was to write something like : stage.width = 1024; . Yes, this could work but this value can’t be overwritten and the Flash Player won’t be resized. But how to realize this, let’s say if you have several screen resolution to target and want to automatically resize the Flash Player? Here is my solution </p>
<p><span id="more-1084"></span></p>
<h4><strong>Overview</strong></h4>
<p>Here is the solution in form of an architecture picture. To simplify: we will trick the Flash Player by calling a .bat file placed in a directory named <strong>fscommand</strong>. This .bat will then call an .exe that will catch the window handle (over C#) of your Flash Player and then resize the Flash Player window. Tricky, isn’t it? It’s the only way to realize this and here is the step to step tutorial.</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/flash_resize_schema.jpg"><img class="aligncenter size-full wp-image-1096" title="flash_resize_schema" src="http://www.mat-d.com/site/wp-content/uploads/flash_resize_schema.jpg" alt="" width="565" height="386" /></a></p>
<h4>Step 1: fscommand</h4>
<p>One command that is available in Flash Player to communicate with the operating system is <strong>fscommand</strong>. With <strong>fscommand</strong> you can start any .bat (not exe) placed in a directory named fscommand. So now we can write following AS3 code:</p>
<pre class="brush: as3;">function resizeFlashPlayer(aHeight:int,aWidth:int):void
{
trace("Now resizing to: " + aHeight + " // " + aWidth);
var executeCommand:String = "resize_"+ aHeight + "x" + aWidth + ".bat";
fscommand("exec", executeCommand);
}</pre>
<p>But why using a concatenated string to build the path to .bat ?</p>
<div id="attachment_1090" class="wp-caption aligncenter" style="width: 429px"><a href="http://www.mat-d.com/site/wp-content/uploads/flashPlayer_resize_2.jpg"><img class="size-full wp-image-1090" title="flashPlayer_resize_2" src="http://www.mat-d.com/site/wp-content/uploads/flashPlayer_resize_2.jpg" alt="" width="419" height="94" /></a><p class="wp-caption-text">Content of the /fscommand directory</p></div>
<p>The problem with fscommand is that you cannot pass a variable to .bat. It also means that you will need to generate a .bat for each screen resolution. But come on, it’s not a major issue <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Here is the swf we are going to build to test the whole workflow. You can download the whole project at the end of this post.</p>
<div class="wp-caption aligncenter" style="width: 472px"><a href="http://www.mat-d.com/site/wp-content/uploads/flashPlayer_resize_1.png"><img title="flashPlayer_resize_1" src="http://www.mat-d.com/site/wp-content/uploads/flashPlayer_resize_1.png" alt="" width="462" height="282" /></a><p class="wp-caption-text">Screenshot of the Flash Player with our SWF test file</p></div>
<h4>Step 2: Setting the .bat file</h4>
<p>The .bat will help us to launch an <strong>exe</strong>. Why using a .bat and not directly the exe? <strong>fscommand</strong> doesn’t allow to directly launch the exe, so we are using a .bat as what can be called a proxy. Here is the content of the .bat file (named <strong>rezise_800x600.bat</strong>):</p>
<pre class="brush: shell;">@echo off
start /b ResizeFlashPlayer.exe 800 600</pre>
<h4>Step 3: Creating the ResizeFlashPlayer.exe with C#</h4>
<p>Here comes the trickiest part. In order to be able to control the Flash player we are going to use <strong>C#</strong> and the <em><strong>SetWindowPos</strong></em> function to resize our window. In order to find the Flash Player we are going to crawl over the processes of Windows and catch every window title name. When we have found the window with the name “Adobe Flash Player 10” we have found the currently running Flash Player instance. Once found we can then use a pointer on it and apply the <em><strong>SetWindowPos</strong></em> function that will allow to set the width (<strong>cx</strong>) and height (<strong>cy</strong>) of the window.<br />
In order to have some more flexibility, I’ve choosen to pack it as a <strong>ConsoleApplication</strong> and to use two arguments (remember that we are calling <strong>ResizeFlashPlayer.exe</strong> over a .bat).</p>
<pre class="brush: c-sharp;">namespace ConsoleApplication
{
 class Program
 {
[DllImport("user32.dll", EntryPoint = "SetWindowPos")]
public static extern IntPtr SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int Y, int cx, int cy, int wFlags);

static void Main(string[] args)
{
   Process[] processes = Process.GetProcesses();
   foreach (Process p in processes)
   {
   if (p.MainWindowTitle.IndexOf("Adobe Flash Player 10") != -1)
   {
     IntPtr pFoundWindow = p.MainWindowHandle;
     Debug.WriteLine("Flash Player was found");

     if (1 < args.Length)
     {

     if (args[0] != null &#038;&#038; args[1] != null)
         SetWindowPos(p.MainWindowHandle, 0, 0, 0, Int16.Parse(args[0].ToString()), Int16.Parse(args[1]), 0);
      }
     }
    }
   }
  }
}</pre>
<h4>Step 4: Publish and build with the Flash Player Projector</h4>
<p>Last step: Open the Flash Player (<a href="http://www.adobe.com/support/flashplayer/downloads.html">http://www.adobe.com/support/flashplayer/downloads.html</a>), select your .swf and click on create a Projector. This will generate a projector for your swf: press one of the buttons and you will see how the Flash Player will directly resize!</p>
<p>That’s it! Enjoy the code and if you want to test it, download the code below</p>
<p><img class="alignnone" src="http://www.mat-d.com/site/wp-content/uploads/disk.png" alt="" width="16" height="16" /> <a href="http://www.mat-d.com/site/wp-content/uploads/ResizeFlashPlayer.zip">Download the code of the C# and the Flash example application</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/how-to-resize-the-flash-player-from-flash-with-fscommand-and-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Tip: The Visual Miscellaneum by David McCandless</title>
		<link>http://www.mat-d.com/site/book-tip-the-visual-miscellaneum-by-david-mccandless-infographics/</link>
		<comments>http://www.mat-d.com/site/book-tip-the-visual-miscellaneum-by-david-mccandless-infographics/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 20:56:06 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[books visual miscellaneum david mccandless infographics nice books]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1075</guid>
		<description><![CDATA[Do you like infographics? Do you like nice designs? Do you like numbers and statistics about everything possible correlated to the most curious facts? Then the book “The Visual Miscellaneum: A Colorful Guide to the World&#8217;s Most Consequential Trivia (Amazon Link) “ by David McCandless is for you. This book is a real must read,&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/visual_miscallenum.jpg"><img class="size-full wp-image-1077 alignleft" title="visual_miscallenum" src="http://www.mat-d.com/site/wp-content/uploads/visual_miscallenum.jpg" alt="" width="158" height="158" /></a>Do you like infographics? Do you like nice designs? Do you like numbers and statistics about everything possible correlated to the most curious facts? Then the book “<a title="The Visual Miscellaneum: A Colorful Guide to the World's Most Consequential Trivia" href="http://www.amazon.com/Visual-Miscellaneum-Colorful-Worlds-Consequential/dp/0061748366/ref=ntt_at_ep_dpt_1">The Visual Miscellaneum: A Colorful Guide to the World&#8217;s Most Consequential Trivia (Amazon Link) </a>“ by David McCandless is for you. This book is a real must read, to be more precise a book to look in and admire the creatively visuals (pie charts, cutting edge graphs, charts, and illustrations) drawn by the author. <span id="more-1075"></span>The first time I’ve looked into this book it was a really enjoyment: statistics where so nicely presented that I read it immediately till the last page! David McCandless really did a nice job a of course the book is not only about facts and stats, but it also contains some hidden humorous hints and really funny facts: you will be surprised <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>If you want to have a sneak preview of the content of this book explained by the author himself, don’t hesitate to watch David McCandless speech at TED:<br />
<!--copy and paste--><object width="526" height="374" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="wmode" value="transparent" /><param name="bgColor" value="#ffffff" /><param name="flashvars" value="vu=http://video.ted.com/talk/stream/2010G/Blank/DavidMcCandless_2010G-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/DavidMcCandless-2010G.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=937&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=david_mccandless_the_beauty_of_data_visualization;year=2010;theme=design_like_you_give_a_damn;theme=presentation_innovation;theme=a_taste_of_tedglobal_2010;theme=the_creative_spark;event=TEDGlobal+2010;tag=Design;tag=complexity;tag=computers;tag=data;tag=visualizations;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><param name="src" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" /><param name="pluginspace" value="http://www.macromedia.com/go/getflashplayer" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="526" height="374" type="application/x-shockwave-flash" src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" allowFullScreen="true" allowScriptAccess="always" wmode="transparent" bgColor="#ffffff" flashvars="vu=http://video.ted.com/talk/stream/2010G/Blank/DavidMcCandless_2010G-320k.mp4&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/DavidMcCandless-2010G.embed_thumbnail.jpg&amp;vw=512&amp;vh=288&amp;ap=0&amp;ti=937&amp;lang=eng&amp;introDuration=15330&amp;adDuration=4000&amp;postAdDuration=830&amp;adKeys=talk=david_mccandless_the_beauty_of_data_visualization;year=2010;theme=design_like_you_give_a_damn;theme=presentation_innovation;theme=a_taste_of_tedglobal_2010;theme=the_creative_spark;event=TEDGlobal+2010;tag=Design;tag=complexity;tag=computers;tag=data;tag=visualizations;&amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" pluginspace="http://www.macromedia.com/go/getflashplayer" allowfullscreen="true" allowscriptaccess="always" /> </object><br />
And if you can’t get enough, here are the websites of the author including some of his work:</p>
<p><a href="http://www.davidmccandless.com/">http://www.davidmccandless.com/</a><br />
<a href="http://www.informationisbeautiful.net/visualizations/">http://www.informationisbeautiful.net/visualizations/</a><br />
<a href="http://www.informationisbeautifulawards.com/">http://www.informationisbeautifulawards.com</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/book-tip-the-visual-miscellaneum-by-david-mccandless-infographics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>David Guetta &#8211; Renault Twizy ad in Where Them Girls At ft. Nicki Minaj, Flo Rida music video</title>
		<link>http://www.mat-d.com/site/david-guetta-renault-twizy-ad-in-where-them-girls-at-ft-nicki-minaj-flo-rida-music-video/</link>
		<comments>http://www.mat-d.com/site/david-guetta-renault-twizy-ad-in-where-them-girls-at-ft-nicki-minaj-flo-rida-music-video/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 20:15:48 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[david guetta]]></category>
		<category><![CDATA[electric]]></category>
		<category><![CDATA[jay-z]]></category>
		<category><![CDATA[maybach]]></category>
		<category><![CDATA[renault]]></category>
		<category><![CDATA[subliminal]]></category>
		<category><![CDATA[twizy]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1060</guid>
		<description><![CDATA[Last time I’ve watched MTV I was surprised to see this superb non-subliminal ad for the upcoming Renault Twizy in David Guetta’s Where Them Girls At music video: The car is running –ok,ok, dancing – to the rhythm of David&#8217;s beats. Not sure if the advertisement placed on the top of the building is translated&#8230;]]></description>
			<content:encoded><![CDATA[<p>Last time I’ve watched MTV I was surprised to see this superb non-subliminal ad for the upcoming Renault Twizy in David Guetta’s Where Them Girls At music video:</p>
<div id="attachment_1061" class="wp-caption aligncenter" style="width: 738px"><a href="http://www.mat-d.com/site/wp-content/uploads/davidguetta-renault-twizy.png"><img class="size-full wp-image-1061" title="davidguetta-renault-twizy" src="http://www.mat-d.com/site/wp-content/uploads/davidguetta-renault-twizy.png" alt="" width="728" height="409" /></a><p class="wp-caption-text">Renault Twizy featured David Guetta&#39;s new clip</p></div>
<p>The car is running –ok,ok, dancing – to the rhythm of David&#8217;s beats. Not sure if the advertisement placed on the top of the building is translated in other countries or even censored/blurred when aired?<span id="more-1060"></span></p>
<p><img class="alignnone" src="http://www.renault.com/fr/Vehicules/renault/Images%20sans%20approbation/x09/Ext/x09-6.jpg" alt="" width="390" height="199" /></p>
<p>&nbsp;</p>
<p>Here is the clip (the Renault Twizy is at 03:10)</p>
<iframe width="640" height="385" src="http://www.youtube.com/embed/p4kVWCSzfK4" frameborder="0" type="text/html"></iframe>
<p>I ask myself what’s the strategy followed by Renault: I think this promotion is to place the brand Renault and to give it a “younger” image, but why not having shown the car driving around in the city instead of showing an animated ad?</p>
<p>&nbsp;</p>
<p>Here is the contra-green-example: Jay’z OTIS modded Maybach! Nice ride isn&#8217;t it? <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div id="attachment_1064" class="wp-caption aligncenter" style="width: 928px"><a href="http://www.mat-d.com/site/wp-content/uploads/maybach_otis_jayz.png"><img class="size-full wp-image-1064" title="maybach_otis_jayz" src="http://www.mat-d.com/site/wp-content/uploads/maybach_otis_jayz.png" alt="" width="918" height="517" /></a><p class="wp-caption-text">Maybach modded by Jay-Z</p></div>
<p>Liked this blog entry? Why not checking my article concerning <a href="http://www.mat-d.com/site/product-placement-in-videoclips-subliminal-ads/">subliminal ads in videoclips</a>?</p>
<p>Link: <a href="http://www.renault.com/fr/vehicules/renault/pages/twizy.aspx">http://www.renault.com/fr/vehicules/renault/pages/twizy.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/david-guetta-renault-twizy-ad-in-where-them-girls-at-ft-nicki-minaj-flo-rida-music-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert FLV to MP3 with FFMpeg</title>
		<link>http://www.mat-d.com/site/convert-flv-to-mp3-with-ffmpeg-batch-conversion/</link>
		<comments>http://www.mat-d.com/site/convert-flv-to-mp3-with-ffmpeg-batch-conversion/#comments</comments>
		<pubDate>Mon, 05 Sep 2011 18:54:51 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Techzone]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[batch conversion]]></category>
		<category><![CDATA[batch windows]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[convert flv to mp3]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[flv]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1052</guid>
		<description><![CDATA[This is perhaps one of the most frequently asked questions on the web: you’ve downloaded a nice FLV (let me guess, from YouTube ) and you want to convert it into a MP3 to be able to play it on your iPhone or mobile phone. How to realize this? Yes, there are tons of FLV&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/ffmpeg_icon.jpg"><img class="size-thumbnail wp-image-1053 alignleft" title="ffmpeg_icon" src="http://www.mat-d.com/site/wp-content/uploads/ffmpeg_icon-150x150.jpg" alt="" width="150" height="150" /></a>This is perhaps one of the most frequently asked questions on the web: you’ve downloaded a nice FLV (let me guess, from YouTube <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) and you want to convert it into a MP3 to be able to play it on your iPhone or mobile phone. How to realize this? Yes, there are tons of FLV to MP3 converters and media converters on the web. But seriously, why do we need something so sophisticated whereas a simple command line will do the whole work for us? <span id="more-1052"></span>Here is my solution with a MS-DOS batch file (will only work on Windows, for the Mac solution check <a href="http://www.mat-d.com/site/?p=714">How to convert mp4 with Automator</a>).</p>
<h4>Step 1: Download a precompiled Windows version of ffmpeg</h4>
<p><a href="http://ffmpeg.zeranoe.com/builds/">http://ffmpeg.zeranoe.com/builds/</a></p>
<p>Take the correct distribution (all the ffmpeg distributions are compressed in .7z. <a href="http://www.clubic.com/telecharger-fiche9632-winrar.html">Download WinRAR </a>) and go to the <strong>/bin</strong> directory and check the <strong>ffmpeg.exe</strong>. This is the only file you will need. <a href="http://www.mat-d.com/site/wp-content/uploads/ffmpeg_1.jpg"><img class="aligncenter size-full wp-image-1054" title="ffmpeg_1" src="http://www.mat-d.com/site/wp-content/uploads/ffmpeg_1.jpg" alt="" width="395" height="101" /></a>Once extracted, you can place it in a directory of your choice or even set this path into the Windows system variables so that you can call the ffmpeg command from everywhere.</p>
<h4><strong>Step 2:</strong> Write a batch file to convert the flv to mp3</h4>
<p>Sometimes old school script programming can be so cool <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  We are going to write a MS-DOS batch file that will automatically convert the FLV files of a directory into MP3 and place these encode MP3s into a directory<strong> /encoded-files</strong></p>
<p>Here is the content of the batch file:</p>
<pre>mkdir "encoded-files"
 FOR %%X IN (*.flv) DO ffmpeg -i "%%X" -ab 256 "%%~nX.mp3"
 FOR %%X IN (*.mp3) DO MOVE "%%X" "encoded-files"</pre>
<p>The above code is pretty straight forward: -i is used as input parameter for ffmpeg. Then we are using the <strong>–ab 256</strong> to tell which kbit/s encoding we would like to use.</p>
<p>The <strong>%%~nX</strong> stuff is a MS-DOS command telling to only extract the name (of the file) parameter without the file extension. This allows us to give the correct extension (in our case *.mp3) to the encoded file.</p>
<h4><strong>Step 3:</strong> Launch the script and enjoy the music!</h4>
<p>Go to a directory that contains a lot of FLV and you want to convert MP3 and launch the script! After a few seconds (depending on the power of your PC) you will have all your MP3 into the /encode-files directory.</p>
<p>It couldn’t be easier <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/convert-flv-to-mp3-with-ffmpeg-batch-conversion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Weblife]: Forza Motorsport 4 &#8211; Hockenheim Making Of</title>
		<link>http://www.mat-d.com/site/weblife-forza-motorsport-4-hockenheim-making-of/</link>
		<comments>http://www.mat-d.com/site/weblife-forza-motorsport-4-hockenheim-making-of/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 08:28:18 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Weblife]]></category>
		<category><![CDATA[circuit]]></category>
		<category><![CDATA[forza motorsport 4]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[hockenheim]]></category>
		<category><![CDATA[racing]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[track]]></category>
		<category><![CDATA[turn 10]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=1041</guid>
		<description><![CDATA[Have you ever asked yourself, how game circuits are realized? The crew of Turn 10 shows us some details about the development of the upcoming Forza Motorsport 4 racing simulation. The following video shows how the track of Hockenheim was measured with GPS and how the track is then modeled into 3D. I&#8217;ve found it&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/forza4_making_of1.jpg"><img class="size-full wp-image-1046 alignleft" title="forza4_making_of" src="http://www.mat-d.com/site/wp-content/uploads/forza4_making_of1.jpg" alt="" width="200" height="122" /></a>Have you ever asked yourself, how game circuits are realized? The crew of Turn 10 shows us some details about the development of the upcoming Forza Motorsport 4 racing simulation. The following video shows how the track of Hockenheim was measured with GPS and how the track is then modeled into 3D. I&#8217;ve found it very interesting especially due to the fact that the real and virtual images can&#8217;t be really determined on the first sight. Let&#8217;s hope that the new Forza Motorsport 4 game will be as excellent as the previews in this video&#8230;<span id="more-1041"></span></p>
<iframe width="640" height="385" src="http://www.youtube.com/embed/TMQzXvKVd3c" frameborder="0" type="text/html"></iframe>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/weblife-forza-motorsport-4-hockenheim-making-of/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Top 5 must-have apps for creating and composing music on the iPad</title>
		<link>http://www.mat-d.com/site/top-5-must-have-apps-for-creating-and-composing-music-on-the-ipad/</link>
		<comments>http://www.mat-d.com/site/top-5-must-have-apps-for-creating-and-composing-music-on-the-ipad/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 22:38:25 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Techzone]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[djay]]></category>
		<category><![CDATA[fl]]></category>
		<category><![CDATA[fruity loops]]></category>
		<category><![CDATA[garageband]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[korg ims-20]]></category>
		<category><![CDATA[soundprism]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=979</guid>
		<description><![CDATA[Do you want to compose some music, but don’t really know where and how to start? Here is a small selection of free and paid iPad apps that will help you to increase your musical creativity. Even the Gorillaz have produced a complete album only by using iPad and iPhone music apps, so now it’s&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/music_apps.jpg"><img class="alignleft size-thumbnail wp-image-1032" title="music_apps" src="http://www.mat-d.com/site/wp-content/uploads/music_apps-150x150.jpg" alt="" width="150" height="150" /></a>Do you want to compose some music, but don’t really know where and how to start? Here is a small selection of free and paid iPad apps that will help you to increase your musical creativity. Even the Gorillaz have produced a complete album only by using iPad and iPhone music apps, so now it’s your turn!<span id="more-979"></span></p>
<h4><strong>#5: GarageBand</strong></h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/garageband_icon.jpg"><img class="alignleft size-full wp-image-991" title="garageband_icon" src="http://www.mat-d.com/site/wp-content/uploads/garageband_icon.jpg" alt="" width="90" height="90" /></a>GarageBand is defacto the music application everyone has on its Mac. When Apple launched the iPad version, the similarity to the Mac’s version was very high, and I must say the realization is pretty good. The number of virtual instruments is very high and the instruments and loops are classified like in the Mac version. You can improvise a drumbeat while tapping onto the screen and depending where you are tapping, the sound is changing (try it on the percussion, you will notice that even if you are tapping on the same instrument, the sound changes depending on the position where you have tapped).</p>
<p style="text-align: center;"><strong><a href="http://www.mat-d.com/site/wp-content/uploads/garage_band_keyboard_1.png"><img class="size-full wp-image-989 aligncenter" title="garage_band_keyboard_1" src="http://www.mat-d.com/site/wp-content/uploads/garage_band_keyboard_1.png" alt="" width="300" height="227" /></a></strong></p>
<p>Numbers of effects will help you in tuning and finding the correct sound. The loop library is also filled with bunches of samples and if you have bought the GarageBand sound banks you can import them into the app in order to extend the number of samples.</p>
<p style="text-align: center;"><strong></strong><a href="http://www.mat-d.com/site/wp-content/uploads/garage_band_guitar.png"> <img class="size-medium wp-image-988 aligncenter" title="garage_band_guitar" src="http://www.mat-d.com/site/wp-content/uploads/garage_band_guitar-300x225.png" alt="" width="304" height="227" /></a></p>
<p style="text-align: left;">Pro:</p>
<ul>
<li>Well realized interface design, it’s a pleasure to play with these virtual instruments.</li>
<li>Even if you are not inspired the “Smart Instruments” will help you to quickly find new chords and produce new arrangements.</li>
</ul>
<p>Contra:</p>
<ul>
<li>Missing editing options for instruments: after you have recorded a pattern you cannot change the value of the note and the bars like in the Mac version of Garage Band.</li>
</ul>
<p><a href="Link: http://itunes.apple.com/us/app/garageband/id408709785?mt=8&amp;uo=4"><img class="alignleft size-full wp-image-993" title="viewinitunes_en" src="http://www.mat-d.com/site/wp-content/uploads/viewinitunes_en.png" alt="" width="106" height="23" /></a></p>
<h4> <strong><strong></strong></strong></h4>
<h4><strong><strong>#4: </strong>Fruity Loops – FL Studio HD</strong></h4>
<p style="text-align: justify;"><a href="http://www.mat-d.com/site/wp-content/uploads/fl_studio_icon.png"><img class="alignleft size-full wp-image-996" title="fl_studio_icon" src="http://www.mat-d.com/site/wp-content/uploads/fl_studio_icon.png" alt="" width="90" height="90" /></a>This is good drum machine to quickly generate beats but also to create whole samples. The app comes with a bunch of samples and instruments, which gives you good possibilities to create something original. The 16 step drum machine will give you full control on your beat and I’m pretty sure you will create very soon a nice dance track!</p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/fruity_loops_11.png"><img class="size-medium wp-image-997 aligncenter" title="fruity_loops_1" src="http://www.mat-d.com/site/wp-content/uploads/fruity_loops_11-300x225.png" alt="" width="280" height="211" /></a></p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/fruity_loops_4.png"><img class="size-medium wp-image-1000 aligncenter" title="fruity_loops_4" src="http://www.mat-d.com/site/wp-content/uploads/fruity_loops_4-300x225.png" alt="" width="280" height="211" /></a></p>
<p>Pro:</p>
<ul>
<li>A good synth and drum machine</li>
<li>Very easy to use</li>
</ul>
<p>Contra:</p>
<ul>
<li>Mainly aimed for electronic music, but classical instruments such as strings are also included in the sample package</li>
</ul>
<p><a href="http://itunes.apple.com/us/app/fl-studio-mobile-hd/id432850619?mt=8&amp;uo=4"><img title="viewinitunes_en" src="http://www.mat-d.com/site/wp-content/uploads/viewinitunes_en.png" alt="" width="106" height="23" /></a></p>
<h4><strong><strong>#3: </strong>SoundPrism</strong></h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/sound_prism_icon.png"><img class="alignleft size-full wp-image-1005" title="sound_prism_icon" src="http://www.mat-d.com/site/wp-content/uploads/sound_prism_icon.png" alt="" width="68" height="68" /></a>If you like these kinds of apps generating random or harmonious tones, this app is for you. SoundPrism is composed in three parts and by pressing on the right part you can generate organ and synth tones played on several chords.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/sound_prism.png"><img class="size-medium wp-image-1009 aligncenter" title="sound_prism" src="http://www.mat-d.com/site/wp-content/uploads/sound_prism-300x225.png" alt="" width="289" height="219" /></a></p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/sound_prism_2.png"><img class="size-medium wp-image-1010 aligncenter" title="sound_prism_2" src="http://www.mat-d.com/site/wp-content/uploads/sound_prism_2-300x225.png" alt="" width="288" height="217" /></a></p>
<p>Pro:</p>
<ul>
<li>A very original instrument, especially if you want to create and use the samples for your own creation.</li>
<li>Multi-touch is also supported, so you can play</li>
</ul>
<p>Contra:</p>
<ul>
<li>Free version limited to 4 “instruments” but this is not a big problem if you are just looking for producing nice sounding tones out of your iPad</li>
</ul>
<p><a href="http://itunes.apple.com/us/app/soundprism/id386833491?mt=8"><img title="viewinitunes_en" src="http://www.mat-d.com/site/wp-content/uploads/viewinitunes_en.png" alt="" width="106" height="23" /></a></p>
<h4><strong><strong>#2:</strong> djay</strong></h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/djay-for-ipad-icon-150x150.png"><img class="alignleft size-full wp-image-995" title="djay-for-ipad-icon-150x150" src="http://www.mat-d.com/site/wp-content/uploads/djay-for-ipad-icon-150x150.png" alt="" width="88" height="88" /></a>This app realized by the German software company <a href="http://algoriddim.com">algoriddim </a>is a real must have if you want to impress your friends (especially girls <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) because it’s a virtual turntable. Let me first say that djay won the Apple Designer Prize this year and it really deserves its title. Once you have selected your two tracks from your iTunes library you can start to mix and put the fire on the dance floor. djay also contains an automix function so that you can leave the app alone and it will make the mix and the transition automatically. Loop and EQ functions and of course cue points setting are also included. You can even record your mix.</p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/djay_1.png"><img class="size-medium wp-image-983 aligncenter" title="djay_1" src="http://www.mat-d.com/site/wp-content/uploads/djay_1-300x225.png" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/djay_eq_2.png"><img class="size-medium wp-image-984 aligncenter" title="djay_eq_2" src="http://www.mat-d.com/site/wp-content/uploads/djay_eq_2-300x225.png" alt="" width="300" height="225" /></a></p>
<p>Pro:</p>
<ul>
<li>Everything is smooth and accurate. The response time while scratching discs (… sorry MP3s <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ) is accurate, there are not lags.</li>
<li>The interface is really beautiful; you can even touch and move the playing head!</li>
<li>Multi-touch support is nice: you can scratch and change the EQ</li>
</ul>
<p>Contra:</p>
<ul>
<li>An effect button would have been nice, but come on this is really a detail <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </li>
</ul>
<p><a href="http://itunes.apple.com/us/app/djay/id382604769?mt=8"><img title="viewinitunes_en" src="http://www.mat-d.com/site/wp-content/uploads/viewinitunes_en.png" alt="" width="106" height="23" /></a></p>
<h4><strong><strong>#1: </strong>Korg iMS-20</strong></h4>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/korg_icon.jpg"><img class="alignleft size-full wp-image-1030" title="korg_icon" src="http://www.mat-d.com/site/wp-content/uploads/korg_icon.jpg" alt="" width="95" height="96" /></a>Let’s finish this “must-have” tour by the most impressive app of all. Impressive by the fact that it’s a reproduction of an existing synthesizer the famous Korg MS-20 used by famous electro artists such as Daft Punk, Depeche Mode, William Orbit and of course <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  the Gorillaz. So first of all let me say this is an all-in-one app, meaning you have a drum machine, a synth, the keyboard and the KAOS Pad. There is a small training time before understanding how everything works, but with some deduction and tries you will certainly found out (without the manual) how to generate your first electro track.</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/korg_ims_20_1.png"><img class="size-medium wp-image-1002 aligncenter" title="korg_ims_20_1" src="http://www.mat-d.com/site/wp-content/uploads/korg_ims_20_1-300x225.png" alt="" width="300" height="225" /></a></p>
<p>The app is well done, allowing users also to wire virtual cables and so to produce even more astonishing sounds! This is sooo impressive and the numbers of configuration and features parameters are almost unlimited. You can also load your own samples and instruments.</p>
<p>If you are looking for the best app to create your next electro track or astonishing beats, this app is for you.</p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/korg_ims_20_2.png"><img class="size-medium wp-image-1003 aligncenter" title="korg_ims_20_2" src="http://www.mat-d.com/site/wp-content/uploads/korg_ims_20_2-300x225.png" alt="" width="300" height="225" /></a></p>
<p style="text-align: center;"><a href="http://www.mat-d.com/site/wp-content/uploads/korg_ims_20_3.png"><img class="size-medium wp-image-1004 aligncenter" title="korg_ims_20_3" src="http://www.mat-d.com/site/wp-content/uploads/korg_ims_20_3-300x225.png" alt="" width="300" height="225" /></a></p>
<p>Pro:</p>
<ul>
<li>A professional app that has a huge (unlimited) potential</li>
</ul>
<p>Contra:</p>
<ul>
<li>The app is expensive (about 25 Euros)</li>
</ul>
<p><a href="http://itunes.apple.com/us/app/garageband/id408709785?mt=8"><img title="viewinitunes_en" src="http://www.mat-d.com/site/wp-content/uploads/viewinitunes_en.png" alt="" width="106" height="23" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/top-5-must-have-apps-for-creating-and-composing-music-on-the-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using min3D for Android – Q&amp;A session: Common texture issues and Blender import</title>
		<link>http://www.mat-d.com/site/using-min3d-for-android-frequently-asked-questions-common-texture-issues-blender-import/</link>
		<comments>http://www.mat-d.com/site/using-min3d-for-android-frequently-asked-questions-common-texture-issues-blender-import/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 21:08:23 +0000</pubDate>
		<dc:creator>MatD</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Techzone]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[3d model]]></category>
		<category><![CDATA[blender]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[min3d]]></category>
		<category><![CDATA[obj]]></category>
		<category><![CDATA[open gl]]></category>
		<category><![CDATA[questions]]></category>

		<guid isPermaLink="false">http://www.mat-d.com/site/?p=964</guid>
		<description><![CDATA[The previous post concerning min3D raised a lot of interesting questions and comments (thanks to all the visitors for their contribution!) concerning the usage of textures, the export of OBJ and the addition of features such as rotation listeners in min3D. I’ve decided to wrap up all of the comments and emails I’ve received concerning&#8230;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mat-d.com/site/wp-content/uploads/min3d_icon1.jpg"><img class="alignleft size-thumbnail wp-image-969" title="min3d_icon" src="http://www.mat-d.com/site/wp-content/uploads/min3d_icon1-150x150.jpg" alt="" width="150" height="150" /></a>The <a href="http://www.mat-d.com/site/tutorial-load-a-3d-obj-model-with-min3d-for-android/" target="_blank">previous post concerning min3D</a> raised a lot of interesting questions and comments (thanks to all the visitors for their contribution!) concerning the usage of textures, the export of OBJ and the addition of features such as rotation listeners in min3D. I’ve decided to wrap up all of the comments and emails I’ve received concerning min3D. I hope you can find a solution for your problem, and don’t forget to post a comment if you can’t find the solution for your problem. I will edit and update this page with your input and your question, so don’t hesitate!<span id="more-964"></span></p>
<h4><strong>Blender and min3D: how to export the OBJ 3D model?</strong><strong></strong></h4>
<p>Oh yes, this is the most frequently asked question: how to correctly export OBJ from Blender to min3D. Here is a small tutorial to explain you each step. Some “hacking” is needed, so be sure to know how an OBJ and .mtl files work (not very difficult: <a href="http://people.sc.fsu.edu/~jburkardt/data/mtl/mtl.html" target="_blank">http://people.sc.fsu.edu/~jburkardt/data/mtl/mtl.html</a>)</p>
<p>I will be using the latest version of <a href="http://www.blender.org/download/get-blender/">Blender (2.58a)</a> for this tutorial, so be sure to use the same version, otherwise you will get faulty OBJ exporter. Yes this is a real problem, because the previous version of Blender couldn’t export the .mtl file correctly; in fact it was missing, leaving developers to create and edit manually a .mtl or to reconvert and re-import the OBJ over Daz3D.</p>
<p>So here is the start point in Blender, a textured dice (yes, a really basic example <img src='http://www.mat-d.com/site/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ):</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/blender_dice.png"><img class="aligncenter size-large wp-image-966" title="blender_dice" src="http://www.mat-d.com/site/wp-content/uploads/blender_dice-1024x571.png" alt="" width="659" height="367" /></a><a href="http://www.mat-d.com/site/wp-content/uploads/blender_dice.png"><br />
</a></p>
<p>The cube has 6 textures (stored in a file named dice.png). The texture has a size of a power of two (1024&#215;1024). After applying the texture to the dice we will now export it.</p>
<p>Go to <strong>File &gt; Export &gt; Wavefront</strong> (.obj) and leave the settings as is and export it (e.g. dice.mtl)<a href="http://www.mat-d.com/site/wp-content/uploads/export-blender.png"><img class="aligncenter size-full wp-image-968" title="export-blender" src="http://www.mat-d.com/site/wp-content/uploads/export-blender.png" alt="" width="181" height="435" /></a></p>
<p>Blender will now export the obj and the .mtl file. Please note that the path contained in the .mtl is false and must be manually edited.</p>
<p>Change the file path to the correct usemtl</p>
<pre>usemtl dice.png</pre>
<p>and of course a small modification in dice.mtl on the map_Kd line:</p>
<pre>map_Kd dice.png</pre>
<p>And here is the result:</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/dice_3D.png"><br />
</a><a href="http://www.mat-d.com/site/wp-content/uploads/dice_3D.png"><img class="aligncenter size-full wp-image-967" title="dice_3D" src="http://www.mat-d.com/site/wp-content/uploads/dice_3D.png" alt="" width="539" height="323" /></a></p>
<p>Here are the files:</p>
<p><a href="http://www.mat-d.com/site/wp-content/uploads/disk.png"><img class="alignleft size-full wp-image-820" title="disk" src="http://www.mat-d.com/site/wp-content/uploads/disk.png" alt="" width="16" height="16" /></a><a href="http://www.mat-d.com/site/wp-content/uploads/dice_min3d.zip">dice__blender_min3d.zip</a></p>
<p>&nbsp;</p>
<p>Since the newest Blender version, the OBJ exporter works as expected and can be used to export OBJ for min3D.</p>
<p>&nbsp;</p>
<h4><strong><strong>Daz3D and min3D: how to export the OBJ 3D model?</strong></strong></h4>
<p>If you prefer to use Daz3D (www.daz3d.com) for creating and generating your 3D models, here are the parameters for the export of OBJ models:</p>
<p><img class="aligncenter" title="Daz3D export options" src="http://www.mat-d.com/site/wp-content/uploads/daz3d_export_options.png" alt="" width="404" height="428" /></p>
<p>Then you must manually edit the generated .mtl and .obj in order to set the correct paths to the textures.</p>
<h4><strong>Help, my texture does not display on the 3D object!!!</strong></h4>
<p>This is the most frequently asked question and I must say the most interesting because obviously there are some differences between devices, but let’s start with the simplest solutions to common texture problems:</p>
<h4><strong>#1: Check the mtl file</strong></h4>
<p>There is a slight problem with the mtl files generated by several 3D softwares: they contain bad characters (ok not bad, but hidden) that might be not correctly parsed such as return carriage/lines (/r /n) and tabulations (/t). The solution is to remove the tabulations at the beginning of each line in the mtl, otherwise the texture won’t load. <strong></strong></p>
<h4><strong>#2: Check the path in the mtl file</strong></h4>
<p>The mtl file contains in its first line the path to the .png / .jpg. Check if this path is correct.</p>
<h4><strong>#3: The NotPowerOfTwo problem with OpenGL on Android devices</strong></h4>
<p>This is the weirdest problem, and unfortunately there is not a lot input about this. I’ve never noticed this problem on my Android device (Dell Streak) till the day I’ve got message from users telling me that they couldn’t load textures on their Nexus S.</p>
<p>I first thought something else might be wrong with the paths till I’ve tested it myself: no textures!</p>
<p>But what is the difference between the Dell Streak and the Nexus S? Apparently there is a curious difference between the implementation of OpenGL on these Android devices. In fact some devices have not the support of NotPowerOfTwo textures in OpenGL. Many visitors also faced this problem; apparently the support of NonPowerOfTwo textures is not completely implemented/ not supported in OpenGL in some Android devices (<a href="http://code.google.com/p/min3d/issues/detail?id=5&amp;can=1&amp;q=NPOT" target="_blank">http://code.google.com/p/min3d/issues/detail?id=5&amp;can=1&amp;q=NPOT</a>) and <a href="http://stackoverflow.com/questions/5705753/android-opengl-es-loading-a-non-power-of-2-texture">http://stackoverflow.com/questions/5705753/android-opengl-es-loading-a-non-power-of-2-texture</a>, meaning the way OpenGL is implemented in each device might differ. That&#8217;s the reason why the Dell Streak shows the textures and the Nexus S not (that is my explanation).</p>
<p>But there is another problem linked to this NotPowerOfTwo problem: min3D loads all the textures into a TextureAtlas (<a href="http://code.google.com/p/min3d/source/browse/trunk/src/min3d/parser/AParser.java">http://code.google.com/p/min3d/source/browse/trunk/src/min3d/parser/AParser.java</a>).</p>
<p>The texture atlas is a sort of big texture composed by each single texture. Min3d will reference internally to this “big texture” and here seems to be a caveat on some Android devices : in fact you must also take care that the whole texture map (TextureAtlas) is a power of two, meaning if you have 4 textures à 512x512px each it will work but if you have 5 textures à 512x512px each it won&#8217;t work because 2560 is not a power of two.</p>
<p>Be aware that this is my personal explication to the problem; I couldn’t find any other explanation to this problem especially a list of Android devices supporting the NotPowerOfTwo textures in OpenGL. But in any case you should always use PowerOfTwo textures: they are quicker to load.</p>
<h4><strong>The 3D object does not appear!</strong></h4>
<h4><strong>Solution #1: Check the raw/your_obj path</strong></h4>
<p>This is a very common mistake: please check that the path to the OBJ file is correct and contains the full package name (com.yourPackage.). Note that you don’t need to put the extension .obj to the file path.</p>
<pre>IParser myParser = Parser.<em>createParser</em>(Parser.Type.<em>OBJ</em>, getResources(),"com.testObj:raw/face_obj",<strong>true</strong>);</pre>
<p>Anyway, the missing file or bad path  will lead to a Resource$NotFoundException. That should be a first hint to check if the path to the file is correct:</p>
<p style="text-align: center;"> <a href="http://www.mat-d.com/site/wp-content/uploads/resource_notfound.png"><img class="size-full wp-image-970 aligncenter" title="resource_notfound" src="http://www.mat-d.com/site/wp-content/uploads/resource_notfound.png" alt="" width="515" height="104" /></a></p>
<p><strong>Solution #2: Check the scale</strong></p>
<p>This sounds stupid, but especially if you are using several programs to generate your 3D object, you should be aware which scale you are using: Blender and DAZ 3D are not using the same scale leading to export sometimes huge 3D models. The best way is to test several scale parameters.</p>
<pre>faceObject3D.scale().x = faceObject3D.scale().y = faceObject3D.scale().z = 0.5f;</pre>
<p>This is also the case when you are loading an OBJ found on the web and if you don’t know which scale units where used by the exporter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mat-d.com/site/using-min3d-for-android-frequently-asked-questions-common-texture-issues-blender-import/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

