【Unity Advent Calendar 2014】git subtreeを駆使して最強のUnityゲーム開発環境を作るぞっ!!

この記事はUnity Advent Calendar 2014の参加記事です。

追記 2018/10/08

初期化とpull、pushを簡単にするシェルスクリプトを書きました。

Git subtreeを楽に使えるシェルスクリプトを作った - タカシカンパニーブログ


Unityでゲームを作っていると
「前に作ったゲームの機能を新しく作るゲームでも使いたい!!」
コンポーネントのバグを直したから他のUnityプロジェクトにも反映したい!!」
ということがあるかと思います。

今回は、git のsubtreeという機能を使って、共通化して使いたいスクリプトコンポーネントを一元管理する方法について書きたいと思います。

共通で使っているソースコードコンポーネントをコピペやExport Packageを用いて他プロジェクトへ移すのが大変…(ヽ´ω`) という方にオススメかと思います。

git subtreeって何?

ざっくり書くと
「gitリポジトリ内に別のgitリポジトリをクローンしてきて取り扱う」 というものです。
git subtreeの詳しい話はこちらをご覧ください。

Unityでゲーム作る時にどうやって使うの?

  1. 自分で作ったスクリプトコンポーネントを一つのUnityプロジェクトにまとめる & gitリポジトリ化する(一元管理)
  2. ゲーム開発をするリポジトリに 1.で作ったgitリポジトリをサブツリーとして取り込む という感じになります。
    前提として、Unityプロジェクトをgitで管理することとなります。

git subtree 使い始めたらどうなった?

個人の感想ですが、

  • スクリプトコンポーネントのブラッシュアップがしやすくなった
  • ゲーム開発スピードが上がった(気がする)
  • バグの修正を反映するのが楽になった

という感じです。

続きを読む

SourceTree2.0.3でgit subtree addをすると、Invalid Pathのエラーが出る件について

  • error: Invalid path <subtree元のファイルパス>
  • error: pathspec <subtreeの受け入れ先のパス> did not match any file(s) known to git.

というエラーが出まくってSourceTreeからgit subtree addできないな〜って思ったら、
サブツリーを追加する画面のローカルパスの項目にフルパスで入力していたのが問題だった。
f:id:takashicompany:20141209002533p:plain

ローカルパスの入力フォーム横のボタンを押してフォルダを選択すると、フルパスで指定されるのが完全に罠だった。
リポジトリ内のローカルパスで設定したらちゃんとgit subtree addが実行された。

タカシカンパニーにWebブラウザのアドレスバー等からメッセージを送信できます

タカシカンパニーにメッセージを送ることができるAPIを作りました。
ブラウザのアドレスバー等からタカシカンパニーにショートメッセージを送ることができます。

URL

http://takashicompany.com/api/im/?message=ここにメッセージを入力します

こういう感じで届きます。
f:id:takashicompany:20141207151042j:plain

作り方

  1. im.kayacに登録
  2. サンプルコード(PHP)を参考に実装

公開したよ

公開したら、いろいろなリアクションがありました。

Webブラウザのアドレスバーから俺のiPhoneにメッセージ送れるようにした結果www - タカシカンパニーブログ

最後に

「読んだよ!」ってメッセージを送る

Unity UIの「ReferenceResolution」が「CanvasScaler」に変更されていた

というわけで、CanvasにReferenceResolutionをアタッチしてゲームのUIを作っていたのですが…

なんでも、Unity4.6 beta21にアップデートすると自動的に置き換えられるそうです。

普通に作業をしていれば問題ないかと。
(自分はbeta20とbeta21の入ったPCで作業していたので、beta20でプロジェクト開いたらMissing Scriptになって焦ったけど)

使わなくなったWindows XP搭載PCをUbuntu + Samba + Dropbox(1TB)でファイルサーバー的なものに変身させた話

Windows XPのサポートが2014年の4月に終了して以来、自宅のWindows XPを搭載していたPCが余っていた。
最近Dropboxの1TBプランを契約し、且つ3TBの外付けHDDが余っていたので、Linux(Ubuntu)をインストールしてファイルサーバー的なものを作ってMacからアクセスしてみた。

手順忘れないようにメモ。

Linuxとかサーバー周りはよく分からんので、見よう見まねで。

続きを読む

Unity上でムービーの作成ができるアセット「Cinema Director」が良さ気!

Cinema Directorという、Unity上でムービー(みたいなもの)の作成できるアセットが良さそう。

f:id:takashicompany:20141008221038p:plain

デモムービーを見ると機能の概要が分かる。


Cinema Director - Visual Editing for Unity - YouTube

Unityのシーン内のCameraやGameObject、キャラクターを組み合わせて、ムービーを作るのに特化したアセットのようだ。

Unityのデフォルトのアニメーションは、個々のキャラクターやオブジェクトをアニメーションさせることはできるが、アニメーションの組み合わせやカメラの移動、SEの再生をするとなるとどうしても煩雑な作りになってしまう。

2014年10月8日現在、50% OFFのセールをやっているので、使いそうな人は買っておくと良さそう。

ちなみに、自分は買うかどうか迷っている中...(便利だけど使うかどうか分からない > < )

話は逸れるが、ムービーを作るアセットだけあってデモムービーがよく出来ているなーと思った。

UnityでNullPointerExceptionが出そうなところはtry-catchじゃなくちゃんとnullチェックしよう!っていう話

ちゃんとnullチェックをするすれば、回避できるとのこと。

そもそも、nullチェックするの面倒だから(チェック箇所が20以上あった)、try-catchでなんとかしようという甘い考えが良くなかった感ある。

けど、学びが得られたので、次からはちゃんとnullチェックする。