Investigating PLY Files Not Being Output in IIIF Manifest Items with Omeka S IIIF Server Module

Overview I investigated an issue where PLY files were not being output as items in IIIF manifests by the Omeka S IIIF Server module, while GLB files were output correctly. Prerequisites: Omeka S Configuration By default, PLY files cannot be uploaded to Omeka S. The following configuration is required. Error When Uploading PLY Files With default settings, upload errors occur because the PLY file’s media type (application/octet-stream) and extension (.ply) are not permitted. ...

February 6, 2026 · 10 min · Nakamura

Developing a 3D Gaussian Splatting Viewer - Browser Implementation Using Spark.js

I developed a viewer that allows browsing 3D Gaussian Splatting (3DGS) files in the browser. This article explains an overview of 3DGS, why a regular PLY Viewer cannot display it, and the implementation of a dedicated viewer. Demo: https://3dtiles-viewer.vercel.app/3dgs-viewer.html?manifest=https://3dtiles-viewer.vercel.app/iiif/ply/manifest.json Why a Regular PLY Viewer Cannot Display 3DGS Since 3DGS files have the .ply extension, they appear to be handled the same way as regular PLY files. However, they are not displayed correctly when loaded with Three.js’s PLYLoader. ...

February 6, 2026 · 19 min · Nakamura

The World of 3D Point Cloud Data: Organizing the Relationship Between PLY, Gaussian Splatting, and Potree

! This article was composed and written based on a conversation with AI (Claude). While care has been taken regarding the accuracy of the content, it may contain errors or inaccuracies. If you notice any issues, I would appreciate your feedback in the comments. Situations where 3D point cloud data is used are increasing. Applications continue to expand, including digital archives of cultural properties, 3D scanning of cities, and LiDAR measurement for autonomous driving. However, with many related terms such as PLY, LAS, Gaussian Splatting, and Potree, it can be difficult to grasp their positioning and relationships. ...

February 5, 2026 · 21 min · Nakamura

Draco Compression of GLB Files - 87% Size Reduction and Impact on Precision

When delivering 3D models on the web, file size is a critical concern. This article describes a case where Draco compression was used to reduce a GLB file by 87%, along with precautions during compression (particularly regarding UV coordinates). https://3dtiles-viewer.vercel.app/glb-viewer.html Data Used Model: Rotunde Brunnen (a rotunda with a fountain) Source: Sketchfab Format: GLB (glTF 2.0 Binary) What is Draco Compression? Draco is an open-source 3D mesh compression library developed by Google. It is supported as a standard extension in glTF 2.0 as KHR_draco_mesh_compression. ...

January 17, 2026 · 11 min · Nakamura

Displaying Over 3 Million Point Cloud Data Points Smoothly in a Browser - Building a Potree LOD Viewer

When trying to display large-scale point cloud data (LiDAR/LAZ) in a web browser, the browser may crash due to insufficient memory. This article introduces how to display millions of points without stress using Potree’s LOD (Level of Detail) technology. https://3dtiles-viewer.vercel.app/potree-lod-viewer.html Data Used Data Name: Utah State Capitol Source: OpenTopography Download URL: https://object.cloud.sdsc.edu/v1/AUTH_opentopography/www/education/MatlabTopo/Utah_state_capitol.laz File Size: 15MB (LAZ compressed) Point Count: 3,481,512 points Location: Salt Lake City, Utah, USA Challenge Trying to load this data directly with Three.js or similar libraries may cause the browser to freeze. ...

January 17, 2026 · 27 min · Nakamura

I Built a Prototype IIIF 3D Viewer

! This article was generated by AI. Introduction In the field of digital humanities, the 3D digitization of cultural properties and historical materials is rapidly advancing. However, appropriate tools are needed not only for simply viewing 3D models but also for utilizing them in academic analysis and education. This article introduces “IIIF 3D Viewer,” a web application for viewing 3D models that complies with the IIIF (International Image Interoperability Framework) standard. ...

July 29, 2025 · 6 min · Nakamura

Trying Kompakkt Standalone Viewer

Overview I had an opportunity to try Kompakkt Standalone Viewer, so here are my notes. It is described as follows: This repository hosts a JavaScript file which can be included on any website to use the Kompakkt Viewer without needing to use the Kompakkt Repository or the Kompakkt Server. Repository It is published at: https://github.com/Kompakkt/StandaloneViewer You can also access the viewer via GitHub Pages: https://kompakkt.github.io/StandaloneViewer/ Display Example I was able to display a 3D model and annotations as shown below: ...

January 5, 2025 · 7 min · Nakamura

Trying Annotations in Sketchfab

