QGIS 4.xになってからQGIS2threejsがうまく動きません。
QGIS 4.0 以降で Qgis2threejs の WebGL が無効化される問題は、既知のバグとして報告されています。
## 原因
QGIS 4.0 で QtWebEngine の実装が変更され、Flatpak 環境内で WebGL が完全に無効化されています。 これは QGIS 側の問題であり、Qgis2threejs プラグイン自体の問題ではありません。
## 解決策
### 1. QGIS 3.x の使用(推奨)
QGIS 3.40 では動作していたとのことですので、当面は 3.x を使用するのが最も確実です。
Flatpak 版の場合、以前のバージョンを指定してインストールできます。
```bash
# 現在の QGIS 4.2 をアンインストール
flatpak uninstall org.qgis.qgis
# QGIS 3.x をインストール(バージョン指定)←AIはこう言うが、実際には不可能。ltr版を入れるしかない。
flatpak install flathub org.qgis.qgis//3.44
```
### 2. エクスポートした HTML をブラウザで使用
QGIS 内蔵のプレビューは使用できませんが、エクスポート機能は動作します。
1. Qgis2threejs で 3D シーンを設定
2. 「エクスポート」ボタンで HTML ファイルを保存
3. 通常のブラウザ(Firefox、Chrome など)で HTML ファイルを開く
これで WebGL は正常に動作します。
### 3. GitHub イシューで報告・追跡
この問題は Qgis2threejs の GitHub イシューで報告されています。 [github](https://github.com/minorua/Qgis2threejs/issues/413)
- イシュー #413: "THREE.WebGLRenderer: Error creating WebGL context."
- 開発者が対応を検討している可能性があります。
### 4. ネイティブ版 QGIS の使用
Flatpak 版ではなく、OS のパッケージマネージャから QGIS 3.x をインストールする方法もあります。
## 参考情報
- QGIS 4.x で QtWebEngine の WebGL が無効化される問題
- Qgis2threejs のエクスポート機能はブラウザで使用可能
- 同様の問題が多数報告されています [github](https://github.com/minorua/Qgis2threejs/issues/413)
当面は QGIS 3.x の使用、またはエクスポート機能をブラウザで使用することをお勧めします。
QGIS2threejs 3.2で解決
以下AIとの会話です。
このエラーQGIS2threejsの3.2で解決しました。ただし、LinuxFlatpak版ではブラウザを起動しそこで作図されます。Windows版は今までのようにその窓の中で描画します。
Qgis2threejs 3.2 でエラーが解決されたのですね。情報ありがとうございます。
状況の整理Linux Flatpak 版
- ただし、描画は外部ブラウザで実行される(QGIS 内蔵ビューアではない)
- これは Flatpak 版の QtWebEngine の制限によるもの
Windows 版
- 描画はQGIS 内蔵のビューアで実行される(従来通り)
- Windows では QtWebEngine の WebGL サポートが有効
背景
この違いは、Flatpak のサンドボックス環境と QtWebEngine の実装に起因します。
- Flatpak 版: セキュリティと移植性の観点から、QtWebEngine の WebGL サポートが制限されています。
- Windows 版: ネイティブ環境で QtWebEngine が GPU に直接アクセスできるため、WebGL が正常に動作します。
今後の運用
Linux Flatpak 版では、以下の運用が現実的です。
- エクスポートした HTML をブラウザで開く: Qgis2threejs でエクスポートした HTML ファイルを、通常のブラウザ(Firefox、Chrome など)で開いて 3D 描画を確認します。
- QGIS 3.40 の使用: 内蔵ビューアで描画したい場合は、QGIS 3.40 を继续使用します。
この情報は、同様の問題に直面している他の Linux ユーザーにも役立つでしょう。