Project Unknown's Blog

Peojct.Unknownと言う名前で細々とアプリ開発をやってるメンバーのブログです。

開発効率を上げ、手軽に拡張できるFSM「Arbor2」紹介

この記事はUnity アセット真夏のアドベントカレンダー 2017 : ATND 17日目の記事です。 はじめに つらつらとArbor2の事例紹介の記事を書いていたら、Arbor2の作者のケットシーウェア @caitsithwareさんに、アドカレの紹介を戴いたので、勢いで参加です(∩´∀`…

ArborでuGUIのボタンを活性/非活性にする

Arbor上からuGUIのボタンのinteractableをいじりたい時のサンプルです。 凄い簡単ですが、以下のコードを「ArborButtonInteractable.cs」とかで好きな場所に保存すると、「挙動追加 > UI > Button > ボタンの活性、非活性」から使えるようになります。 gist.…

Arbor2で状態に応じてButtonの表示/非表示、Buttonタップ時のMessageを検知する

書こう書こうと思っていたArbor2の備忘録を書いていきます。 やろうとすること 凄いざっくりですが、以下の事をやろうと思います。 ゲームにとあるキャラ(今回は猫としてます)が登場したら、ボタンが表示される ボタンをタップしたら、GameManagerクラス等で…

UnityのPosition周りの共通っぽい処理

Writtern by ゆう@あんのうん 以下のゲームジャムに参加し、その成果物をアプリ化すべく、現在リファクタリングを行っているのですが、 今後のゲームジャムであると私が楽になりそうな共通処理を抜き出しました。 project-unknown.hatenablog.com Tranform.…

Unity 1 Week Game Jam お題「夏」

Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう 今回も性懲りも無く参加しました! んで、性懲りもなくレポート書いてきます! 作ったゲーム https://unityroom.com/games/patapata-unon ↑からPlayでき…

Unity2017.1.0f3にUpdateした際につまずいた所

ゆう@あんのうんです。 先週Unity1週間ゲームジャムに参加するにあたり、どうせならUnityを最新版にして参加しようとし、Updateした際に思いっきりつまずいた所の紹介と、私が取った解決法を記載します。 発生環境 Macbook Pro 2014モデル OS Sierra Unity5…

Firebase(AdMob/Analytics)へ移行した際のメモ

またまたKeyHolderの作業中メモです。 お題の通り、Firebaseに諸々集約させようとしており、その際の作業ログです。 前提 KeyHolderでは、以下を利用しております。 広告 AdMob | Google Developers ユーザ解析(ボタンがタップしやすいかの効果測定等) iOS …

Bitbucketでissue管理

Swiftが一瞬嫌いになるくらい最近Swift漬けです。ゆう@あんのうんです。 現在、KeyHolderのSwift化を行うにあたり、issueが凄い出てきてしまったので、ちゃんとissue管理をしようと思い、 普段KeyHolderはBitbucketで管理しているので、Bitbucket上でいい感…

SwiftでKVO (Swift3.0)

今日のお題はSwift(3.0)でKVO。 KeyHolderのSwift化を行っていた際に思いっきり詰まってしまったので、その備忘録です。 そもそもKVOって? KVOは、Key-Value ObservingでObjective-Cから引き継いだ機能の1つで、 指定した変数に変化があった際に、通知を行…

iOS(Swfit)でStatusBarを変更 (preferredStatusBarStyleの代わりになるもの)

今日は超絶簡単な記事をpost. Status barのstyle変更 iOS7からStatusBarのスタイルを変更する際に、以下の様にをoverrideして使えるようになりました。 /// statusの文字を白くする - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleL…

Unity 1 Week Game Jam お題「積む」

出来の良いゲームじゃないけど、生意気にも参加レポート書いていきます。 Unity 1週間ゲームジャム | ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう 作ったゲーム よくありがちな、足場を作って下に降りていくゲームです。 https…

テーブルで余計なセパレータが表示されてしまう問題

どうも、どうまずです。 TableViewのセパレータですが、ちょっと変な動作をします。 次の画像をご覧下さい。 これですが、TableViewのセルは色付き2つだけなんです。しかし、余計なセパレータが引かれてしまい、複数のセルがあるように見えてしまいます。 セ…

Unityのディレクトリ/フォルダ構成 (2017年8月時点)

はじめに Unityが初心者すぎるが所以か、ディレクトリ構成にものすごく毎日頭を悩ませております。 (神経質過ぎる性格なせいで、ディレクトリ等のProject管理系がしっかりしていないと何事も集中できない面倒な性格です。。。) なので、一回自分なりに管理し…

GitKrakenを試してみる

ゆう@あんのうんです。 普段SourceTreeを愛用しているのですが、前々からずっと気になっていたGitKrakenを試してみようと思い、その導入の際のメモを記します。 Git(GitKrakenも)は多彩な機能が搭載されていますが、今回はわかりやすく初期導入からcommit, …

FireBaseの曖昧な点を確認してみた。

FireBaseはGoogleが運営するサービスで、リアルタイムデータベースなどいろいろ使えて便利なようです。 基本無料ですが、容量制限などがあります。有料にすれば、その制限を増やせたり、無制限にすることが可能です。 でも、アプリで使ってみようと思うと、…

A* Pathfinding Project Proを使ってみる

Navmeshの使い方もままならないのに、A* Pathfindingに手を出してしまって、Sample的な使い方をしているのでそのメモ。 以下は今回作ったものです。 適当にTerrainを用意して、カプセルをPlayerに、スフィアを目的地としています。 パターン1 直線距離で移動…

Unity Cloud Buildを試す for iOS

Unity Developerにアクセスして、Projectを作成。 Do it!をClick Git(私はBitbucketを利用しました)のURLを入力 BitbucketをPrivateにしている場合(大体はそうだと思います)、Unity Cloud BuildからアクセスするためのSSHを登録する必要があります。 まず、P…

Vimでペースト時に自動インデントをさせない方法

今日はいつもと違った毛色の投稿を…。 Vim上での作業をちょくちょくするのですが、コピペでVim上に貼り付ける際に、自動インデントされて凄い面倒な事に時たまなります。 しょっちゅう対応方法を失念してしまうのでメモ。 例えば、以下は他のサイト様を参考…

PlayMaker メモ

ゆう@あんのうんです。 購入してから数年寝かし続けてきたPlayMakerをいい加減勉強しようと着手中で、本記事はその備忘録です。 (やる気が続けば・・・ですが、随時更新していきます) 基本機能 状態遷移 ここで右クリックで新規に状態を追加。 Event ここで…

Blenderで作成したAnimationをUnityで動かす (動物編)

ゆう@あんのうんです。 今日も引き続きBlenderと格闘してます。 今日は、Blenderで作成したAnimationをUnityのAnimatorを用いて動かす所まで解説します。 人の形のだと、Rigifyを用いて元々用意されている人形に適した物を適用すれば比較的簡単に設定出来る…

Blender操作方法 For Mac

はじめに ゆう@あんのうんです。 今回の記事は画像が大量に使われていますので、ご注意ください。 今開発しようとしているゲームがゲーム性を考えると、3Dを扱いたいと思い、Blenderを勉強し始めました。 Blenderを2, 3年ぶりに触ってみたら完全に忘れてし…

3D空間に2D(Sprite)を設置する

ゆう@あんのうんです。 概要 タイトル通り、3D空間に2D(Sprite)を設置するやり方です。 使っている絵は即席で作ったので大変お粗末な仕上がりになっているので承知置きくださいmm 作るもの Planeを引いてその上にSpriteを設置します。 作成 まずは3DでUni…

Objective-CからSwiftへ移行する (AppDelegate)

ゆう@あんのうんです。 提供中のKeyHolderですが、 これ半分くらいまだObjective-Cのコードで動いています。 流石に今後の保守の事を考えると、All Swift化した方が良いと思ってがちゃがちゃ開発しているにあたり、ちょっとつまずいた所のメモ書き AppDeleg…

Unityで解像度に合わせて画面のサイズを自動調整する

ゆう@あんのうんです。 久々にUnity絡みのお話です。 今回は、様々な端末が出てきている中、それぞれの解像度に合わせたSpriteとかの表示サイズを自動調整するやり方です。 カメラに以下を仕込む事で実現できます。 void Awake() { // 開発している画面を元…

XCode 8.1が起動しなくなったときにやったこと

ゆう@あんのうんです。 XCodeを立ち上げると、何故かクラッシュしてしまう減少が発生。 外出中に起動しなくなって、なんとかアンインストールしなくて復活したくて、色々いじったのですが、結果として ~/Library/Developer/Xcode/UserData このディレクトリ…

CocoaPodsのpod installがうまく動かなくなった時に試した事。

ゆう@あんのうんです。 開発中のアプリが古いCocoaPodsを使っていたため、ずっとversion upしていなかったのですが、 バージョンを上げる必要性が出てきたので、久しぶりにpod installを打ったら以下のようなエラーが出るようになりました。 $ pod install U…

WKWebViewのSample

ゆう@あんのうんです。 ATSの問題で、WKWebViewが流行ってきました。 (WKWebViewでもUIWebViewでもNSAllowsArbitraryLoadsInWebContentが使えるので、ATSだから…と言うのは色々とミスリードな気がしてますが) ただ、ChromeアプリもWKWebViewに乗り換えたとい…

一部のViewControllerだけ端末の回転をさせる方法

ゆう@あんのうんです。 今日のお題は、一部のViewControllerだけ端末の回転をさせる方法です。 注意点 UINavigationControllerにぶら下がっているViewControllerはshouldAutorotate()は呼ばれません。 UINavigationControllerにViewControllerがぶら下がっ…

Swift3で現在の日付・曜日を取得する方法

だいぶ久しぶりに更新します、どうまずです。 Swift3でいろいろ苦戦してまして、そんな苦悩の一部を記載しときます。 苦戦した点、それは「現在の日付・曜日を取得する。」です。 私の勉強不足か理解力不足か、ネットの記事を参考にしてもできなかったので、…

iTunes Connectの苗字を変更する

超久々の更新。ゆう@あんのうんです。 結婚するにあたり、iTunesConnectの苗字を変更する必要性が出てきて、その際に何をしたのかのメモ。 contact usから連絡 身も蓋もないですが、どう対応して良いのかわからなかったので、contact usから連絡しました。 …

CoreDataでエンティティの新規レコードを生成し、NSManagedObjectのサブクラスにキャストしたら「Could not cast value of type 'NSManagedObject_' to」のエラー

ゆう@あんのうんです。 最近もっぱらswiftばっか開発していて、Objective-Cに戻れません。。。 今日は珍しくCoreDataの話題。 タイトル通りのエラーに悩まされており、解決したので投稿 現象 例えば、以下のCoreDataのエンティティがあるとして これのNSMan…

Unityのスプラッシュ画像表示中に、処理を止める方法 (iOS)

ゆう@あんのうんです。 例えば、Unityの初回シーンで広告を生成して表示しようとした際に、スプラッシュ画像にまで広告が出てしまう事が度々あります。 スプラッシュ画像がちゃんと非表示になったのを確認してから表示するには、初回シーンのUpdate等に以下…

XCode7.0にしたらpod installが出来なくなった件

ゆう@あんのうんです。 久々にXCodeを触ってcocoapodを使おうと、 pod install したら、以下の様なエラーが出るようになりました。 $ pod install [省略] Analyzing dependencies CocoaPods 0.39.0.beta.5 is available. To update use: `gem install cocoa…

XCode7.0でArchiveを作ったらERROR ITMS-90535

ゆう@あんのうんです。 iOS9対応の為、XCode7.0でArchiveを作った際に、ITMS-90535エラーとか出てきて、今まで見たことの無いエラーだったので、その時対応したメモ。 エラーの内容 エラー内容は以下の通り ERROR ITMS-90535: "Unexpected CFBundleExecutab…

iOS9でunity4で利用していた古いArialで文字化け発生

どうも、どうまずです。 iOSのバージョンがiOS9になり、いろいろ問題が発生していますね。ゲームで文字化け発生っていう記事も何個かありましたが、特殊なことやっていない我々には、影響ないだろうと思ってたら、このエラーが直撃しました・・・。リリース…

KeyHolder - お問い合わせのページ

KeyHolder お問い合わせのページ 現在公開中のKeyHolderへ、頂いているご意見の返答ページです。 頂いたご意見・ご感想は、全てスタッフ一同目を通しておりますので、 このblog記事へのコメントもしくは、AppStoreへのレビューにて書き込んで頂ければと思い…

我がトラウマ、広告実装(AdMod)を行う

どうも、久々に投稿させて頂きます。どうまずです。 今回は時間がかかって、大変な思いをした広告実装について書きました。 Unityの場合、公式でサポートされているので、まずはプラグインをダウンロード。 ダウンロード先:https://github.com/googleads/go…

UnityでParseを使ってみる

ゆう@あんのうんです。 多忙すぎて、まったく記事が掛けなかった。。。 職場でサーバサイドの面倒を見ていて、散々な目にあった為、プライベートのアプリでは絶対にサーバ周りはいじらない!!って決めていて、サーバ周りの情報を集めていなかったのですが…

uGUIで設置したUIが端末の解像度によってずれる問題

ゆう@あんのうんです。 Unityで開発していてUI周りでお世話になることになる、uGUIですが、 スマフォアプリなどで端末の解像度にかなり左右される時だと、座標連れが頻繁に発生します。 今回は、その対処法の1つをご紹介します。 まずは、CanvasにUIを突っ…

Unity2DでuGUIで作ったボタンの画像を動的に変更する

ゆう@あんのうんです。 すごい久々のブログ更新な気がする… 今日のお題はuGUIのお話。 以下の様にuGUIで設置したボタンをコード上で動的に変更します。 (ところどころモザイクが入っているのは、開発中のリソースが写り込んで居るためです、申し訳ありませ…

MonoDevelopの設定 (XCodeっぽくする + 日本語入力できるようにする)

ゆう@あんのうんです。 職場で、不可解なバグに長時間悩まされて、リフレッシュがてら記事の更新です。 今日はMonoDevelopの設定を。 XCodeっぽくする XCodeの開発が長いと、どうしてもMonoDevelopのFontに「うっ」っとなったり、残念になったりと…。(私だ…

XCode6.3で実機確認しようとしたら、Ineligible Devicesとなって実機選択出来なくなった時の対応

ゆう@あんのうんです。 今日は久々にXCodeネタです。 実機をつないでXCodeでビルドしようとしたら、Ineligible Devicesなる文言が出て選択出来なくなってしまい、暫く積んでしまったので、その対応備忘録。 (どうやらiOS8.3で起きるっぽい書き込みをちらほ…

Unity 設置したCanvasをスクリプト上で編集する(C#)

ゆう@あんのうんです。 今回は、設置したCanvas(uGUI)をスクリプト上で編集するやり方です。 まずは、Create -> UI -> TextでCanvasと子要素のTextを設置します。 設定はほとんどデフォルトで下図の様にしておきます。 表示上は以下 ここで、Textを操作する…

Unity iPhone実機で確認した際に、動きがもっさりしている時の解決法。(FPS調整)

ゆう@あんのうんです。 ゴールデンウィークをサボりまくったので、ひっさびさの投稿です。 Unityで開発をしていて、実機で走らせてみると、やたらと動きがもっさりして見える事があります。 処理の見直しももちろんですが、FPS(フレームレート)を調整してあ…

SourceTreeでブランチ管理

Branchを切るとき ブランチボタンをタップします。 新規ブランチ名を入力します。 左側のツリーに作成したbranchが表示されます。 Commitする 上記作業を行った後に、コミットボタンをクリックします。 BranchのCommitをMergeする

KeyHolder - シンプルにパスワード管理

頂いたご意見・ご要望・感想、それに対しての回答はこちらのページで回答しております。 シンプルさを追求したパスワード管理 KeyHolder KeyHolderのダウンロードはこちら KeyHolderは余分な機能は排除して、シンプルにパスワード管理を行う事に追求しました…

Unity2d Scriptで生成したGameObjectを子として登録する。

ゆう@あんのうんです。 とあるGameObjectがあり、動的にそのGameObjectに新しいGameObjectを子として登録する方法です。 子としてGameObjectを登録すると、親の座標移動に従って相対的に座標変更できるので、パーティクルとかでGameObjectに一定時間エフェ…

Unity2d PrefabをScript上からロードする。

ゆう@あんのうんです。 喉の調子がずっと悪い…。 Prefabを作成し、それをScript上からロードするやり方です。 Prefabを 上記みたいに、Assets > Resources > Prefabs > Effectsに設置した際、 以下の用にScript上からコール出来ます。 // プレハブを取得 Ga…

Unity シーン間で変数を共有する方法

ゆう@あんのうんです。 シーン間で変数をやり取りしたいケースがママあります。 例えば、メインゲームシーンの結果をリザルトシーンで参照したり... そのやり方を幾つかのメモ。 (SampleはC#です) static変数でのやり取りする クラスのメンバ変数をpublic s…

Unity2d 別のGameObjectにメッセージを送る(SendMessage)

ゆう@あんのうんです。 今日は標題のUnityのオブジェクト間の情報のやり方の1つのSendMessageについてです。 概要 例えば、アクション等で、プレイヤーキャラがダメージを受けた場合、 ゲーム全体を管理しているマネージャーにその情報を送りたいという事…