だるプロ

だるい。毎日がだるい。そんなプログラマーのメモ。UE4,Unity,C++、その他趣味でやってる作業を書いていきたいな

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やドキュメントの一部にはその時のものが残っていたりします。
最初なのでメリットデメリット書いていこうと思います。

メリット

  • 強力なフレームワーク:ドッキングウィンドウ、Do/UnDo機能のサポート、その他多数
  • ゲームエディタ用に設計されている
  • C#で作れる

デメリット

  • 日本語の情報が少ない
  • Windowsでしか動作しない
  • 慣れが必要

こんな感じですかね。
Windows以外でも動かしたい場合は有料になる場合もありますがQtとか使ってもいいのかも。でもC#で書けると楽ですよね。
また、sonyさんがATFを使用したレベルエディタ(配置ツール)も用意しているので、ある程度拡張方法がわかります。
https://github.com/SonyWWS/LevelEditor

セットアップ方法はgithubwikiに書かれています。
簡単です。落としてきてビルドしてスグに動きました。
https://github.com/SonyWWS/ATF/wiki/ATF%20Getting%20Started_j

2014/10の時点ではVisualStudio2013,VisualStudio2010でビルドできました。
レベルエディタの方はVisualStudioのバージョンによっては出来なかったりするので、気をつけてください。

それにしても、日本語の紹介サイトが無さ過ぎる。
パッと見た感じは凄くいいものですが、日本人にはとても敷居が高くなっている気がします。
これからは、少しずつですがプログラム内容についても書いていこうと思います。
目指せ!独自ツール

.gitignore 設定が反映されない場合の対応

プロジェクト管理にgitを使うことにした。
普段gitは使用していないので、全くの初心者である。

バージョン管理ツールではよくある、
「ファイルの除外リスト」を作る際につまづいてしまったことをメモしておきます。

.gitignoreファイルとは

  • 特定のファイルを管理ツール側には登録したくない!という時に使用する
  • 置いたディレクトリ以下の階層に適応される
  • 詳しくはググって


以下、つまづいたところ

.gitignoreが反映されない!

ネットで検索したところ、既にgit管理下に登録されてしまったファイルは、
ファイルがキャッシュにのっていて.gitignoreファイルで指定しても反映されないらしい。
そんな時の手順

  • 作業状態を消すので、ローカルの変更をアップしておくか、別の場所に保存しておく
  • キャッシュのクリア「git rm -r --cached .」
    • 最後の"."はディレクトリorファイルを指定する。トップディレクトリから全てのキャッシュを消したいなら"."
  • あとはコミット、プッシュするだけ。

SourceTreeを使用している場合は、
「操作」>「ターミナルで開く」を選択するとgitコマンドが使用できます。

それでも適応されないぞ!

という事で、ココからが本番。

実は、.gitignoreファイルは更なる制限がありました・・・
それは、文字コード!!
完全に落とし穴・・orz

ネットからコピペした事が原因か、UTF-8で保存されていました。

こんな理由で無効化されるんかい!
SJISに変換しましょう。
変換の仕方が分からなければ、メモ帳に目コピで書き直せばSJISで保存されます。

詳しいルールは不明ですが、直ったので良しとします。

OneNoteの無料版と有料版の共有について

少人数プロジェクトにてOneNoteを使おうとしています。

流れとしては、

  • アカウント上に1つのノートブックを作成
  • 全員で共有する

そこで有料版と無料版でノートを共有できるのか??という疑問が!

試したのは以下になります
Win7 デスクトップPC 無料OneNote
Win8 SurfacePro3 有料OneNote
iPhone5 アプリ

結果:
今のところ、大きな問題はありません。やっほい
有料と思われる機能を使うと見れなくなる可能性はありそうですね。

ただ、同時にOneNoteに書き込んでいるとかなりレスポンス落ちます・・・
テキスト書き込みの時間が遅れるのは少し不便ですね

OneNote共有していて便利な点としては

  • 出先のケータイでも確認できる
    • 書き込みとかはメンドウだけども、閲覧はそこまで不便じゃない
    • 企画・仕様書とかもノート内に作れば編集も形成も楽

運用はこれからなので楽しみです!

OneNote2013のセットアップ

Microsoft Office OneNote 2013の無償版を使おう!

ということで、セットアップのメモ

 

・MSアカウントを作成

  メールアドレスは何を使用しても大丈夫

  Microsoft アカウント登録手続き|Microsoft アカウント

・MSからOneNoteクライアントをインストール

  OneNote 2013 のダウンロード

  実際は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無償版で制限されていること

・セクションごとのパスワード設定っぽい

複数アカウントでの共有は出来ました 

 

それにしても、ブログの「見たまま編集」はとてもやりづらいですね・・・