勉強不足で至らんブログスマートフォン用の表示で見る勉強不足で至らんブログ勉強不足ですが、何か発信できればと思っています。らくがきらんど」というアプリの開発メンバーの1人として制作して起こった問題を書いておきます。らくがきらんど」がどういうアプリなのか下のツイートの動画にて大体の雰囲気がつかめると思います。2018という、3Dオブジェクトを出してスプレーで塗れるARアプリになります。iOSでは現在リリース中のアプリです。Plane使ってみてるよ...すごくカメラがズームされちゃってるけど...(・c_・。2018そこで問題となったのがカメラが異常にズームされる問題です。いや、めっちゃ原因不明で焦りました。2018動くやんけ!!!何てことはなかったです。原因さえわかれば...Vuforiaでなくても、Androidで描画うまくいかない...コード見直してもわからないという場合には外してみるのもいいのかもしれません。ScriptableObjectセルフQiita転載です。qiita.comはじめにゲームを作っていて、必殺技の作成等を簡単に行えるようにできないだろうか?ということを考えたのが今回の発端です。そこで、ScriptableObjectにパラメーターとメソッドを定義して入れ替えるだけで挙動を変えれると簡単なのでは?と考えついて試してみたので備忘録として書きます。最終的に、以下のようになります。ScriptableObjectの入れ替えで振る舞いが変わります。gifで動かしているプロジェクトは公開しているので、説明読むより触ってみたい!という方はご活用ください。https://github.com/MizoTake/ChangeBehaviourWithScriptableObject一連の流れ最初に、今回の処理がどういう流れで行われているのか書きます。gifにあったCubeはSpaceキーを押すとInspectorから代入されたScriptableObjectの振る舞いを実行します。中身は以下のようになっています。}}SpaceKeyが押されるとBehaviourというクラスのMoveメソッドを実行します。次に、そのBehaviourというクラスです。}}これは、abstractを宣言しているので基底クラスです。継承先で振る舞いを書いて欲しいメソッドを定義しています。今回は、Moveメソッドになります。ScriptableObjectクラスを継承しているので継承先のクラスをScriptableObjectにできるようになります。abstractクラスには、そのまま拡張メソッドを追加できるので共通で何かを行いたい場合等に使うと便利です。(今回はTips程度に書いています。)次にgifの最初にJumpしていたクラスです。}}これはBehaviourを継承してMoveの振る舞いを定義しています。そのためgifでは、JumpクラスがInputControllerのInspectorに代入され、Moveが呼ばれるためジャンプをしていました。ここで便利になるのはScriptableObjectを作成した後、Powerの値を変えることでジャンプの高さも変えることが容易になるという点です。this.Init()で呼び出すことによりabstractの拡張メソッドであるInitが呼ばれます。ここまでが基本的な一連の流れになります。次からは+αで便利だと思った部分を書きます。+αこれは最初のgifでバラバラに実行されていた、ジャンプの振る舞いと色を変える振る舞いを複合して実行しているものになります。色を変えるクラスです。}}ScriptableObjectにした後、InspectorでMaterialを代入しています。Jump同様にInputControllerのInspctorに代入することで動作します。次に複合させたクラスです。}}中身を見ると何てことはないと思います。配列をInspectorから入れて、for文で一気に実行するというものです。Behaviourクラスがあるだけで振る舞いの複合やランダム実行などが簡単に定義でき、Compositeクラス自体もBehaviour継承クラスなので、InputControllerのInspectorに代入するだけで切り替えれるというのは便利だと思っています。以上で今回の記事はすべてになります。(...ScriptableObjectにメソッドが書けるのが個人的に驚きだった)また、ScriptableObjectの作成に関しては、個人的に以下の記事がオススメです。自分のQiita転載ですqiita.comGitHub等からAssetsを持ってきて、アプリをリリースする時などにLICENSEファイルをまとめるのがめんどくさいなぁと思ったりしませんか?僕は数回やってめんどくさいと思いました。Editor拡張でAssets配下の"LICENSE"ファイルを検索して"Assets/USE_ASSETS_LICENSE"にまとめるようにしてみました。これで、ライセンス表記をする際に"Assets/USE_ASSETS_LICENSE"からtextを読んでもいいですし、開いてコピペでもいいと思います。使っていただければと思います。}こういう拡張があったら二番煎じですみません。最近、作り始めたフレームワークの中に入れています。ご興味のある方は是非。約4ヶ月ほどの開発を得て、ひとまず公開できるレベルになったので公開しました!現在、Androidのみ対応です。片手でタップするだけでも遊べます。シンプルにまとめたつもりです。操作も簡単ですが、人によっての遊び方に幅が少しでも出るようにしたつもりです。Unityで制作してます。今回、デザイナーと一緒にやらず1人でどこまでできるのか試すために作ったのですがキャラクターはCubeのままで公開まで行きました。開発途中でちょうどテラシュールブログの方でtsubakit1.hateblo.jpが公開されてタイミングがすごくよかったです。これを見て参考に実装しました。人間のようなキャラクターがなくてもCubeをアニメーションさせるだけで全然違いますね。Storeからではなく古いバージョンであればGitHubから使用できたので使用しました。https://github.com/InvexGames/MaterialUI気になって買ったAssetsもあったんですが開発途中だったのもあり使用しませんでした。・Arbor2GUIで状態管理ができるようになるAssetsです。次回から使っていこうと思っています。アイコンに関してはGoogleが提供しているmaterial.ioを使用することで1人で作っても、アプリっぽい見た目になったと思います。音はdova-s.jpを利用させていただきました!結構、色々な雰囲気の音があってBGMもSEもここで見つけました。Scriptで実装しています。ランキングはアプリのプレイヤー全員が相手ということになります!無料で使えて簡単にランキング等なら作れるのでおすすめです。今回、社会人になって初めて作ったのですが思ったよりも時間がとれなくて焦ってしまいました。PocketでUnity動かして参加していました。途中で、ふと疑問...UnrealEngine動かしたらどうなるんだ?動かしました。www.youtube.comついでにFPSを表示しています。平均20くらいですかね。8であっていたのでゲーム作っていました。Sphicと言います。www.youtube.com球を数珠のようにつなげて蛇にするのですが、あまりうまくいっておりません。対戦させたかったのですが間に合いませんでした。チームで分担していたものの、うまく分担できてなかったような気もしてみます。自分はゲームのメインロジックは触ってないので何ともです。中間発表会が終わりました!|新着情報|大八耐モノ作りの幅がないハッカソン...様々な作り手の方がいるので面白いです。Pocketで参加しておりました。いう2日間あるイベントになります!場所は、前回、今回と変わらずドリコム様の会場を借りる予定です。!!Tweet広告を非表示にするもっと読むコメントを書く次のページプロフィールid:MakeTake趣味でUnityを使って何かしてる人boostして頂けると飛びます。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。