venerdì 18 maggio 2018

Oculus Go e RIft

Ho avuto modo di provare sia Oculus Go che Oculus Rift.
L'impressione generale, anche in confronto a Daydream, e' che l'hardware sia trascurabile...cio' che fara' effettivamente la differenza sara' la disponibilita' di software




In merito a cio' Oculus Rift ha una killer application...Google Earth VR (non disponibile su Go e Daydream)...peccato che non sia possibile aggiungere dei temi personalizzati

giovedì 17 maggio 2018

Modello digitale del terreno con AFrame e Daydream controller

Tramite il framework Aframe e' possibile visualizzare su un comune browser un modello digitale del terreno in formato OBJ/MTL e poterlo navigare/ruotare con il controller nativo di Daydream

ATTENZIONE : per abilitare il controller Daydream si deve inserire nella url di Chrome la seguente stringa

chrome://flags 

e si devono attivare gli switch WebVR e Gamepad API




-------------------------------------------------------------------------------------------
<html>
  <head>
    <script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>

    <script src="//cdn.rawgit.com/donmccurdy/aframe-extras/v4.1.1/dist/aframe-extras.min.js"></script>
  </head>
  <body>

    <a-scene background="color: green">

<a-entity id="rig"
          movement-controls="fly: true; speed: 0.3"
          position="15 0 15">
  <a-entity camera
            position="0 1.6 0"
            look-controls></a-entity>
</a-entity>

<a-assets>
                        <a-asset-item id="dem-obj" src="Ricasoli_nord.obj"></a-asset-item>
                        <a-asset-item id="dem-mtl" src="Ricasoli_nord.mtl"></a-asset-item>
        </a-assets>

  <a-entity position="3 6 2" rotation="90 180 270" obj-model="obj: #dem-obj; mtl: #dem-mtl"></a-entity>

    </a-scene>
  </body>
</html>

lunedì 14 maggio 2018

Testare applicazioni su Oculus GO

Per sviluppare proprie applicazioni su Oculus si parte creando un normale progetto Android su Android Studio.



Prima di compilare il pacchetto APK si deve inserire un file con il proprio Device ID in assets (app/src/main/assets) del progetto (il file ha un nome del tipo oculussig_1KWPXXXXXXXX.dms) e permette di eseguire il file APK soltanto sul dispositivo relativo al file .dms


A questo punto si installa il pacchetto via Adb. Si copia il file apk e poi da linea di comando

adb install OculusGO.apk
per disinstallare deve essere inserito il nome completo del package

adb uninstall com.vr.lucainnocenti.oculusgo

La applicazione non e' visibile ne' sul launcher ne' sulle Sorgenti Sconosciute. Per eseguire si usi adb tramite

adb shell am start -n  com.vr.lucainnocenti.oculusgo/.MainActivity

Tastiera IBM Model M

Ho messo obsoleto come tag per questo post ma forse e' sbagliato indicare la mitica tastiera IBM model M come un pezzo da museo ... forse solo perche' ha il connettore PS2




Usavo questa tastiera alla fine degli anni 80, inizio 90 accoppiata ad un PS2 Model 30 286. Il pc e' andato in qualche discarica molti anni fa...la tastiera e' ancora qui con il suo classico rumore

martedì 8 maggio 2018

Unreal e Google VR per DayDream

Si crea un Nuovo Progetto/Blank settando Mobile/Tablet

Menu' Settings /Project Settings/Platforms

Nel sottogruppo Android si devono accettare le due licenze (APK Packaging e Google Play Services) e si imposta il Mininum e Target SDK almeno a 21 per Google VR

Nel sottogruppo Android SDK sempre sotto Platforms si devono poi settare 4 directory che sotto Mac con Android Studio installato e JDK 1.8 sono

SDK : /Users/lucainnocenti/Library/Android/sdk (/Library/Android/sdk)
NDK : /Users/lucainnocenti/Library/Android/sdk/ndk-bundle (/Library/Android/sdk/ndk-bundle)
Ant : /usr/local/Cellar/ant/1.10.3/ (ant installato via Homebrew)
Java_Home : /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

