Authoring Tools Framework(ATF)プログラミングを学ぶ前に
ATFについてまだまだ勉強中です。
仕事終わりに少し見る程度ではホトンド進みませんね。。。
さて、ATFをプログラムをする前に知っておいたほうが良い内容があるので、
まずはそこをご紹介します。
サイト案内
Wiki
ほとんど英語ですが、ある程度日本語ページも増えてます。今後に期待
Pagesの検索に"_j"と入力すると日本語化されたページが探せます
Forum
フォーラムも用意されているみたいです。ただ、今のところあまり活用されていない模様。
プログラム基礎知識
もちろんC#の基礎は出来ていると仮定します。
しかし、基本C++で書いているプログラマーには馴染みの無い仕組みを使用していますので、そこらへんを説明します。
ATFはMEF(Managed Extensibility Framework)という仕組みで成り立っています。
MEFをキチンと学びたい方はMSDNのサイトをご覧ください。
”Managed Extensibility Framework”で検索すれば、わかりやすく教えてくれる日本語サイトも見つかります。
簡単に説明すると、クラスに欲しいインターフェイスを書いておくと、勝手に検索して渡してくれるという機能です。
class MyApp { .... [Import] private IDocument m_document; // IDocumentを実装したクラスが欲しいよー }; [Export(typeof(IDocument))] // このクラスはIDocumentです class MyDocument : IDocument { ...IDocumentの中身を実装 };
こんな感じの2つのクラスがあった場合に、
MyAppに対して明示的にMyDocumentを渡す必要なく、ImportとExportの属性を見て、勝手にMEFの機能で代入してくれます。
また、このImportとExportで受け渡されるクラスを「コンポーネント」と呼びます。
ATFはこのコンポーネントと呼ばれるクラスを大量に定義し、1つのツールを作ろうというフレームワークです。
そのため、MEF自体の仕組みを知ることが先決なので、まずはMEFの概要だけでもいいので勉強してみてください。
https://github.com/SonyWWS/ATF/wiki/MEF-with-ATF
ATFのWikiにMEFの説明と、MEFがどうATFで使用されているか書かれています。
今のところ、全て英語ページなので、MEFの説明(What is MEF)については別でググった方がわかりやすいです。
コンポーネントの初期化や、ATFコンポーネントの説明の部分は目を通しておくといいかと思います。
ATFは大量のデフォルトコンポーネントを用意していて、基本的にはそれを利用し、自分たちが作りたいアプリケーションに必要な部分だけを追加実装すればツールが作れます。
そのため、ATFが用意しているコンポーネントの仕様・構造を理解し、どう上手く利用するかが開発のキモとなると思います。
僕もまだまだ勉強中ですので、分かり次第ブログに書いていこうと思います。
Authoring Tools Framework(ATF)を使ってみよう
ゲーム用のツールを個人で作ろうとすると、なんとなく見た目がショボくなりますよね。
そこで、今回勉強してみようと思ったのがコチラです。
Authoring Tools Framework (ATF) - SonyWWS/ATF · GitHub
Sony Computer Entertainment の WorldWide Studioが開発、公開しているオープンソースです。
Apache License 2.0というライセンスらしいです。
ライセンスについてあまり詳しくないのですが、個人・企業でも特に問題なく使えそうです。
もともとは、SCE内部の開発で使用されていたようですが、オープンソース化の波に乗って?公開されたようです。
Wikiやドキュメントの一部にはその時のものが残っていたりします。
最初なのでメリットデメリット書いていこうと思います。
メリット
デメリット
- 日本語の情報が少ない
- Windowsでしか動作しない
- 慣れが必要
こんな感じですかね。
Windows以外でも動かしたい場合は有料になる場合もありますがQtとか使ってもいいのかも。でもC#で書けると楽ですよね。
また、sonyさんがATFを使用したレベルエディタ(配置ツール)も用意しているので、ある程度拡張方法がわかります。
https://github.com/SonyWWS/LevelEditor
セットアップ方法はgithubのwikiに書かれています。
簡単です。落としてきてビルドしてスグに動きました。
https://github.com/SonyWWS/ATF/wiki/ATF%20Getting%20Started_j
2014/10の時点ではVisualStudio2013,VisualStudio2010でビルドできました。
レベルエディタの方はVisualStudioのバージョンによっては出来なかったりするので、気をつけてください。
それにしても、日本語の紹介サイトが無さ過ぎる。
パッと見た感じは凄くいいものですが、日本人にはとても敷居が高くなっている気がします。
これからは、少しずつですがプログラム内容についても書いていこうと思います。
目指せ!独自ツール!
.gitignore 設定が反映されない場合の対応
プロジェクト管理にgitを使うことにした。
普段gitは使用していないので、全くの初心者である。
バージョン管理ツールではよくある、
「ファイルの除外リスト」を作る際につまづいてしまったことをメモしておきます。
.gitignoreが反映されない!
ネットで検索したところ、既にgit管理下に登録されてしまったファイルは、
ファイルがキャッシュにのっていて.gitignoreファイルで指定しても反映されないらしい。
そんな時の手順
- 作業状態を消すので、ローカルの変更をアップしておくか、別の場所に保存しておく
- キャッシュのクリア「git rm -r --cached .」
- 最後の"."はディレクトリorファイルを指定する。トップディレクトリから全てのキャッシュを消したいなら"."
- あとはコミット、プッシュするだけ。
SourceTreeを使用している場合は、
「操作」>「ターミナルで開く」を選択するとgitコマンドが使用できます。
OneNoteの無料版と有料版の共有について
少人数プロジェクトにてOneNoteを使おうとしています。
流れとしては、
- アカウント上に1つのノートブックを作成
- 全員で共有する
そこで有料版と無料版でノートを共有できるのか??という疑問が!
試したのは以下になります
Win7 デスクトップPC 無料OneNote
Win8 SurfacePro3 有料OneNote
iPhone5 アプリ
結果:
今のところ、大きな問題はありません。やっほい
有料と思われる機能を使うと見れなくなる可能性はありそうですね。
ただ、同時にOneNoteに書き込んでいるとかなりレスポンス落ちます・・・
テキスト書き込みの時間が遅れるのは少し不便ですね
OneNote共有していて便利な点としては
- 出先のケータイでも確認できる
- 書き込みとかはメンドウだけども、閲覧はそこまで不便じゃない
- 企画・仕様書とかもノート内に作れば編集も形成も楽
運用はこれからなので楽しみです!
OneNote2013のセットアップ
Microsoft Office OneNote 2013の無償版を使おう!
ということで、セットアップのメモ
・MSアカウントを作成
メールアドレスは何を使用しても大丈夫
Microsoft アカウント登録手続き|Microsoft アカウント
・MSからOneNoteクライアントをインストール
実際はweb上からもOneNoteは起動できるので、必要であればでよい
機能としては充実しているため、メインで使用するデスクトップなどでは落としておきたいところ
・WebからのOneNote起動方法
OneNoteのWebページにいってサインインする
Microsoft OneNote | The digital note-taking app for your devices
注意点
インストール中にアンチウィルスソフトアバスト!(Avast!)起動しているとOneNoteがマルウェア認識されて止まってしまった
その場合はアバストアイコン右クリック⇒アバストシールド制御パネル⇒1時間無効にする
を選択すると、インストールが再開されます。自己責任でお願いします。
インストール失敗した場合、OneNoteがアンインストールできないし、インストールもできない・・・残念すぎる
インストール出来なくなった場合は、以下のサイト手順に従ってアンインストールしてください
Fix it というMSのツールを使用することで解決できるようです:How to uninstall Office 2013 or Office 365
ちなみにOSは、Windows7 Professional 64bit版にてインストールを行いました
インストール失敗しなければ簡単だったんですが、一回ミスするととんでもなく大変・・・
OneNote無償版で制限されていること
・セクションごとのパスワード設定っぽい
・複数アカウントでの共有は出来ました
それにしても、ブログの「見たまま編集」はとてもやりづらいですね・・・