Overview I tried out annotations in Sketchfab, so this is a personal note for future reference. Ultimately, I created the following viewer. https://nakamura196.github.io/SketchfabAnnotationViewer/ https://youtu.be/iEe6TbI3X70 Data Used We will use the “Ishibuchi Family Globe” from the “Kikuchi City / Digital Archive.” https://adeac.jp/kikuchi-city/catalog/e0001 Usage Example First, I uploaded the 3D data to Sketchfab. https://skfb.ly/pt8oU Then I added annotations. As a result, the following page was prepared. Using the API Please also refer to the following repository. ...

January 2, 2025 · 11 min · Nakamura

Converting OBJ Files to glTF and GLB Files

Overview These are notes on how to convert OBJ files to glTF and GLB files. Target Data The target is the “Ishibuchi Family Globe” from the “Kikuchi City / Digital Archive.” https://adeac.jp/kikuchi-city/catalog/e0001 The OBJ file can be accessed from the following URL. https://adeac.jp/viewitem/kikuchi-city/viewer/3d/dc-e0097/models/Kikuchi_Globe_180820.obj Downloading the Target Data Download the library. n p m i a x i o s Prepare the following file. ...

December 30, 2024 · 11 min · Nakamura

Trying aleph-r3f

Overview In the following article, I introduced the Aleph 3D viewer. After further research, I also discovered the following repository. https://github.com/aleph-viewer/aleph-r3f It is described as follows, with the difference being that it uses react-three-fiber and shadcn/ui. Aleph is a 3D object viewer and annotation/measurement tool built with react-three-fiber and shadcn/ui The annotation features also appear to have been improved as shown below. In this article as well, we use the 3D data of the “Ishibuchi Family Globe” published in the Kikuchi City Digital Archive. ...

December 29, 2024 · 13 min · Nakamura

Trying the Aleph 3D Viewer

Overview This is a note about trying out Aleph, one of the 3D object viewers. https://github.com/aleph-viewer/aleph The 3D data of the “Ishibuchi Family Globe” published on the Kikuchi City Digital Archive is used. https://adeac.jp/kikuchi-city/catalog/e0001 Background While researching IIIF-compatible 3D viewers, I came across the following article. https://pro.europeana.eu/post/iiif-for-3d-making-web-interoperability-multi-dimensional Through this article, I learned about Aleph as one of the introduced viewers. Usage I forked the GitHub repository and deployed it to Vercel. ...

December 29, 2024 · 1 min · Nakamura

Trying the Model Viewer Module for Omeka S

Overview Model Viewer is a module for Omeka S that integrates three.js, a viewer for 3D models. https://github.com/Daniel-KM/Omeka-S-module-ModelViewer This article explains how to use this module. References The following article introduces how to publish 3D models using IIIF. Please refer to it as well. Installation The installation process is the same as for other standard modules. Usage On the media detail page, the 3D viewer is displayed as shown below. ...

October 18, 2024 · 1 min · Nakamura

Publishing 3D Models in Omeka S

Overview I looked into how to publish 3D models in Omeka S, so here are my notes. As a result, I was able to handle 3D models in Omeka S as shown below. https://omeka.aws.ldas.jp/s/sample/item/43 Versions The versions of Omeka S and modules used are as follows. Omeka S 4.1.1 Common 3.4.62 IIIF Server 3.6.21 Universal Viewer 3.6.9 Module Installation Install the Common, IIIF Server, and Universal Viewer modules. Module Configuration Configure two settings for the IIIF Server module. ...

October 4, 2024 · 8 min · Nakamura

Bidirectional Interaction Between Vue 3 and Babylon.js (Part 2)

Overview In the following article, I created a program for interaction between Vue 3 and Babylon.js. This time, as an advanced version of the above, the mesh to be passed to the scene is specified from Vue. You can check the content at the following link. (There are some parts where meshes are not properly deleted. This is planned to be fixed in the future.) https://youtu.be/-dyQp-QX42I Demo Site https://nakamura196.github.io/nuxt3-babylonjs/10 ...

March 29, 2023 · 1 min · Nakamura

Loading .glb Files with Nuxt3 x babylon.js

Overview I encountered an error when attempting to load a .glb file in Nuxt3 x babylon.js, so this is a memo of how I resolved it. Error Details The following error occurred: Unable to load from ./models/test.glb: importScene of undefined from undefined version: undefined, exporter version: undefinedimportScene has failed JSON parse Solution The issue was resolved by additionally installing the following package: n p m i n s t a l l @ b a b y l o n j s / l o a d e r s As a result, I was able to display the model with the following JavaScript file: ...

March 29, 2023 · 5 min · Nakamura