Posts by jlo

    As a potential feature request i could see here would be to have enscape match the FoV which unchecking the live camera sync. In other words, whenever the uncheck live camera sync button gets pressed - enscape code would check and match the Fov of the source program before switching to the enscape camera automatically. That should be easy to implement. I would assume people would want this at times and not at others so this option itself should be optionable.


    Separately, i believe i recall Enscapes field of view to not exactly match Sketchups field of view in numbers. i.e. a FoV of 35 in SKP does not match the FoV of 35 in Enscape. I dont recall the variation but i do recall i could get them to be the same view although at different numbers.

    Yes. What Im specifically asking is whether enscape ever saves them in the xml itself as JPG. In other words, Does enscape ever initially create/save that file as a jpg instead of as a png. We know you can EXPORT the already created pano to jpg when you manually download/save but that doesnt mean the file in the xml is ever as jpg. All the panos in my directory appear to be PNG.

    This means that simply renaming the extension to jpg wont work because the file itself is actually a png. It would need to be converted from PNG to JPG. It also means that if enscape does initially create that as either PNG or JPG then any code we make must trap for whatever file gets created and i would need to know how to differentiate the 2 formats. Currently, i do not believe it ever creates the pano as JPG but i havent tested or know that as fact.


    In the meantime, get this tool - microsoft powertoys which has a powerRename tool. Its excellent for quick batch renaming:

    https://learn.microsoft.com/en…ows/powertoys/powerrename

    https://learn.microsoft.com/en-us/windows/powertoys/


    I use that all the time to instantly change the enscapes auto-naming convention before i send images to clients.


    Separately, you should check if Gigapixal has an api and/or allows batch processing and we could likely hook into that api for batch conversions as well in a potential later update. Theoretically, one could pull the files from the xmls, autoname them, have them upscaled on gigapixel and saved somewhere in a local folder of ones choosing - all automatically in 1 run of the code if so. I dont have gigapixel and i would likely need creds to build out and test code if so. Lets save this part for later but you should see if Gigapixel even has the ability.

    Also just thinking this through.... can you create/save panos as JPGs? (i know you can export as jpg ) Mine are save in png format (or more accurately stated my XMLs have the image content already in PNG format). If either or then logic needs to trap for which format and i dont know how to differentiate the 2...

    Im going to defend Demian here. The difference between the live sync VIEW enabled/disabled is that when disabled - it also activates the FoV ability in enscapes camera settings which is disabled when you use the live viewer (because its using the FoV from the source camera (i.e. SKPs camera in sketchup)). This makes the FoV slightly change when i have it synced or not but if i change the FoV in enscapes camera to match the FoV in my source progmram (sketchup) then they dont adjust when having synced or not. This is also a different button then enscapes live updates button which only synchronizes the model itself.


    I.e. you can choose to not have synced the camera so you can pan around in model and still have the model updating and be live synced to a non moving camera in enscape. I do this all the time. When you dont have the camera synced then you may also want to adjust the FoV of the camera in enscapes panel. I presume you can also save it to the scene properties of enscape scenes but havent tried that part.


    To Egie, when you unsync the live camera - it does not move the camera at all in my settings. It only changed the FoV to whatever Enscape has in its preset. If yours moves then it sounds like you have something moving it like a controller or 3d mouse or other. Thats not normal for it to move simply by unchecking the sync box.

    Welcome to the world of scripting.

    You took your easy method ;)

    Geat. Thats why i left the code the way it is - to make it simple to understand and also modify.


    Does it still make sense then to do it the hard way?

    Note the only change that wont work is the png to jpg. Even though its changing the name, its not actually changing the format so my image viewer automatically asks me to rename it back to png because it detects that the image itself doesn't coincide with the filename extension.


    For the number, you also need to factor logic so as to not just always use the same number but increment up and maybe even check if filename already exists.

    All of this adds another layer of complexity and logic for the code .


    The line for double digit is something like (one way anyway):

    $(1..10 | % tostring 0000)

    $(5 | % tostring 00)

    So... Ive done something...


    Windows only:

    Go to this webaddress: https://www.johnjlopez.com/archviz/EnscapePanoramExport.txt


    and download that file. If your browser simply posts this text then copy and paste this into notepad. You can see the code so there should be no fear of virus or other. Its only a few lines long and, imo, easy to read what is happening. The "#" is the comment symbol in ps1. This means the code will skip those lines when running because its a comment to not be parsed by the engine.


    Save this text in notepad wiht a file name of EnscapePanoramExport.ps1

    (Note the PS1 extension)


    This is now a Microsoft Powershell script file.


    Now go to that file in explorer or however you prefer, right click and you should see a prompt to run with powershell. Do this.

    (Alternately you can open powershell first then type in the full path plus filename and hit enter)

    (If you have never used powershell, You may, for the first time only, have to give windows permission to run ps1 scripts as a microsoft security measure (nothing to do with my specific script). You will need to change your own permissions to allow scripts to run - do this by doing a google search of the verbage it pops up + powershell (i forget the actual requirement - its been years))


    If everything is working properly and you run the script, it should automatically start going though the default Enscape panorama folder and convert all the files in that folder. It will show you the XML name it is converting. My machine took about 1 min to convert around 70 files.


    If you need to change the folder path to the pano XMLs (if not using default) then do that up above in notepad before you save as ps1.


    This is working code but very 1.0 version. Let me know if you need error handling or features added (such as searching through all subfolders or ...whatever) and we can hash out logistics to support it. Currently there is no real error handling beyond it will only search for XML files. It will overwrite the PNG files if you run multiple times. The PNG files will be saved to the same folder as the XMLs.


    Good luck and let me know results!

    I take starbucks coffees 8):D;)

    Yes no auto naming of panos but yes auto naming of regular images. Thay do that by inserting the timestamp so as to make it always unique. The Pano XMLs are simply incremented by 1 digit in the folder they are saved (i found the folder on my local machine).


    >The parsing of an xml to extract the base64 is easy


    Maybe we can meet in the middle because this is the only complicated part for me. I can parse the XML to get to the needed string (xml.PanoramaData.ImageContent) but i dont know how to convert and save it as a .JPG from a code perspective.


    The batch portion is the easy part for me...




    >so the vanilla Enscape solution is completely unsuitable


    I certainly get that its not doesnt have feature parity with comparable products and its a weak point for enscape tours. VIew wise though, i believe Enscape outputs the FoV smarter then 3dvista by adjusting to the vertical res only and not the horizontal res as 3dvista does. For enscape, this means that switching from portrait to landscape or separately making the viewport wide for say an ultra wide monitor (or dual or triple monitor setup) keeps the FOV always near the same regardless of width while 3dvista gets much more distorted for portrait on say an iphone.

    The naming aspect can be worked around. Enscape normally manages it by putting a timestamp into the name (therefore always unique) but ultimately any convention can be used. Of course, exactly after i wrote the last comment last night, i saw about 20 posts of yours showing 3dvista as a fell into the tour rabbit hole! Hilarious. Ill try and dig around my own machine to find an old pano i created and see if I can find how it parses the XML and make it export to an image file. I suspect that should be fairly easy to mediocre although my coding skills are very rusty. Ive only used enscape for panos in the past. From everything i have seen in the past, Enscape appears to be simply using the 360 functionality already built into the HTML standard. You can put any pano into an HTML (5?) iframe in a standard .html with something like 3 lines of code and simply view it in any standard HTML browser. Ive done this. Im betting this is also exactly what Enscape has done. This means whatever you dont like is likely how the HTML standard implemented it. This also means it may be different in different browsers since they may parse html and render it slightly differently. Not sure how Enscape or any other company added on the tour portion though. I have some sample HTML code laying around whenever i was testing it in the past. I was able to effectively create standard links for multiple panos viewable in any standard browser but im not a web dev and i didnt solve how to put it into any tour format.


    If i can find an xml then export that portion to an actual image file then batching that code to find others and do the same should be trivial. My code will be using powershell so windows only...


    On last nights rabbit hole, i landed on krpano and more specifically built with everpano seemed to be the superior tour implementation (which also has a nice dollhouse effect) but i havent tested any of this and im not very familiar with the topic in general. I also already saw the thread on the FoV related to panos last night as well...

    On that, My eyes tell me that the enscape side is less distorted in both a more portrait view (i.e. both on 1 screen therefore split screen portrait type view) to also a more landscape aspect ratio (stretched across a dual monitor)while the 3dvista is highly distorted in the narrow portrait view

    This may be an old thread and im going from memory on this but this sounds like a resolution SIZE limitation ive seen before. I recall something to the effect that enscape panos render maybe 8000 pixels wide (or whatever that number actually was) and that was the cap for IOS but... if you literally lower the res 1 pixel (like in photoshop) then it displays properly.

    Paul, do you have the details of how the XML needs to be parsed to pull the images out? I may be able to help...

    Separately. What pano tour software do you use? Do you recommend enscapes Tour or no?

    I HATE the idea of enscape being stand alone ala twinmotion and others. I hate the idea of splitting out the workflow to distinctly separate apps. I like to do my geometry in SKP and have it rendered in enscape. This is why I ignore the recent addons of enscape like plotting to a map etc. I would need to bring buildings back into SKP if that is to be a working workflow. I don't want to have to manage different parts in different places because then if I have to do things in Enscape then it becomes a managing problem of if I need to change the original model in SKP or have some things in one place and others in the second place. If I have to show my clients only in enscape render then I can't do simple image exports in SKP etc. It's adding complexity to create models. I want a simple workflow that works reliably. This is maybe the primary reason I don't like twinmotion and I do like enscape. It's not as synchronized as enscape and I don't want to add materials in twinmotion that I don't have in the original SKP.

    I actually took the black friday deal so I'm in for another year although I certainly think I need to investigate alternatives at the same time. For me, I would like to go straight to Unreal engine 5 as my alternate of choice.


    Demian, My card got double charged since it apparently added a 2nd licence instead of adding time to my current one and my current license just renewed automatically. I sent an email but can you follow up as well?