|
|
PanoSalado for absolute n00bsHi everyone, I've been trying to get to grips with PanoSalado for some time. I'd tried Pano2VR and quite liked it, then I saw FPP and realised that I could probably do a lot more with it and then I found PanoSalado, which- from the impression that has been given- is a bit like FPP but is available as open source (which to me means 'free', which is ideal.). Only thing is, as someone who doesn't maintain an interest in programming and all the things that go with it (Flex, SVN, source code, compiling and all that), I've found it incredibly hard to actually get started with PanoSalado. So far as I've looked, there isn't any documentation for absolute n00bs like me and the thing about having to compile PanoSalado is quite off-putting to someone like me who has never done something like that before. Will PanoSalado ever have n00b documentation written for it? It looks fantastic, if you can get it to work, but it feels as though there's a mountain of understanding of other technical areas that is needed before you can accomplish something quite basic with it!
|
New forum topicsRecent commentsWho's onlineThere are currently 0 users and 5 guests online.
|
re: PanoSalado for absolute n00bs
Hi Dejacque:
Right now, there are some forum posts here which cover the XML basics you'd need in order to make a virtual tour with PanoSalado. See them at:
http://flashpanos.com/forum/basic-xml-structure-panosalado-rev-73
and
http://flashpanos.com/forum/complete-xml-structure-panosalado-rev-73
Also, the basic HTML embedding technique is here:
http://flashpanos.com/forum/basic-html-embedding-panosalado
--
, and for folks who don't 'do code', and hope to post news about it soon... We'll keep all posted.
Z and I plan to have something more for "n00bs",
That said, you don't have to edit any code or Flash files to get a VT up and running -- just XML. If you download the example files (available along with the source), you can simply edit the XML and go!
--
Note:
We should have a new download later this week, with the latest revision, which will include examples for using QTVR files and/or cylinder files.
Cheers,
Patrick
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
Hi Patrick, Thanks for the
Hi Patrick,
Thanks for the reply
I finally managed to get the thing compiled, somehow, but now I'm a bit stuck on what all the different files and folders are for? Do they all need to be uploaded along with the panosalado.swf file and the pano image file?
Also, in the Basic HTML Embedding tutorial, it mentions about SWFObject and moduleloader, but doesn't actually explain what they are or why they're needed. Moduleloader seems to be in amongst all the files that were downloaded, but it's an AS file- presumably I need to compile it if it's needed? If so, what else needs to be compiled?
I hope the answers to these will be enough to get me up and running, so your help's appreciated
re: PanoSalado for absolute n00bs
This comment has been moved here.
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
I see... Things are a *lot*
I see... Things are a *lot* clearer now, thanks!
Spent a bit of time reading about SWFObject on A List Apart... That cleared that one up for me.
I think I understand the structure of PanoSalado a lot better now. I just need to take a look at the XML and dive in...
Maybe what you've supplied above would be good for a separate tutorial? It's definitely what I would have been looking for to start with!
Thanks for the help
Hmm... Just a quick
Hmm... Just a quick question- I couldn't seem to find the answer by looking at the XML file- or the tutorial documents- how do I specify an equirectangular file, rather than a set of cube files?
re: PanoSalado for absolute n00bs
Hmm... Just a quick question- I couldn't seem to find the answer by looking at the XML file- or the tutorial documents- how do I specify an equirectangular file, rather than a set of cube files?
That's a "sphere"... In the example XML (or at the forum post) the "preview" image is an equirectangular image.
An equirectangular image is the flattened projection of a sphere... so the tag name is "sphere" too.
Easy!
Cheers,
Patrick
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
Thanks, Patrick!
Thanks, Patrick!
Hi Patrick, Okay, so I've
Hi Patrick,
Okay, so I've been playing around with things and I've had some limited success. I've managed to manipulate the basic page holding the pano (as you'd expect!), but I've run in to problems with the XML. If I wanted to display a cylinder, how would I do that? I guessed to use 'cylinder' as the tag name, but that didn't seem to work!
Here's how I've been trying it:
images/preview.jpg
images/1.jpg
graphics/hotspot.png
Much appreciated, as ever
re: PanoSalado and cylindrical panoramas
Hey Dejacque:
Ah, you caught us...
Your thinking is absolutely correct, but revision 73 doesn't include support for cylinders.
The latest revisions do support cylinders, so you can grab them from the Googlecode repository if you like (rev_90 at this writing; cylinder support added beginning in rev_75):
http://code.google.com/p/panosalado/source/checkout
--
We just haven't had a chance to document, test & release the various new features (QTVR support, cylinders, etc), so I haven't made a new download.
Here's a preview of cylinders, with various settings (each pano has a hotspot to the next one).
And here's the XML for that preview, showing how to limit the tilt range for the image, so you don't see black zenith/nadir areas.
--
You can either set the cylinder's min and max tilt values, a la
cameraMinimumTiltandcameraMaximumTilt(inside thespaceelement); or you can set nothing, and see black above and below; or you can setautoFOV="true"inside thecylinderelement, and PanoSalado will auto-detect the FOV and limit the view accordingly (please test and feedback!).Note that if you use both min/max settings, and also have autoFOV in your XML for a specific space/cylinder, PanoSalado will respect the setting deepest in: autoFOV in this case.
--
And here's a note from Zephyr regarding segments and cylinders:
You might want to try turning off
dynamicQualityAdjustment, which is on by default. It works great with cubes, because a perfect cube can be made with very few segments (cubes are all straight lines), which gives PanoSalado a lot of opportunities to use fewer triangles whenever possible.However, with cylinders and spheres, you need to have more segments to actually made the cylinder or sphere approach roundness, therefore, PanoSalado rarely will want to use the
dynamicQualityAdjustment, and so check for it each time a segment is rendered is inefficient.Cheers!
Patrick
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
How to use a cylinder
Hi,
Here is an example of the XML for a cylinder in PanoSalado:
<layer id="PanoSalado" url="PanoSalado.swf" depth="0" onStart="loadSpace:cylinder_test">
<spaces
transition="tween:currentSpace.viewport.alpha from 0 over 1.5 seconds using Expo.easeIn; tween:currentSpace.viewport.rotation from -90 over 3 seconds using Expo.easeInOut then do spaces.onTransitionEnd"
onTransitionEnd="removeLastSpace"
>
<space id="cylinder_test"
interactive="true"
onTransitionEnd="removeLastSpace"
>
<cylinder id="cylinder_pano" segments="15" autoFOV="true">
<file>images/01Front_and_Street.jpg</file>
</cylinder>
</space>
</spaces>
</layer>
</PanoSalado>
So, the key is that you use "cylinder" in the tag (instead of cube, or sphere, or plane, or hotspot, etc). And then you will notice the autoFOV attribute. If you set autoFOV to true, PanoSalado will automatically determine the vertical FOV, the horizontal FOV being assumed to be 360, and it will set the cameraMaximumTilt and cameraMinimumTilt, overriding anything you had set manually. You have to set this if you want it though, it is not the default behavior.
On a final note, with cylinders, you may find that you get better performance by turning off the dynamicQualityAdjustment, since the cylinder will need a lot of segments to approximate the shape of a real cylinder, and dynamicQualityAdjustment is most beneficial when you can use something like a cube with few segments. Or if you convert your cylinders to cubes with black space at the top and bottom you will get better display performance. However, depending on your requirements, true cylinders may work fine for you.... just a piece of advice for down the road.
Zephyr
Okay, so I've gone a little
Okay, so I've gone a little bit further down the road and got myself a little bit more lost!
I managed to the latest edition compiled and all seemed to be fine except for compiling the userinterface.as file, which resulted in an error. This is the command I typed and the resulting error:
Loading configuration file D:\Pano\flex_sdk_3\frameworks\flex-config.xml
D:\Pano\27-08\UserInterface.as(32): col: 25 Error: Type was not found or was not
a compile-time constant: Bg.
private var buttons_bg:Bg;
^
D:\Pano\27-08\UserInterface.as(33): col: 32 Error: Type was not found or was not
a compile-time constant: Container.
private var buttons_container:Container;
^
D:\Pano\27-08\UserInterface.as(41): col: 28 Error: Call to a possibly undefined
method Container.
buttons_container = new Container();
^
D:\Pano\27-08\UserInterface.as(42): col: 21 Error: Call to a possibly undefined
method Bg.
buttons_bg = new Bg()
^
*********
Now, the other thing is, I'm trying to use a cylindrical pano, but I don't seem to be having much success. I don't know if it's because of the problem mentioned above, although I've managed to successfully compile all the other latest components, as I mentioned. I've also copied Zephyr's basic XML example above, just changing the file name, like so:
<layer id="PanoSalado" url="PanoSalado.swf" depth="0" onStart="loadSpace:cylinder_test">
<spaces
transition="tween:currentSpace.viewport.alpha from 0 over 1.5 seconds using Expo.easeIn; tween:currentSpace.viewport.rotation from -90 over 3 seconds using Expo.easeInOut then do spaces.onTransitionEnd"
onTransitionEnd="removeLastSpace"
>
<space id="cylinder_test"
interactive="true"
onTransitionEnd="removeLastSpace"
>
<cylinder id="cylinder_pano" segments="15" autoFOV="true">
<file>images/1.jpg</file>
</cylinder>
</space>
</spaces>
</layer>
</PanoSalado>
Everything there seems to be in order?
The HTML file hasn't changed from when I was successfully playing with the example cube files, so I don't think the problem is there.
Am I going in the right direction, missing something out or totally going at it the wrong way? There's nothing that I can see that appears to be all that obvious to me
Sorry, I should have
Sorry, I should have mentioned that it just remains a black box, where the pano should be, rather than anything else. The player seems to load fine, though.
re: compiling PanoSalado userinterface
Hey there:
I'll defer to Zephyr on the Flex compilation via command line -- but I notice that you're calling the AS file in the first line with all lower case. Does it make a difference if you call "UserInterface.as"?
Downloading the source just now, I compiled UserInterface.as with no issue.
I'll try to get a good set of example files up today, honest!
Cheers,
Patrick
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
Hi Patrick, I did consider
Hi Patrick,
I did consider the case of the command, so I tried the filename as it was but it still provided the same error- all the other files compiled fine in lower case. I thought it was a bit unusual!
I might try compiling it on another system and see how that goes.
How unusual... I've tried
How unusual... I've tried running the command from a different system, but it still returns the same error.
Patrick- I was trying to manually download the Swf files for the working cylinder example you link to earlier, but I don't think I'm pointing my browser to the correct locations- I tried to get the moduleloader.swf file by going to http://flashpanos.com/flashpanos_files/Papervision/PanoSalado/trunk/exam..., but that takes me to a default 404 page. Does the example not follow the usual PanoSalado file structure, or am I looking in the wrong place?
I think there might be a
I think there might be a problem with the files that I'm compiling.
I've just tried copying the XML from the Basic XML Structure tutorial, substituting the tutorials pano file names for my own and rendering them as spheres, regardless of whether or not they are. This worked on the Rev_73 example when I customised it in the same way, but not with my own compiled version of Rev_90 (I think?).
re: PanoSalado for absolute n00bs
How unusual... I've tried running the command from a different system, but it still returns the same error.
Patrick- I was trying to manually download the Swf files for the working cylinder example you link to earlier, but I don't think I'm pointing my browser to the correct locations- I tried to get the moduleloader.swf file by going to http://flashpanos.com/flashpanos_files/Papervision/PanoSalado/trunk/exam..., but that takes me to a default 404 page. Does the example not follow the usual PanoSalado file structure, or am I looking in the wrong place?
Hey there:
You should be downloading all files from:
http://code.google.com/p/panosalado/
There's an "example" download with already compiled SWFs, and then a source download. Give those a shot!
Cheers,
Patrick
(ps: it's probably a filename issue with your link; try using caps on the filename)
Patrick Cheatham
Forum Administrator
Ahhh, I didn't know the
Ahhh, I didn't know the Rev_93 examples had been uploaded- thanks Patrick! I'll give them a go...
Okay, since downloading the
Okay, since downloading the Rev_93 example, I've made pleasing progress. The complete XML tutorial was quite helpful, but as you can guess, it's left me with a few more questions...
I've got a preview pano and the full pano, both of which load correctly, however I'm having a bit of trouble with the transition period between the two. Once the preview pano is loaded, I'd like for it to be displayed for just a couple of seconds before tweening to the full pano. Instead, the preview pano displays for around seven seconds before tweening to the full pano.
This is what I've got for the preview pano:
transition="tween:currentSpace.viewport.alpha from 0 over 3 seconds using Expo.easeInOut then do preview.onTransitionEnd"
and the full pano:
transition="tween:currentSpace.viewport.alpha from 0 over 1.5 seconds using Expo.easeIn then do cylinder4.onTransitionEnd"
I get the feeling that I'm perhaps missing out something in the transition value?
The other thing I would like to know a little more about is working with hotspots. I know the complete XML tutorial touches on how to insert hotspots and get them to tween and perform actions within a space, but how can I get a hotspot to open a link to another page?
One last thing I noticed, when trying to manage several panos, was that the script calling the XML file from the HTML page only appears to be able to call a file called 'panosalado.xml'. I had tried creating a folder (called 'XML') in which I could put several XML files (numbered 1, 2, 3 and so on), which would be called from a respective set of HTML files. PanoSalado didn't seem to like this, though. I tried this method because I thought it might be more efficient than having separate files and folders for each individual pano. Just seemed a bit odd!
re: Panosalado and passing "xml" Parameter
One last thing I noticed, when trying to manage several panos, was that the script calling the XML file from the HTML page only appears to be able to call a file called 'panosalado.xml'. I had tried creating a folder (called 'XML') in which I could put several XML files (numbered 1, 2, 3 and so on), which would be called from a respective set of HTML files. PanoSalado didn't seem to like this, though. I tried this method because I thought it might be more efficient than having separate files and folders for each individual pano. Just seemed a bit odd!
Hey there:
I agree, good file management is.. good.
Did you see the post here about using SWFObject & passing the xml parameter to ModuleLoader/PanoSalado? Maybe this will help.
If you don't pass a xml parameter/value, then the default is to look for "PanoSalado.xml" in the same directory as the HTML page/SWF.
Just remember that all paths to files listed in the XML will need to be relative to your Web page/SWF -- or, use the "base" parameter in your embed code.
Cheers,
Patrick
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
re: Panosalado and transition/tween time
I've got a preview pano and the full pano, both of which load correctly, however I'm having a bit of trouble with the transition period between the two. Once the preview pano is loaded, I'd like for it to be displayed for just a couple of seconds before tweening to the full pano. Instead, the preview pano displays for around seven seconds before tweening to the full pano.
This is what I've got for the preview pano:
transition="tween:currentSpace.viewport.alpha from 0 over 3 seconds using Expo.easeInOut then do preview.onTransitionEnd"
and the full pano:
transition="tween:currentSpace.viewport.alpha from 0 over 1.5 seconds using Expo.easeIn then do cylinder4.onTransitionEnd"
That looks good to me -- Your preview pano loads, takes 3 seconds to tween in, and then loads "cylinder4".
Once it begins loading "cylinder4", the preview pano will sit around until loading is done; then "cylinder4" will tween in over 1.5 seconds, and then it will remove the preview panorama.
So, what you're seeing just might be the wait time for your full panorama to load in... ?
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
re: Panosalado and passing "xml" Parameter
One last thing I noticed, when trying to manage several panos, was that the script calling the XML file from the HTML page only appears to be able to call a file called 'panosalado.xml'. I had tried creating a folder (called 'XML') in which I could put several XML files (numbered 1, 2, 3 and so on), which would be called from a respective set of HTML files. PanoSalado didn't seem to like this, though. I tried this method because I thought it might be more efficient than having separate files and folders for each individual pano. Just seemed a bit odd!
Hey there:
I agree, good file management is.. good.
Did you see the post here about using SWFObject & passing the xml parameter to ModuleLoader/PanoSalado? Maybe this will help.
If you don't pass a xml parameter/value, then the default is to look for "PanoSalado.xml" in the same directory as the HTML page/SWF.
Just remember that all paths to files listed in the XML will need to be relative to your Web page/SWF -- or, use the "base" parameter in your embed code.
Cheers,
Patrick
Hi Patrick,
Yeh, I was using this line:
var so = new SWFObject("ModuleLoader.swf?xml=XML/X.xml", "pano", "100%", "550", "9.0", "#FFFFFF");Where 'X.xml' was the respective number of the pano I wanted to display.
It only seemed to display properly when I reverted to using 'PanoSalado.xml'.
I'll have another play around, though...
I've the same problem...
I managed to the latest edition compiled and all seemed to be fine except for compiling the userinterface.as file, which resulted in an error. This is the command I typed and the resulting error:
Loading configuration file D:\Pano\flex_sdk_3\frameworks\flex-config.xml
D:\Pano\27-08\UserInterface.as(32): col: 25 Error: Type was not found or was not
a compile-time constant: Bg.
private var buttons_bg:Bg;
^
D:\Pano\27-08\UserInterface.as(33): col: 32 Error: Type was not found or was not
a compile-time constant: Container.
private var buttons_container:Container;
^
D:\Pano\27-08\UserInterface.as(41): col: 28 Error: Call to a possibly undefined
method Container.
buttons_container = new Container();
^
D:\Pano\27-08\UserInterface.as(42): col: 21 Error: Call to a possibly undefined
method Bg.
buttons_bg = new Bg()
^
Hi! First of all congratulations for this amazing open source tool.
I am doing my first steps in Panosalado. I am using rev93_example and i can make my own virtual presentations, but when i try to compile rev93 code i have the same error that i quote.
Can anybody tell me how to solve this error?
Thanks in advance.
The same problem with rev124
Hi again.
Now, i've try to compile with the latest SVN version and have the same problem. I use Flex Sdk 3 and Windows XP platform.
I can create ModuleLoader.swf, PanoSalado.swf, PanoSaladoLoadMeter.swf but i have compile errors with UserInterface.as.
Thanks in advance.
re: compiling PanoSalado Rev 124
Hey there:
The UserInterface.as file is referencing objects that are in the library of the UserInterface.fla.
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
re: compiling PanoSalado Rev 128
Hey there:
The UserInterface.as file is referencing objects that are in the library of the UserInterface.fla.
Sorry if I am being dense, but could you explain in more detail please?
I am compiling PanoSalado with the mxmlc command line compiler and like others I get errors when compiling UserInterface.as. None of the compiler options I have tried help.
How exactly do I get it to compile?
Thanks for an awesome project. It is really impressive. Just what I have been looking for.
I think all he means is you
I think all he means is you need to have the userinterface.fla in the same folder as userinterface.as. The .as file looks for stuff in the .fla.
re: compiling PanoSalado Rev 128
Hey delboy711:
Thanks for the thanks!
I'm going to quote myself from a post I just made to the "hugin" list (hugin is open source software for stitching panos, and worth a look!)...
As far as compilation goes, I should note that one issue which keeps
coming up is with the supplied "UserInterface.as/fla". The FLA
contains symbols which are required by the Actionscript file, so if
someone compiles the UserInterface.as out via mxmlc/Flex, it will
fail. Rewriting the example UserInterface.as so that it is 100% Flex
friendly is also on my to-do list.
So, use Flash to compile out the UserInterface as supplied with the downloads, or write your own Flex UserInterface, and the appropriate [embed] method for the images within. ...Or, wait for me to write out a new Flex UI.
Could be a few weeks... 
(aeroshock: am mulling your other posts...)
Cheers,
Patrick
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
Compile UserInterface
Hey there:
The UserInterface.as file is referencing objects that are in the library of the UserInterface.fla.
Sorry if I am being dense, but could you explain in more detail please?
I am compiling PanoSalado with the mxmlc command line compiler and like others I get errors when compiling UserInterface.as. None of the compiler options I have tried help.
How exactly do I get it to compile?
Thanks for an awesome project. It is really impressive. Just what I have been looking for.
Try:
> C:\flex_sdk_3\bin\mxmlc.exe PanoSaladoDir\FlexUserInterface.mxml
Bye!
re: Compile UserInterface
Hey there:
If you want to use the UserInterface.as as it is in the source download, you will need to open UserInterface.fla up in Flash and compile it out from Flash... The Flash file (.fla) contains movieclips and assets in its library, which the UserInterface.as file references.
There is an already compiled out UserInterface.swf in the examples download from the Google Code site.
HTH!
Patrick
Patrick Cheatham
FlashPanos.com creator, Panoramic Photographer
Got PanoSalado?
Thanks for those answers.
Thanks for those answers. Now I understand.