per verificare la directory di Java_Home si puo' usare lo script in /usr/libexec/java_home


Per lanciare la applicazione su telefono si usa Launch dove compare il dispositivo (il computer ed il telefono devono essere gia' stati autorizzati)


La prima volta la compilazione e' molto, molto molto lenta perche' devono essere compilati tutti gli shader del progetto (si parla di 10 minuti per il progetto Blank)

Per creare il solo package si va in File/Package Project/Android/Android(ETC1)

Per importare modelli in Unreal la cosa piu' semplice e' usare il formato FBX. Se il modello e' troppo piccolo per la scena si puo' settare il fattore di scala

Specifiche per Google VR (DayDream)
In Project Settings spuntare Enable FullScreen Immersive on KitKat and above, Support amd64 e rimuovere armv7, In Advanced APK Packaging si spunt Configure GoogleVR for sustained performance ed in Configure GoogleVR to support specific hardware si seleziona DayDream

Nel menu Android SDK si configura l'NDK API ad android-21



Si va poi nel menu Engine/Input e si cancella la default touch interface (Clear)

Si clicca su Edit/Plugins e si seleziona la categoria Input Devices abilitando GoogleVR Motion Controller

e nella categoria Virtual Reality si aggiunge Google VR

Si riavvia l'editor per caricare i plugin

Per compilare pacchetti specifici per Daydream si deve selezionare l'opzione AndroidATC



Universita' di Firenze - Scienze della Terra 7 Maggio 2018

A quasi tre anni di distanza dalla precedente esperienza, mi sono trovato a chiaccherare di geologia ed Android con degli studenti universitari ospite presso il Dip. di Scienze della Terra di Firenze (praticamente come giocare in casa)




Acer Travelmate 518TX

Mi e' stato chiesto di ridare vita ad un Acer Travelmate 518TX, una macchina del 1999 (che all'epoca costava in configurazione base 6.000.000 di lire) con P2 a 400 MHz ed una sheda di rete 3Com su PCMCIA
Fino ad adesso con Linux avevo sempre risolto i problemi ma con questo portatile sono sorti un po' di problemi. Primo vincolo: l'utente finale e' una persona a cui non posso dare una Debian netinstall e dirgli di risolversi i problemi. Si tratta di un utente che ha bisogno di un Window Manager decente e deve avere l'utlizzo di un browser un minimo moderno


La macchina, data l'eta', ha ovviamente la batteria esaurita ma anche la batteria del BIOS scarica. Con Win98 tutto funziona tranne il fatto che al momento di settare ora e data nel BIOS questo si pianta...cio' e' ovviamente un problema nel momento di utilizzare Linux (particolarmente permaloso quando vedi gli inode con data nel futuro). Ho provato a smontare gli sportelli per vedere se era facile sostituire la batteria ma questa, come l'HD, sono nascosti in punti non raggiungibili dalle botole....su internet non si trovano informazioni su come si smonta...probabilmente sono entrambi nascosti sotto la tastiera ma non ci sono ganci visibili...prima di rompere qualcosa ho rimandato la sostituzione)

La ram installata era di 128 Mb ma e' stata portata a 192 Mb (il massimo installabile e' 256 Mb secondo la scheda tecnica) con un disco da 6Gb



Ho provato diverse distribuzioni gia' confezionate ma i problemi sono

1) Le immagini di installazione sono ormai piu' di 700 Mb quindi non entrano in un CD. Il Bios della macchina non permette l'avvio da USB Drive

2) I requisiti di memoria RAM sono oramai quasi tutti sopra i 256 MB

3) Alcune distro, nonostante usino pacchetti i386, usano un kernel con PAE, funzionalita' non suppportata dalla macchina


Alla fine, visto che Win98 installato funziona in modo decente (specialmente con i 64 Mb Ram aggiuntivi), ho consigliato di usarlo come macchina da scrivere (il pacchetto Office 2000 e' installato e funzionante) piuttosto che rischiare di avere un computer aggiornato ma non utilizzabile