投稿

6月, 2017の投稿を表示しています

UnityでSceneやPrefabがコンフリクトした時のUnityYAMLMergeについて

■はじめに
Unityでチーム開発する際ってみんなどうしてるんすか案件の話。
つまりは同じSceneやPrefabを触ったときにコンフリクトとか起きると思うんですけど、どうやってその問題を
解決、もしくは回避してますか?
声かけて同じ物を触らないようにするのか -> 運用でカバーしてもミスは避けられない気がする。git-lfsのロック機能を使うのか -> YAMLを登録するのなんかずれてる感じがしません?
■つまり?
SceneとPrefabの作業が被ってYAMLマージすか死ねますね。

■対策

あるのか?あるらしい、以下
https://docs.unity3d.com/jp/540/Manual/SmartMerge.html

■検証

今回は

Unity 5.5.1p4
SourceTree 2.5.2 (111)
の環境で試しました。

解決済みになってるのにコンフリクトが解決されてなかったりしてつらすぎる。うまく動いてなくね?というわけで調査。

* http://labs.gree.jp/blog/2015/04/13836/
* http://qiita.com/Shaula/items/ebe778c232c30aff46fd
* http://tsubakit1.hateblo.jp/entry/2015/05/14/040852

だいぶ参考にさせてもらったのですが、少なくとも自分の環境(5.5.1p4)では上記だけではうまくいかない模様。特に「auto」というファイルでツールを指定するところがうまく行きません。

フォーラムみたり
https://www.reddit.com/r/Unity3D/comments/39bdq5/how_to_solve_scene_conflicts_with_unitys_smart/

色々触ってみた結果、以下のような挙動をするらしい


gitでマージするSceneやPrefabでコンフリクトが発生する。CLIならgit mergetool。SourceTreeなら外部マージツールで設定したUnityYAMLMergeを起動。マージ作業を行ってくれるどうしても解決できない更新があった場合(同じPrefabの同じパラメータを触った場合)/Applications/Unity/Unity.app/Contents/Too…

FirebaseとUnity

個人で製作するUnityアプリとFirebaseは相性が良いのではないか?という直感があるので
改めて検証していこうと思う。
なんで?
サーバー管理が(自前で用意するよりかは)必要ないライブラリが一通り揃ってるホスティング、認証サービスも使える。AdMobとも親和性があるのでPush通知も行ける。開発環境であればほぼノーコストでOK といった利点があると思う。
欠点として考えられるものParseの二の舞いの可能性RDBとは違ったDB管理の理解CloudFunctionがJavaScriptのみなので苦手な人は大変そう移行を希望するときの選択肢のなさ

ドキュメント

https://firebase.google.com/docs/auth/unity/password-auth?hl=ja

lambdaでSlack Interactive Message. まずはHello world

概要http://tech.mercari.com/entry/2017/05/23/095500
をみてGo + AWS lambdaでJenkins氏を叩くか。と思い至る。
環境 ⋊> ~ sw_vers ProductName:Mac OS X ProductVersion:10.12.4 BuildVersion:16E195 ⋊> ~ go version go version go1.8.1 darwin/amd64 ⋊> ~ docker --version Docker version 17.03.1-ce, build c6d412e ⋊> ~ aws --version aws-cli/1.11.97 Python/2.7.10 Darwin/16.5.0 botocore/1.5.60 準備 ドキュメントをかき集める せっかくだからlambdaもGoでhttps://github.com/eawsy/aws-lambda-go-shim
lambdahttp://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html
lambdaを外部にAPIとして公開したいhttps://aws.amazon.com/jp/api-gateway/ 手順 ざっくりと環境インストールと設定を行う。

AWS CLIをインストールAWSにIAMを用意、AccessKey,Secretを作成して、CLIに登録する。←aws configureDocker環境も用意する必要がある(https://docs.docker.com/docker-for-mac/) eawsyにあるコマンドを試しに実行してみる。 wget -qO- https://github.com/eawsy/aws-lambda-go-shim/raw/master/src/preview.bash | bash # "Hello, World!" executed in 0.45 ms の中身を覗いてみると、DockerでGoコードのビルド、 AWS環境の整備(lambdaを実行できるように)、アップロード等を行っている。

lambdaを作成したらAPIGatewayで公開。ひとまず、HelloWorld…