How to create a 360-degree interactive panorama inside a 3D PDF Brochure
Work-flow steps for creating Panoramic 3D PDF Brochures
The steps in this work-flow are an outline of how to create a highly compelling 3D panoramic scene embedded inside a PDF brochure or report. The steps start with digital photography and end with the production of a secure, stand-alone PDF file.
However, in some applications, live network connections may not be available or not permitted. As PDF is such an extremely well established off-line document format, with Adobe Reader available on most PCs, embedding a 3D panoramic scene in a PDF brochure opens up a distinct deployment option.
To avoid parallax problems, a special panoramic head assembly is used to have the optical centre of the used lens exactly in the centre of the panorama. The photography is done in predefined segments, using technologies like focus stacking in confined space, or to achieve the best possible quality. To cover the full dynamic range of a scene, photos of each segment with different exposures may be necessary, resulting in a large number of high resolution images to process.
After offloading the images to a digital image processing computer workstation, the photos of each individual segment are combined to achieve unlimited depth of field, and to cover the full dynamic range of the original scene. The processed segments are then stitched together to create a huge, flat image that is edited for light & colour temperature conformance, and to correct possible geometric distortions. The resulting image can be huge – 2.5 Gigabytes in the Sheldonian Theatre example. For the web, this huge image is then processed into a spherical view for publishing in HTML5 or, as a fall-back, Flash.
To prepare for 3D PDF Brochure production, the resolution should be resampled down to a modest 8000 by 4000 pixel size. An additional constraint is that the Aspect Ratio ratio should be as close to 2:1 as practical, in landscape layout. The recommended File Format for this method is JPEG in full 24-bit colour depth.
Independently, a Spherical Texture Map Framework is used, whereby a triangulated sphere object is defined. This is a tessellated sphere with shared vertices and texture UV mapping coordinates specified per vertex. The texture mapping is defined such that an image wrapped into a cylinder is projected onto the sphere.
With an image as diffuse material channel with ambient and specular terms set very low. The sphere geometry can be defined in many modelling packages, in this case a VRML97 implicit sphere is specified which can be re-used on all similar projects without further editing.
MS-Word Brochure Design
Next the brochure layout, text, images, web links can be prepared using normal desk-top publishing tools. In this work-flow Microsoft WORD is used to make a one-page landscape brochure page, where logo, website references and a description of the 3D scene content is included to provide context to the viewer.
Once the basic brochure design is complete, the “PDF3D with WORD” plugin is used to add an area on the brochure where the 3D panoramic scene will be placed. This creates a special template placeholder image, which is then exported as a placeholder PDF using the plugin ribbon menu buttons.
PDF3D ReportGen Operations
The actual conversion and introduction of the interactive 3D scene is performed by using the PDF3D ReportGen application software. Once this is started, a new project is established with the following menu adjustments made.
First, import the Spherical Framework with the re-sampled image as diffuse material as the primary input file.
Next, set output PDF brochure file name to the final name to use during export.
On the “PDF 3D View” tab, click the option to hide the toolbar over the 3D view.
On the input/output tab, set the option to import the template placeholder brochure design PDF.
All of the above settings can easily be made using the PDF3D ReportGen menu entries. However, for this task there are some advanced adjustment techniques to improve and get the best quality 3D panoramic result.
Use the menu entry along the top to Export state as .pdf3dsettings XML project file into same folder as panoramic image files. Open this file in a text editor which supports XML editing, Notepad, Visual Studio, or any software development oriented editor. Beware of using any text editor which might add formatting or style changes as this may introduce problems in the XML tags.
Add a special custom camera view at the centre of spherical framework object, in this case at location [0,0,0].
<Camera> <Name value="Panoramic View"/> <Position x="0" y="0" z="0"/> <Up x="0" y="1" z="0"/> <Forward x="-1" y="0" z="0"/> <CenterOfRotation x="0.01" y="0" z="0.01"/> </Camera>
Disable all normal default camera views by changing the default view to:
The Adobe reader and 3D graphics display pipelines normally have some limits to the size of any single texture image. If the size exceeds a viewing threshold, it may be that the user only sees a reduced resolution version rather than what was intended. As a way to mitigate this effect, add an additional specification for Texture Splitting into tiles to preserve image display resolution inside the properties tag. In addition a custom rotation is introduced to set the initial view, such as:
<ExplodedView value="true"/> <Assembly> <InputFileName value="sheldonian.obj"/> <AssemblyProperties colorArrayIndex="0" colorArrayName=""> <TextureSplit forceToPngCompression="false" maxTextureHeight="1500" maxTextureWidth="1500" /> <Orientation x="0" y="0" z="1" angle="180"/>
where the actual tile size threshold (1500) can be adjusted based on trial conversions.
The orientation is set to show the sphere and image mapping adjusted to show the main building entrance, with the “Exploded” tag required to enable the custom rotation. These are set within the Assembly tag rather than default assembly so they apply specifically to this sphere with texture image.
As a final optional clean-up step, remove any disk drive and folder paths, so the conversion will be relative to the .pdf3dsettings file, using local relative file names. Make this change in three places:
<TemplateFileName value="sheldonian-template-placeholder.pdf"/> <OutputFileName value="sheldonian-theater-PDF3D.pdf"/> <InputFileName value="Panoramic_vrml97.wrl"/>
Reload the edited pdf3dsettings file into PDF3D ReportGen session to make the custom settings active.
Final Conversion and 3D PDF Generation
Convert, and the new PDF should now be written out to a stand-alone file, and opened for review.
The PDF file size will be proportional to the JPEG resampled panoramic image file size.
The setup files used in this work-flow are available on request.
- PDF3D Tools http://www.pdf3d.com
- Sheldonian Theater http://www.admin.ox.ac.uk/sheldonian/
- Harald Joergens Photography https://www.haraldjoergens.com/
- Panoramic Photography https://en.wikipedia.org/wiki/Panoramic_photography
- XML Extensible Markup Language W3C Reference http://www.w3.org/XML/