Skip to content

Commit 2f3bc77

Browse files
authored
FBXSDKをリポジトリから削除しました。 (Synesthesias#149)
* removed .gitmodules * .gitignore < fbx_sdk * github actions * update readme
1 parent 04ecd9c commit 2f3bc77

File tree

5 files changed

+65
-73
lines changed

5 files changed

+65
-73
lines changed

.github/actions/build/action.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ runs:
1515
run: git submodule update --init --recursive
1616
shell: ${{ inputs.shell_type }}
1717

18+
- name: Clone fbx_sdk
19+
run: |
20+
cd ./3rdparty
21+
git clone git@github.com:Synesthesias/fbx_sdk.git
22+
cd ..
23+
shell: ${{ inputs.shell_type }}
24+
1825
- name: Install ninja-build tool
1926
uses: seanmiddleditch/gha-setup-ninja@v3
2027

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
CMakeLists.txt.user
1+
2+
# fbx_sdk は再配布禁止のため、ご自分で用意していただく形になります。
3+
/3rdparty/fbx_sdk/
4+
5+
CMakeLists.txt.user
26
CMakeCache.txt
37
CMakeFiles
48
CMakeScripts

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,3 @@
2828
[submodule "3rdparty/libxml2"]
2929
path = 3rdparty/libxml2
3030
url = https://github.com/GNOME/libxml2
31-
[submodule "3rdparty/fbx_sdk"]
32-
path = 3rdparty/fbx_sdk
33-
url=git@github.com:Synesthesias/fbx_sdk.git

3rdparty/fbx_sdk

Lines changed: 0 additions & 1 deletion
This file was deleted.

README.md

Lines changed: 53 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# LibPLATEAU
55

66
- クロスプラットフォーム(iOS, android, windows, ubuntu)
7-
- C++, C#, python向けapiの提供
7+
- C++, C# 向けapiの提供
88

99
## 開発環境
1010
- CMake 3.8以降
@@ -19,81 +19,80 @@
1919
git clone https://github.com/Synesthesias/libplateau
2020
cd libplateau
2121
git lfs install
22-
```
23-
その後、社内の方は
24-
```
2522
git submodule update --init --recursive
26-
```
27-
社外の方は
2823
```
29-
git -c submodule.3rdparty/fbx_sdk.update=none submodule update --init --recursive
30-
```
31-
を実行します。
32-
両者の違いは、社外の方は submodule の `fbx_sdk` を無視する設定となっています。
33-
これについて下のセクションにある「社外の方へ」をご覧ください。
3424

3525
## ビルド
3626
ビルドの方法について、全OSで共通の留意点を記したあと、
37-
OSごとのビルド方法を記載する
27+
OSごとのビルド方法を記載します
3828

3929
### 共通
40-
**社外の方へ**
41-
社外の方が libplateau をビルドするには、追加の手順が必要です。
42-
下のセクションにある「社外の方へ」をご覧ください。
43-
44-
- C++ の libplateau_c をビルドすると DLL ができる。
45-
- その後 C# の LibPLATEAU.NET をビルドすると自動で上述のDLLがコピーされ、C#側で利用可能になる。
46-
- C++とC#のビルド設定を合わせる必要がある。(C++でRelease 設定でビルドしたなら C# も Release、Debug なら C# も Debug。これを間違うと古いDLLがコピーされてしまう。)
30+
31+
#### 1. fbx_sdkを用意する
32+
お手数をおかけして申し訳ございませんが、libplateau をビルドするには別途 fbx_sdk が必要です。
33+
fbx_sdk は Autodesk社が公開するSDKです。これは自由に製品に組み込んで良いものの、オープンソースではなく、再配布は禁止となっております。
34+
そのため、libplateau 自体はオープンソースですが、例外的に fbx_sdk のみ別途ご用意頂く形になっております。
35+
ビルドするためには、Autodesk社が配布しているSDKを指定のディレクトリに配置する必要があります。
36+
- [Autodesk社のWebサイト](https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-3) から、各OS向けのFBXSDKをダウンロードしてインストールします。
37+
- インストールして得られるファイルを、次のディレクトリ構成に合うように配置します。
38+
- `3rdparty/fbx_sdk/2020.3.1` 以下に配置します。
39+
- `2020.3.1` 以下のディレクトリ構成は、別添のテキストファイル `file_tree_of_fbxsdk.txt` を参照してください。
40+
41+
#### 2. C++, C# のビルド手順(各OS共通)
42+
- C++ の libplateau をビルドすると DLL ができます。
43+
- 詳しくは下記の、各OS向けのビルド手順を参照してください。
44+
- その後 C# の LibPLATEAU.NET をビルドすると自動で上述のDLLがコピーされ、C#側で利用可能になります。
45+
- C++とC#のビルド設定を合わせる必要があります。(C++でRelease 設定でビルドしたなら C# も Release、Debug なら C# も Debug。これを間違うと古いDLLがコピーされます。)
4746
- ユニットテストの実行時、dllがないという旨のエラーが出る場合、C++ビルド結果の out/build/x64-Debug or x64-Release にある
4847
libplateau が C#のバイナリのディレクトリにコピーされているか確認してください。
4948
コピーコマンドは CSharpPLATEAU.Test.csproj に記載されており、C#のリビルド時に実行されるはずです。
5049
このコマンドが正しく動作するか確認してください。
5150

5251
### 3つのOS向けにまとめてビルド
5352
- Github Actions で```Upload Dlls``` というワークフローを手動実行すると、
54-
CIの成果として3つのOS向けにビルドしたライブラリをまとめてダウンロードできる
53+
CIの成果として3つのOS向けにビルドしたライブラリをまとめてダウンロードできます
5554

5655
### Windowsでの手動ビルド
5756
#### C++のビルド
58-
* Visual Studioのローカルフォルダーを開くからcloneしたリポジトリを開く
59-
* 一度cmakeこけるので再度cmakeする。(CMakeLists.txt開いてCtrl+S)
60-
* ビルド実行する。(Ctrl+Shift+B)
61-
* `plateau_test`を実行することでユニットテストを実行可能
57+
* Visual Studioのローカルフォルダーを開くからcloneしたリポジトリを開きます
58+
* 一度cmakeこけるので再度cmakeします。(CMakeLists.txt開いてCtrl+S)
59+
* ビルド実行します。(Ctrl+Shift+B)
60+
* `plateau_test`を実行することでユニットテストを実行可能です
6261
#### C#のビルド
63-
* ```wrappers/csharp/LibPLATEAU.NET.sln``` を開く
62+
* ```wrappers/csharp/LibPLATEAU.NET.sln``` を開きます
6463
* ビルドする。ただしC++側に変更があった場合、
65-
最新のDLLをC#側にコピーするため「ビルド」ではなく「リビルド」を選択する
66-
* C#ユニットテストも合わせて実行可能
64+
最新のDLLをC#側にコピーするため「ビルド」ではなく「リビルド」を選択します
65+
* C#ユニットテストも合わせて実行可能です
6766

6867
### Linuxでの手動ビルド
69-
利用する Linux は、Unityの対応OSに合わせて Ubuntu 18 とする
70-
それより新しいバージョンのUbuntuでビルドすると、Ubuntu 18 には存在しないライブラリに依存してしまうのでUnityで実行不能となってしまう
68+
利用する Linux は、Unityの対応OSに合わせて Ubuntu 18 とします
69+
それより新しいバージョンのUbuntuでビルドすると、Ubuntu 18 には存在しないライブラリに依存してしまうのでUnityで実行不能となってしまいます
7170
#### C++のビルド
72-
* Ubuntuに入っているデフォルトの cmake ではバージョンが古い可能性がある
73-
その場合は新しいcmakeをマシンにインストールする
74-
* Ubuntu 18 はデフォルトでは git lfs がないので、`sudo apt install git-lfs` する
75-
* Ubuntu 18 のデフォルトのコンパイラは g++-7 となっているが、それでは古いので g++-9 を導入する
76-
* OpenGL API が必要なので、なければ以下のコマンドでインストールする
71+
* Ubuntuに入っているデフォルトの cmake ではバージョンが古い可能性があります
72+
その場合は新しいcmakeをマシンにインストールします
73+
* Ubuntu 18 はデフォルトでは git lfs がないので、`sudo apt install git-lfs` します
74+
* Ubuntu 18 のデフォルトのコンパイラは g++-7 となっていますが、それでは古いので g++-9 を導入します
75+
* OpenGL API が必要なので、なければ以下のコマンドでインストールします
7776
```
7877
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
7978
```
80-
* glTF-sdk のビルドのために PowerShell が必要なので、[このWebページ](https://learn.microsoft.com/ja-jp/powershell/scripting/install/install-ubuntu?view=powershell-7.3)を参考に Ubuntu向け PowerShell をインストールする
79+
* glTF-sdk のビルドのために PowerShell が必要なので、[このWebページ](https://learn.microsoft.com/ja-jp/powershell/scripting/install/install-ubuntu?view=powershell-7.3)を参考に Ubuntu向け PowerShell をインストールします
8180

82-
* 以下のコマンドを実行する
81+
* 以下のコマンドを実行します
8382
```
8483
cd (プロジェクトのルートディレクトリ)
8584
cmake -S . -B ./out/build/x64-Release/ -G "Ninja" -D CMAKE_BUILD_TYPE:STRING="RelWithDebInfo" -D CMAKE_INSTALL_PROGRAM="ninja" -D CMAKE_CXX_FLAGS="-w"
8685
cmake --build ./out/build/x64-Release/ --config RelWithDebInfo
8786
```
8887
#### C#のビルド
89-
* マシンに dotnet をインストールする
90-
* 以下のコマンドを実行する
88+
* マシンに dotnet をインストールします
89+
* 以下のコマンドを実行します
9190
```
9291
cd (プロジェクトのルートディレクトリ)
9392
cd ./wrappers/csharp/LibPLATEAU.NET
9493
dotnet build -c Release
9594
```
96-
* 合わせてユニットテストもする場合は以下を実行する
95+
* 合わせてユニットテストもする場合は以下を実行します
9796
```
9897
dotnet test -c Release
9998
```
@@ -110,54 +109,40 @@ dotnet test -c Release
110109

111110
## サンプル
112111
### log_skipped_elements
113-
パース出来なかった要素をすべて列挙してくれる
114-
Visual Studioの実行ターゲットを`log_skipped_elements.exe`にして実行する
112+
パース出来なかった要素をすべて列挙します
113+
Visual Studioの実行ターゲットを`log_skipped_elements.exe`にして実行します
115114

116115
### export_obj
117-
.obj, .mtlをエクスポートしてくれる
116+
.obj, .mtlをエクスポートします
118117

119118
## デプロイ
120119
### Unity
121-
PlateauUnitySDKへの導入については、そちらのREADMEを参照のこと
120+
PlateauUnitySDKへの導入については、そちらのREADMEを参照してください
122121

123122
## ディレクトリ構成
124123
- 3rdparty
125-
- 外部ライブラリはすべてここにsubmoduleで追加する。
126-
- libcitygml
127-
- citygmlパースライブラリ。変更するため本家をフォークしている。
128-
- xerces-c
129-
- libcitygmlの依存ライブラリ。xmlパースライブラリ
124+
- 外部ライブラリはすべてここにsubmoduleで追加します。(fbx_sdkは例外です。)
125+
- 利用ライブラリについては後述の「ライセンス管理」を参照してください。
130126
- data
131-
- テスト用のデータを置く。ビルド時に出力先ディレクトリにコピーされる
127+
- テスト用のデータを置きます。ビルド時に出力先ディレクトリにコピーされます
132128
- examples
133-
- サンプルを置く
129+
- サンプルです
134130
- include
135-
- ヘッダファイル一式を置く
131+
- ヘッダファイル一式です
136132
- src
137-
- 内部実装のソースコードを置く
133+
- 内部実装のソースコードです
138134
- test
139-
- ユニットテスト
135+
- ユニットテストです。
140136
- wrappers
141-
- 他言語向けのwrapper実装を置く
137+
- 他言語向けのwrapper実装です
142138
- .github/workflows
143-
- Github Actions で自動テストを行うための手順を記載する
139+
- Github Actions で自動テストを行うためのファイルです
144140

145141
## テストデータ
146-
テストデータの詳細については ```data/README.md``` に記載している
142+
テストデータの詳細については ```data/README.md``` を参照してください
147143

148144
## モックサーバー
149-
モックサーバーについては [PLATEAU-API-Mock-v2](https://github.com/Synesthesias/PLATEAU-API-Mock-v2) を参照。
150-
151-
# 社外の方へ
152-
お手数をおかけして申し訳ございませんが、社外の方が libplateau をビルドするには追加の手順が必要です。
153-
ビルドを試みられたなら、このリポジトリを clone して `submodule update --init` したとき、`fbx_sdk`をクローンできないのに気付いたかもしれません。
154-
fbx_sdk は Autodesk社が公開するSDKです。これは自由に製品に組み込んで良いものの、オープンソースではなく、再配布は禁止となっております。
155-
そのため、libplateau 自体はオープンソースですが、例外的に fbx_sdk のみプライベートリポジトリとさせて頂いております。
156-
ビルドするためには、Autodesk社が配布しているSDKを指定のディレクトリに配置する必要があります。
157-
- [Autodesk社のWebサイト](https://www.autodesk.com/developer-network/platform-technologies/fbx-sdk-2020-3) から、各OS向けのFBXSDKをダウンロードしてインストールします。
158-
- インストールして得られるファイルを、次のディレクトリ構成に合うように配置します。
159-
- `3rdparty/fbx_sdk/2020.3.1` 以下に配置します。
160-
- `2020.3.1` 以下のディレクトリ構成は、別添のテキストファイル `file_tree_of_fbxsdk.txt` を参照してください。
145+
モックサーバーについては [PLATEAU-API-Mock-v2](https://github.com/Synesthesias/PLATEAU-API-Mock-v2) を参照してください。
161146

162147
# 実装上の注意
163148
## 文字コード

0 commit comments

Comments
 (0)