タグ

ブックマーク / tsubakit1.hateblo.jp (28)

  • はじめてゲーム開発する前に知っておくべきこと - テラシュールブログ

    ゲーム開発を初めた時、大体躓くケースって似てるなー」と思ったら、素晴らしい動画があったので、この動画に自分の経験も混ぜた物をココにメモします*1。 元動画は当に素晴らしいので、是非一度見るのをお勧めします。 なお、ピンポイントで日語字幕のみありません。日語版も公開されました。 www.youtube.comHow to Start Your Game Development - Unity ゲーム開発を始める前に 小さな目標から始める 自分に出来ることを使う あきらめない 関連 ゲーム開発を始める前に 多くのゲーム開発初心者は、ゲームを作ろうと色々やったあと最初のゲームを作り終わる前に止めてしまいます。 この大体の理由は、満足できるようなゲーム作りの経験は得られない、何の成果も出せなかったといった理由です。 これは、そんな泥沼に陥らないための幾つかのアドバイスです。 小さな目標から

    はじめてゲーム開発する前に知っておくべきこと - テラシュールブログ
    snaflot
    snaflot 2018/07/31
    昔に比べて無料の開発環境は圧倒的に上がった代わりに、無料ゲームの数もハードルも果てしなく上がってしまった
  • 【Unity】アプリに含めるアセットを抑えて、アプリサイズを小さくする - テラシュールブログ

    今回は、Unityプロジェクトからアプリケーションをビルドした際、Unityプロジェクトに含まれるアセットについてです。 Assets以下のアセットは全て含まれる訳ではない Resourcesフォルダ以下のアセット Resourcesは使わないサブアセットも全て含める Spriteは少しルールが異なる 読めない(インポート出来ない)アセットは含まれない BuildSettingsに含まれているSceneが参照するアセット PreloadAssetsやAlwaysIncludeShaderで指定 StreamingAssetsとPluginsはそのまま含まれる スクリプトは大体含まれる アプリサイズを減らす為には 関連 Assets以下のアセットは全て含まれる訳ではない Unityはアセット(TextureやModelやAudioやScript等)を使用する場合、Assetsフォルダ以下に配

    【Unity】アプリに含めるアセットを抑えて、アプリサイズを小さくする - テラシュールブログ
    snaflot
    snaflot 2016/08/19
    参考になります
  • 【Unity】シーン間でスコアを共有 まとめ - テラシュールブログ

    Unityの特性として「シーン遷移(LoadLevel)時にオブジェクトを破棄」します。このため、オブジェクトにデータを持たせている場合は破棄されてしまします。 しかしシーン内で解決する問題だけでなく、ゲームの進行では必ずといってよいほどシーン間のデータのやり取りが必要になります。 このデータの扱いは、先にやり方を決めておかないと後で色々と調整が発生して面倒くさい事になります。 目次 目次 static(静的な)オブジェクトとして保持する オブジェクトを破棄されないようにする オブジェクトは破棄されないし重複もしない シーンを加算ロード・アンロードでオブジェクト破棄を行わない アセットのインスタンスにデータを格納 データを外部に保存する static(静的な)オブジェクトとして保持する 一番手っ取り早い方法は、staticな変数に格納することです。 staticで格納した値はインスタンス(

    【Unity】シーン間でスコアを共有 まとめ - テラシュールブログ
  • 【Unity】 タイルマップ、9スライス、スプライトのポリゴン調整、他… 2D Experimental Preview がパブリックで触れるように - テラシュールブログ

    Unityの2D機能(ベータ版)が一般公開になったみたいです。 機能群 タイルマップ よくあるタイルマップが追加されました。 よくあるタイルマップのように、並べると自動的に繋いでくれる設定です。 ちなみに、SetPassはちゃんとソレナリに節約してくれるみたいです。 グリッド制御 タイルアセットの設定 タイルマップのパレット 9 Slice スプライトを引き伸ばした時に、テクスチャを繰り返したりします。 要するにUGUIのスライスと同じようなものです。コレがSpriteで無かったのでuGUIでアクションゲームを作るといった不毛な事をするケースもありましたが、まぁこれで安心。 Outline Editor スプライトのポリゴンを設定します。 腕の間等、隙間に穴を設定する事も可能みたいです。 Sorting Group スプライト群を1つのグループとして描画順を制御しています。 少し分かりにく

    【Unity】 タイルマップ、9スライス、スプライトのポリゴン調整、他… 2D Experimental Preview がパブリックで触れるように - テラシュールブログ
  • uGUIのアスペクト比を固定する(修正版) - テラシュールブログ

    以前uGUIのアスペクト比固定方法について記載しましたが、バージョンアップに伴い方法が変更されていたので新しい方法を書いておきます。 アスペクト比の固定 アスペクト比の固定は所謂レターボックスと呼ばれる手法を使用します。また、厳密にはアスペクト比の固定ではなく想定解像度の設定による複数解像度の対応を行います。 この機能であれば複数のアスペクト比だけでなく複数の解像度にも対応することが出来ます。最近の解像度は「600x800から2160x3840」まで非常に幅が広いので(そのくせ画面サイズはそこまで変わらずっていう)物のサイズがリアル解像度に依存しないこの方法は若干使えます。 設定方法 設定方法を紹介します。と言っても、実は先日のuGUIでノベルゲームのようなものを作る。その1で紹介しています。 メニューバー>GameObject>UI>Panel で、UIのベースを作成します。 作成したC

    uGUIのアスペクト比を固定する(修正版) - テラシュールブログ
  • 【Unity】ゲーム内で何がどの程度メモリを消費しているのか確認する MemoryProfiler - テラシュールブログ

    ゲーム内で使用してるメモリを把握するのに少しだけ便利なMemory Profilerについてです。 ゲーム内で使用しているメモリ 導入方法 使い方 ゲーム上のメモリを取得する アセットの追跡 追記(テクスチャの中身を知りたい場合) 関連 ゲーム内で使用しているメモリ ゲーム内で使用しているメモリは、ProfilerのMemoryの項目で確認する事が出来ます。ここでは「Assets(使用中のアセット)」「Not Saved(実行時に生成されたアセット)」「Building Resources(エンジン内に含まれるアセット)」「Scene Memory(シーンに含まれるアセット)」といった項目で分別されています。 しかし単純に「細かい事は良いからUnityがメモリ不足で落ちたから、一番重い項目を知りたい」といった場合は多々存在します。 そんな時にMemory Profilerは割と直観的に分か

    【Unity】ゲーム内で何がどの程度メモリを消費しているのか確認する MemoryProfiler - テラシュールブログ
  • 【Unity】プロジェクトに不要なアセットをプロジェクトから退避するエディタ拡張を作ってみた - テラシュールブログ

    追記:Unity 2017で動作しない不具合があるかもしれません。現在確認中 Unityプロジェクトには様々なアセットが含まれます。そういったアセットの中から「ゲームの進行に必要な最低限のアセット」を残しプロジェクト外へ退避するアセットを以前に自作してみました。 これの続きです。 tsubakit1.hateblo.jp 得られる効果 機能 コードをストリップする意味 試しに実行してみる 参照関係はXMLにキャッシュ 使い方 UIの説明 まずはリソースのみのストリップがおすすめ 指定フォルダ内のみチェック キャッシュをクリア ストリップ後に不具合が出たら 次の予定 得られる効果 効果としては「コンパイル時間の短縮」「HDD容量の節約」「プラットフォーム切り替え時間の短縮」「不要なファイルを消してプロジェクトをシンプルに」「ゲーム再生時の待ち時間が短く」「エディタが少し軽くなる」等々の効果

    【Unity】プロジェクトに不要なアセットをプロジェクトから退避するエディタ拡張を作ってみた - テラシュールブログ
    snaflot
    snaflot 2016/05/23
    試してみる
  • Unityで2DスケルタルアニメーションするUni2Dの使い方について - テラシュールブログ

    Uni2Dの使い方について、以前書いた記事が古かったので新しくします。他にも興味のあるアセットがあれば、教えてくれると嬉しいです。 http://u3d.as/content/bento-studio/uni2d/37H スプライト(2D絵)をシーンに配置する メニューバー > Uni2D > Sprite Editorを選択してスプライトエディタを開きます。 Projectビューの画像を選択してシーンへドラッグ&ドロップします。 これでシーンにスプライトが配置されます。 スプライトをパックする Uni2DはUnity2Dのスプライトパックの機能ではなくオリジナルのパックを使用します。 シーンに配置したスプライトを選択します。 Uni2DSpriteコンポーネントのUse Atlasを選択し、登録したいAll Atlasesから登録したいAtlasを選択します。(無ければCreate Ne

    Unityで2DスケルタルアニメーションするUni2Dの使い方について - テラシュールブログ
  • Unityで2Dモバイル性能のための46のTips&Tricks(導入・物理演算について) - テラシュールブログ

    素晴らしいTips集で翻訳が無かったので訳そうと奮闘して数週間、面倒になったので分かる部分だけ超訳してしまうことにした。 勿論、正確な内容ではないので英語を読めるひとは是非とも原文を読んで欲しい。そして間違った解釈の部分を指摘して欲しい。 (色々な意見を聞いて修正していくのがUnity的って感じですよね ← 言い訳) また、内容自体も3Gをベースにしているので大分古い内容の所がある。もし「これ納得いかない」等の内容があればコメント欄・Tweet等で話し合いたい。 ちなみに全体のトピックはこんな感じ。 ・物理演算について ・スプライトとテクスチャについて ・ロード、セーブとオブジェクトへのアクセスについて ・サウンドについて ・UIについて ・ビルドオプションについて 続きや正しい内容が気になる方は是非とも原文を読もう。 46 Tips & Tricks for 2D mobile Perf

    Unityで2Dモバイル性能のための46のTips&Tricks(導入・物理演算について) - テラシュールブログ
  • 【Unity】CPUプロファイラでパフォーマンスを改善する 前編 - テラシュールブログ

    ゲームを作っているうちに、何か重い的な事もあるかもしれません。そんな時、プロファイラを使用して重い部分を発見・改善する必要があります。 Unityの標準プロファイラはXcodeのInstrumentsよりも精度で劣りますが、サクっと確認する上では結構使い勝手の良い機能です。あとWindowsでも動きます。 今回はこのプロファイラを使用して、パフォーマンスのボトルネックを探す方法についてメモします。今回は「追う方法」についてです。 パフォーマンスの現状を知る CPU負荷の全体像を知る フレーム落ちするような処理の理由を知る 処理に時間がかかっている所を探す DeepProfileとProfiler.BeginSampleの使い分け Deep Profile Profile.BeginSample/EndSample 関連 パフォーマンスの現状を知る まずは現状のパフォーマンスを把握する所から

    【Unity】CPUプロファイラでパフォーマンスを改善する 前編 - テラシュールブログ
    snaflot
    snaflot 2016/05/10
  • 【Unity】uGUIでスプライトアニメーションするには - テラシュールブログ

    uGUIでスプライトアニメーションを行う方法についてです。 難しい事は全くないのですが、気づかないと分からないかもしれないので、一応ここに書いておきます。 下のGIFはキャラクターアニメーションをuGUIで行って居るので影付けたりアウトライン付けたり、キャラの位置を画面端とか置いたり、そういったことが簡単に出来ます。 uGUIでスプライトアニメーション アニメーションの制御 関連 uGUIでスプライトアニメーション uGUIでスプライトアニメーションを行う場合、SpriteRendererのアニメーションと同じような感じでスプライトをアニメーションに登録すればOKです。 ただしuGUIのImageとSpriteRendererでは若干手順が異なります。 uGUIのスプライトアニメーションを作るには、まずはAnimationClipを作成します。Animationウィンドウを(メニューバー>

    【Unity】uGUIでスプライトアニメーションするには - テラシュールブログ
    snaflot
    snaflot 2016/05/09
  • Unityの2DやuGUIのパフォーマンス最適化についての7つのTips - テラシュールブログ

    最適化というか、改善する話です。 モバイル向けに作った時に妙に遅かった場合、この辺りの要因が絡んでいるケースが多い印象です。この辺りは作る際に確認しながら作ると、後々痛みが少なくて良いかなと思います。 目次 目次 プロファイラで確認する エディタ上で動かすプロファイラの注意点 メソッド毎の負荷について DrawMeshを抑える バッチングされない謎の理由 バッチングしやすくする為には フィルレートに気をつける よくあるフィルレートで死ぬパターン フィルレート対策 uGUIにおけるフィルレート対策 Unity 2Dにおけるフィルレート対策 解像度を下げる ゲーム画面は低解像度、UIは高解像度 バッチについて注意すべき事 フォントの扱いについて テクスチャ更新時のスパイク 2つの対策 UIを動かす(変形させる)コストについて 物理演算について その他… VSYNCについて Tweenとか Pi

  • 特定ルートを巡回したりする方法[Unity] - テラシュールブログ

    ゲームを作成している内に、村人や敵兵を特定のルート巡廻させたり、障害物を特定ルートで動かしたり、レーシングゲームでカートを周回させたり等々、そういったギミックを作りたくなります。 この「Unityで特定のルートを巡回する」方法は、パっと思いつく限り、以下の3つの方法が考えられます。 一つがAnimationで巡回アニメーションを作成してしまう方法、二つ目がTweenで時間指定でオブジェクトを移動させてしまう方法です。この二つは非常に簡単に巡回システムを構築することが出来ます。そして3つ目が、Navmeshを利用した巡回です。 アニメーションが汎用的ならばAnimation、汎用的で無いならTween、地形が複雑ならNavmeshを選択すると良さそうです。 アニメーションを使用した巡回 アニメーションを使用した巡回は巡回の中でもっともシンプルです。たとえば、特定のオブジェクトの周りを巡回する

    特定ルートを巡回したりする方法[Unity] - テラシュールブログ
    snaflot
    snaflot 2016/05/06
  • 【Unity】Unityでトランジションを使用した綺麗な場面転換(uGUI対応版) - テラシュールブログ

    以前に紹介した「場面転換」をよりスムーズな感じで行う処理ですが、uGUIに対応させるついでにUI単位で削除出来るようにしました。 UnityでuGUIのトランジション。パターンはマスク画像(白黒画像)を使用。トランジションするUIの下にあるUIも一緒に消える pic.twitter.com/YmJPSmAowy — 椿 (@tsubaki_t1) 2015, 10月 28 新しいFade Cameraは、ここからダウンロードできます。 サンプルはここからダウンロードできます。 目次 目次 新しいFade Camera 普通のトランジション設定 UIトランジション設定 スクリプトによる制御 関連 新しいFade Camera 今回のバージョンから、uGUIを基として動作するようになっています。 「最前面でuGUIのImageがエフェクトをかけて場面転換する」理屈です。 これの応用で、「テキ

    【Unity】Unityでトランジションを使用した綺麗な場面転換(uGUI対応版) - テラシュールブログ
    snaflot
    snaflot 2015/11/04
  • 【Unity】uGUIのテキストがボケる問題の対策について - テラシュールブログ

    Unityの新しいUIシステム、通称uGUIフォントがボケる問題についてです。 以前に UnityのuGUIのテキスト表示機能について解説してみる で解説していますが、もう少し詳しく紹介します。 目次 目次 uGUIフォントがボケる問題の対策 ScreenSpaceの場合 World Spaceの場合 高すぎる解像度はパフォーマンスに悪影響が出る フォントのフィルターモード切替 関連 使用したアセット uGUIフォントがボケる問題の対策 下の画像のうち一つは意図的にボケるようにしました。多分この問題にあたっている人は上のような画像で表示されているのだと思われます。実際には下のように表示されてほしい訳です。 ScreenSpaceの場合 さてuGUIフォント解像度ですが、フォントUnityのGame画面サイズに対する比率で変化します。 上の二種類のフォントをどうやって撮影したかと言

    【Unity】uGUIのテキストがボケる問題の対策について - テラシュールブログ
    snaflot
    snaflot 2015/11/02
  • 【Unity】ゲームの進行をコルーチンで制御する - テラシュールブログ

    Tanks!のプロジェクトを眺めていた所、ゲームの進行に面白い書き方をしていたのでメモします。 https://www.assetstore.unity3d.com/jp/#!/content/46209 Tanksのゲームの流れ Tanksのゲームの流れはシンプルです。 ゲームの開始時、敵の戦車と味方の戦車をセットアップ ゲーム開始の「Round表示」。このとき数秒停止 ゲーム開始、 お互いに戦車砲で撃ち合う HPが0になった戦車は爆発四散する 勝者が表示され、その画面で数秒停止する 戦車の位置を戻し再戦(Round表示に戻る) 5ラウンド先取で勝者を表示し数秒停止 ゲームとしては一般的な流れのように思いますが、幾つかある「数秒停止する」が地味に面倒くさいです。 これをTanksはコルーチンで解決していました。 Tanksのゲーム進行を制御するコード Tanksのゲーム進行コードは大体こ

    【Unity】ゲームの進行をコルーチンで制御する - テラシュールブログ
    snaflot
    snaflot 2015/10/22
  • 【Unity】指定のプレハブやテクスチャが、どのシーンのどのオブジェクトで使用されているのかを見つける - テラシュールブログ

    プロジェクト内で使用しているテクスチャやメッシュが何処で使われているのかを追跡する方法です。 目次 目次 どのシーンで使用されているかを探す どのオブジェクトがアセットを使用しているかを探す ref検索を一発で行う どのコンポーネントがアセットを使用しているかを探す どのシーンで使用されているかを探す どのシーンで使用されているかを探すには、ReferenceViewerを使用します。このアセットは、該当のアセットを使用しているアセットを逆算的に表示してくれるアセットです。 アセットを選択し右クリック > Find Reference In Projectで該当のアセットを使用しているアセットを一覧表示します。 どのオブジェクトがアセットを使用しているかを探す refを使います。 ref:ファイルパスのような形で記述すると、該当のファイルを参照しているGameObjectを見つけてきます。

    【Unity】指定のプレハブやテクスチャが、どのシーンのどのオブジェクトで使用されているのかを見つける - テラシュールブログ
    snaflot
    snaflot 2015/09/17
  • ゲーム開発37時間を約15分に収めた2Dドット絵ゲーのメイキングムービーが公開 - テラシュールブログ

    アベンジャーズがヴィラン(多分)と戦う、2Dドットライクなベルトスクロールアクションのメイキングムービーが公開されていました。 作成するゲーム内容は下のような内容です。キャプテンアメリカによって、特に理由のない暴力がヴィランを襲います。 www.youtube.com このチャレンジは「37時間の開発でどこまで作れるかを試す」との事で、上記のムービーは驚くべきことに、37時間の作業を15分にまで圧縮しています。つまり、だいたい148倍速で作業が進みます。 実際にどうやって作るってるのか見る ムービーはこちら。 www.youtube.com キャプテンアメリカのサウンドトラック(欲しい)から始まり、当に空の状態からゲーム作りが始まります。 Assetのインポート画面。他にも2D Tool Kit等をインポートします。 2D素材はその場で作成ではなく、用意された物を使用します。 動画にはソ

    ゲーム開発37時間を約15分に収めた2Dドット絵ゲーのメイキングムービーが公開 - テラシュールブログ
  • 【Unity】期間限定で無料になったビジュアルスクリプティングのアセット「Arbor」で遊んでみた - テラシュールブログ

    www.youtube.com 現在、有償で配信されていたArborが期間限定で無償配信されているみたいです。 https://www.assetstore.unity3d.com/jp/#!/content/17883 ArborはPlayMakerのようなビジュアル的に状態の管理を行えるアセットです。 ・Unityで有限ステートマシンを使ってゲーム作りたい! ・だけど、ゲームロジックに依存する挙動は自分でコーディングしたい! ・そんな時に使えそうな有限ステートマシンの編集ウィンドウと、 作りたい挙動にあわせてステートのスクリプトを書けるシンプルなステートマシンアセットです。 FSMはゲームでよくある「○○をしたら△△を実行する。そのあと××は□□にして、それが終わったら▲▲する。でも▽▽の場合は●●を実行する。その数秒後に最初に戻る」といった、複雑な状態を管理するのに使います。 またビ

    【Unity】期間限定で無料になったビジュアルスクリプティングのアセット「Arbor」で遊んでみた - テラシュールブログ
  • 【Unity】Animatorのプロパティやステートへのアクセスを容易にするエディタ拡張 - テラシュールブログ

    ふと思いついて、Animatorのステートやパラメータに定数でアクセスする為のコードを自動生成するエディター拡張を作成しました。 導入方法は ファイルをインポートするだけです。 https://github.com/tsubaki/Unity-AnimatorAccessHelper/blob/master/AnimatorAccessHelper.unitypackage?raw=true この機能を使用するモチベーション Animatorがインポートされた際にAnimatorの持つステートやパラメータへアクセスする為のハッシュ値を持つクラスを作成します。パラメータへのアクセスにはプロパティ・トリガーへのアクセスはメソッドを使うようになり、typoの防止やアクセスが楽になります。 Animaotrを使用 animator.SetFloat ("FloatParameter", 32);

    【Unity】Animatorのプロパティやステートへのアクセスを容易にするエディタ拡張 - テラシュールブログ