Home Tutorials Download Beta Store Forum Documentation KnowledgeBase Wiki Blog

ShiVa3D

Return to Final Work

[IPHONE] Voyager Xdrive Roman Forum

Final work

[IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 18 Feb 2010, 16:58

Hi guys our first app is on the App Store.

The name is VOYAGER XDRIVE Roman Forum and this is a real time 4D guide for tourists. With this app a tourist that comes in Rome into the Imperial Forum can view in real time, while is walking inside the area, the ancient monuments reconstructed as they was in the past during the Constantinian age.

The app recognize the monument you're in front of and make you able to listen an audioguide that gives you all the hystorical info about it.
You can experience all the contents also in offline mode if you are not in Rome.

In the near future we will introduce some gaming and interaction features that will make VOYAGER more entertaining.
We planned to reconstruct the most important archeological area all around the world, so stay tuned to see more.

In the mean time take a look at the promo video on Youtube:
http://www.youtube.com/user/illusionetwork#p/u/0/Dkh-Ij4KjDI

NOTE: the current version run only on the iPhone 3GS because it has the electronic compass, we are working on a version for the iPhone 3G and the iPod Touch.

Cheers
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby broozar » 18 Feb 2010, 17:23

congratulations, if the app really does what you say (don't have an iPhone, and there's no iPT version yet), this is so way beyond awesome! the promo video looks great. i wish i had something like this the last time i was in rome.

one question though, how accurate is it really? at 2:30, i see stairs and even a column, where your app shows a plain wall.

does it have an off-site mode? like, being here in berlin and the iPT version comes out, will i be able to enjoy it?
CM ShiVa Technologies SAS
User avatar
broozar
Platinum Boarder
Platinum Boarder
 
Posts: 3563
Location: Berlin - Germany

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby mal_CanDo » 18 Feb 2010, 17:38

Looks very cool - did you use the Shiva IDE and just the features it allows access to, or did you use the SDK for custom access? ( eg compass / GPS info )


Mal
mal_CanDo
Gold Boarder
Gold Boarder
 
Posts: 206

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 18 Feb 2010, 17:45

Hi broozar, thanks and believe me the app does what I'm saying. Obviously you should be here in the Imperial Forum in order to experience it in the best way.


one question though, how accurate is it really? at 2:30, i see stairs and even a column, where your app shows a plain wall.


the precision depends by the GPS device, anyway we tested the app many many times there in the imperial forum and we experienced an accuracy error about 6/7 meters. The wall you see at 2.30 is the wall of the monument named "REGIA" that doens't exist anymore, for your pleasure you can verify the accuracy using the Rome Reborn package in Google earth, place the camera in front of the monument REGIA and see.
We haven't used Rome Reborn for our recontruction but other "more scientific" sources.

does it have an off-site mode? like, being here in berlin and the iPT version comes out, will i be able to enjoy it?


absolutely yes, as I said in the post you can experience the navigation also in offsite mode if you are not in Rome but at your home in Berlin. In the near future we will release the ipod touch version, with this version you'll be able to play with the app both on site (manual relocation of the camera sorry!!) and offsite.

hope this answer you.

cheers
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 18 Feb 2010, 17:48

Hi mal_CanDo

mal_CanDo wrote:Looks very cool - did you use the Shiva IDE and just the features it allows access to, or did you use the SDK for custom access? ( eg compass / GPS info )


we only used the functions exposed in the Shiva IDE. We used the internal scripts to do all the AI of the app in order to make the custom behavior and some code work in order to make the accelerometers and compass data smooth.
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby dvidearts » 19 Feb 2010, 12:13

App looks great. Very nicely done
[3D RPG] Earth And Legend - http://www.facebook.com/earthandlegend
[3D RPG] Crrusade Of Destiny - http://www.facebook.com/crusadeofdestiny
[WEBSITE] - http://www.dvidearts.com
User avatar
dvidearts
Expert Boarder
Expert Boarder
 
Posts: 83

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby jane45 » 21 Feb 2010, 15:20

What sources of information did you use for the model of ancient Rome? I thought "Rome Reborn" was the best (even the only) scientific model out there. Why is your date the same as "Rome Reborn"?
jane45
Fresh Boarder
Fresh Boarder
 
Posts: 2

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 22 Feb 2010, 10:29

jane45 wrote:What sources of information did you use for the model of ancient Rome? I thought "Rome Reborn" was the best (even the only) scientific model out there. Why is your date the same as "Rome Reborn"?


Hi Jane45 no we haven't used the Rome Reborn source because we don't like it and becasue there are some georeferencing error concerning some huge models.

Anyway here in rome we have official world's best plastic model located into the "Museum of the ancient rome civilization", this model, built in the 1931, was used also by Rome Reborn to create the models.

We talked also with some historic experts coming from the Ministry of cultural and historycal activities.

And finally we have the same date of Rome Reborn beasue as I said above we used the same source, here you can find the link of the Museum in which is located the plastic model (sorry is only italian I think):

[url]http://www.museociviltaromana.it/[/url]

There you can find some images of the big plastic model we, and Rome Reborn too, used as source.

Cheers
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby jane45 » 22 Feb 2010, 18:47

When you use the Plastico di Roma Antica as a source for your model, do you have to get a license or permit from the Museo della Civilta' Romana?

Who were some of the archaeologists who helped you make your model? What are their names?

Thanks for this information!
jane45
Fresh Boarder
Fresh Boarder
 
Posts: 2

Re:[IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 24 Feb 2010, 12:23

jane45 wrote:When you use the Plastico di Roma Antica as a source for your model, do you have to get a license or permit from the Museo della Civilta' Romana?

Who were some of the archaeologists who helped you make your model? What are their names?

Thanks for this information!


I don't know if you need a permission but we used it as source only to get a reference about the structures.

The peoples who helped us are not archaeologists, anyway are you Italian? and do you work into the Ministry? feel free to contact me directly and I'll be glad to answer to all your questions maybe by phone.

Cheers
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Re: [IPHONE] Voyager Xdrive Roman Forum

Postby makkar » 22 May 2012, 21:38

@almighty:

Could you please explain how to convert accelerometer readings to up/down rotations of the virtual camera?

The accelerometer reads between (-1,1) per axis, right? And the camera will rotate from -90 to 90 if I remember well. I guess this will not be linear relationship.
User avatar
makkar
Platinum Boarder
Platinum Boarder
 
Posts: 1519

Re: [IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 23 May 2012, 09:15

HI Makkar, let me talk with our programmaer in order to gather the info about your question. I'll be back to you very soon
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Re: [IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 24 May 2012, 11:27

Hi Makkar, sorry for the delay, anyway here is the code we used to update the camera's up/down rotation ("tilting").
I added some comments which should help you understand how the algorithm works.
In the following code MainAI is the game's main AI, i.e. the AI added inside the field "User Main AIs" in the Game Editor panel, while CameraAI is the AI controlling the user's main camera, i.e. the camera added inside the field "User Main Camera" in the Game Editor panel.
Let me know if you have any problems.

Code: Select all
--------------------------------------------------------------------------------
function MainAI.onJoypadMove ( nJoypad, nPart, nAxisX, nAxisY, nAxisZ )
--------------------------------------------------------------------------------
   
   --
   -- Write your code here, using 'this' as current AI instance.
   -- This handler is called when a joypad is moved.
   --
   --nAxisX, nAxisY, nAxisZ = accelerometer values (If I remember correctly each
   --of these values ranges between -1 and 1)
   
   --Calls function which updates the variables controlling the camera tilting (see below)
   object.sendEvent ( application.getCurrentUserMainCamera ( ), "CameraAI", "onUpdateAccelerometerVariables", nAxisZ )
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------


--------------------------------------------------------------------------------
function CameraAI.onUpdateAccelerometerVariables ( fZ )
--------------------------------------------------------------------------------
   
   --
   -- Write your code here, using 'this' as current AI instance.
   --
   
    --This function is called inside MainAI.onJoypadMove (see above)
   
    --fZ = nAxisZ as returned by MainAI.onJoypadMove(nJoypad, nPart, nAxisX, nAxisY, nAxisZ)
    --(see function above)
   
    --------------------------------------------
    --Code below was written using a low-pass filter
    --in order to make camera behavior smoother while
    --moving the iPhone up and down
   
    ----------------------------------------------------------
    --This low-pass filter consists in calculating
    --an average value between the old and the new accelerometer
    --value and in using this averaged value to determine the
    --camera vertical rotation, like this:
    -- average value = (weight * new accel value) + ( (1 - weight) * old accel value  )
    --(weight does not necessarily have to be equal to 0.5,
    --in this function in fact it is less than 0.5)
    --At the end of the function this value is stored in the
    --variable containing the old value mentioned above.
    ----------------------------------------------------------
   
    local fZMaxAbsValue = 2.1
   --2.1 is the greatest absolute value that the nAxisZ parameter returned by MainAI.onJoypadMove can have.
   --(i.e. nAxisZ for the iPhone ranges between -2.1 and 2.1)
   --I found this value empirically, i.e. by orienting the iPhone in different ways
   --and writing the value on nAxisZ into some HUD label element and seeing how nAxisZ changes
   --while the iPhone's orientation in space changes
   fZ = math.clamp ( fZ, -fZMaxAbsValue, fZMaxAbsValue )
   
    if(this.bUpdateAccelVars_functionFirstCall ( )) then
        --These two instructions are only executed the first time this function is called
   this.fAccelerometerAxisZ_previous ( 0 )
        this.bUpdateAccelVars_functionFirstCall ( false )
    else
        local fZ_previous = this.fAccelerometerAxisZ_previous ( )
        local fZAbsDelta = math.abs ( fZ - fZ_previous )
       
        --Filter value - probably needs some fine tuning...
        local fFilterValue = fZAbsDelta * 0.2
        if(fFilterValue > 1) then
            fFilterValue = 1
        end
       
        local fZ_corrected = fFilterValue * fZ + (1 - fFilterValue) * fZ_previous
       
        local fZCorrectedMappedIntoUnitInterval = (fZ_corrected + fZMaxAbsValue) / (2 * fZMaxAbsValue)
        local fDstAngleV_MaxAbs = 90
        local fFinalAngleV = -fDstAngleV_MaxAbs + 2 * fDstAngleV_MaxAbs * fZCorrectedMappedIntoUnitInterval
        this.nDstAngleV ( -fFinalAngleV )
       
        this.fAccelerometerAxisZ_previous ( fZ_corrected )
    end
   
    ----Code above was written using a low-pass filter
    --in order to make camera behavior smoother while
    --moving the iPhone up and down
    --------------------------------------------
   
--------------------------------------------------------------------------------
end
--------------------------------------------------------------------------------


--------------------------------------------------------------------------------
function CameraAI.onEnterFrame ( )
--------------------------------------------------------------------------------

   --calls function which updates camera's horizontal and vertical angles
   this.updateVision( )

---------------------------------------------------------------------------------
end
---------------------------------------------------------------------------------


--------------------------------------------------------------------------------
function CameraAI.updateVision ( )
--------------------------------------------------------------------------------
   
   --
   -- Write your code here, using 'this' as current AI instance.
   --
   
   --This function is called inside CameraAI.onEnterFrame (see above)
   
   local o = this.getObject  ( )
   local rv = math.interpolate ( this.nCurAngleV ( ), this.nDstAngleV ( ), 50 * dt )
   
   --this.nCurAngleV() is the camera's current vertical angle (i.e. "tilting" angle)
   --it is initialized to 0
   
   this.nCurAngleV ( rv )
   
   object.rotate       ( o, rv, 0, 0, object.kLocalSpace  )

-----------------------------------------------------------------------
end
-----------------------------------------------------------------------
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Re: [IPHONE] Voyager Xdrive Roman Forum

Postby makkar » 28 May 2012, 09:12

Thank you, almighty, I'll try to get my head around this. I am sure this will clarify the concept.

Were you able to use my advice for the pixelmaps in the other thread?
User avatar
makkar
Platinum Boarder
Platinum Boarder
 
Posts: 1519

Re: [IPHONE] Voyager Xdrive Roman Forum

Postby almighty » 28 May 2012, 13:56

Hi Makkar,
glad to help, about your suggestion no I haven't tried it yet. I'll be in touch with you if I'll need more advices.
almighty
Gold Boarder
Gold Boarder
 
Posts: 186
Location: ROMA

Next

Return to Final Work