いんでぃーづ

ゲームメインのブレブレブログ。ゲーム,Unity,デザイン,UI/UX

サンプルソース

Unity : Input System でゲームパッドからの入力を受け取る

前回は、とりあえず新しい入力検出方法の Input System を導入してみました。 indie-du.com 今回は PS4のコントローラ を開発用のPCにつなぎ、スティックのアクションを受け取って移動してみます。 サムネ用

Unity : 新 Input System はじめの一歩

ユーザの入力を検出するには Input クラスを使ってするのがイニシエからの手順でしたが、新方式の InputSystem が4月に正式リリースとして Package Manager に登録されていました。 自分はテレビで前作を取り上げてもらってから色々あってずっとゲーム作って…

Unity ECS : Jobで攻撃の総当たり判定を行うときのテンプレっぽいもの

現在ECSでRTS(タワーディフェンス)を作っているのですが、攻撃の当たり判定と敵の当たり判定を総当たりで判定するのにちょっと手間取ったのでメモ。

Unity ECS : メッシュ表示と物理挙動が有効なWorldを自作する

ECSを使うならWorldは自作すべきと言い切れます。 なんでかというと、ずっとAndroidゲームの起動時間が最低でも5秒くらいかかっていて短縮するためにいろいろ試していたのですが、 結局ECSの デフォルトワールドを無効にしただけで1秒で起動するように な…

Unity ECS : JobComponentSystem が not run になる場合はEntityの状態を確認しよう

JobComponentSystem を使っているときに、OnUpdateが一回だけ呼ばれて以降のループが止まる という現象に悩まされたのですが、どうも仕様っぽい動作だったのでメモ。 not run になっている

Unity : ECSのTransform関係の仕様を理解するためのリファレンス

ECSのリファレンスとして使えるの情報がブログとかしか見つからなくて困っていたのですが、公式ページでTransformの解説をしているページをやっと見つけました。 docs.unity3d.com とりあえず各章を流し読みしながら図を追うだけでも勉強になります。 ・今回…

Unity : PureECSで100体のゾンビをランダムウォークさせるサンプルソース

100体でも1000体でもいいのですが、とりあえず物体を大量に動かしたかった。 未来の自分のために ソースコード完全コピペで動かせる のを目指しました。

Unityの背景グラデーション描画用スクリプトをGitHubでForkしてLWRPに対応した

Steamのレビュー待ちのあいだにスマホ用のカジュアルゲームを作っていて、背景に困って 適当なグラデーションでぬりつぶせないかな と探していたらいいものが紹介されていらっしゃった。 baba-s.hatenablog.com github.com でも今作っているゲームは LWRP (L…

SteamAPIで接続しているコントローラ用のボタン画像をスプライトで表示する

SteamInput でゲームパッド対応した際の発展系として、コントローラのボタンの画像(グリフ)をAPIで取得できる。 このとき取得するボタンは アクション 単位での取得になるため、 「"ジャンプ" アクションのボタン画像を取得」というコードを書けば、コント…

Unity : AnimationClipPlayable がクリップの最初から再生されなかったり停止したりしたときの解決

とりえあず PlayableGraph.Evaluate 使ったら最初からすぐ再生されるようになった Unity - Scripting API: Playables.PlayableGraph.Evaluate var playableGraph = PlayableGraph.Create(); Animator ani = transform.GetComponent<Animator>(); var playableOutput = </animator>…

Unity : カメラをベジェ曲線にそって動かす

カメラをキャラのまわりにそってグイグイ動かしたかったのですが、Unityのアニメーション機能およびTimelineを使うとガクガクになってしまうので良い方法を探していました。 「ベジェ曲線で動かす方法ないかなあ」と思っていたら Cinemachine にそのものズバ…

テスト用に用意したシーンを UnityTestRunner で実行する

いつも悩ましい Unity のテストですが、Play Mode でテスト内容を調整しつつ、そのままシーンを Unity Test Runner で実行 できないかなと試行錯誤した結果なんとか実現できたのでメモ。 PlayerTest ディレクトリを作成 テスト用シーンを作成 スクリプトを作…

Post Processing Stack V2の効果をスクリプトから動的に変更する

GitHubの公式リポジトリにやり方書いてあったので試した。 Manipulating the Stack · Unity-Technologies/PostProcessing Wiki · GitHub すでにPostProcess設定済みの前提での解説す。 操作に必要なクラス 各PostProcess効果ごとに定義されているクラス Post…

uGUIシェーダー:フキダシをわきわき動かす

年末にダウンロード版で買った ペルソナ5 をいまさらずっとやってて、このゲームはUI表現の宝庫ですね。勉強になります。 おもしろい表現たくさんあるのですが、キャラクターのセリフが乗ってるフキダシ枠の端っこが動くのがおもしろかったので、マネしてみ…

TensorFlow の勉強を始めたら最初にやる機械学習:MNIST手書き文字分類

前回でTensorFlowのプログラム環境が整ったので、さっそくディープラーニングっちゃおうと思います。 ・前回 indie-du.com 学習する内容 今回使用するコード Keras について コードの解説 データセットの準備 変数の内訳 (x_train, y_train) (x_test, y_test…

Unity : ECS全然わからない状態から、とりあえず使えるようにする

ECSわかった系のスライドを読んでもよくわからなかったので、これはもう実際書いて覚えるしかないと思ったので書いてみました。 今回はGameObjectにつけた自作スクリプトをECSから操作するいわゆる HybridECS をやります。 ECSを使えるようにプロジェクト設…

Unity : VSCode によく使うコードを登録して一発入力

いわゆる スニペット というやつで、定型文を登録しておいて数クリックで書ける機能です。

Unityシェーダー:ハシゴの3DモデルからDNAのらせん構造を作る

完全に一発芸です。

Unityシェーダー:マニュアル操作で波っぽくウネウネさせるシェーダーを書く

前回に引き続きシェーダー話です。 製作中のゲームに 自由にうごかせる波 がほしいなあと思っていて、なんとなくそれっぽい動きが実装できたのでバンザイバンザイ。 波の高さ、細かさ、波の状態を自由自在に操れるという会心作ですゲッヘッヘ

Unityシェーダー:3Dモデルをペッタンコにするシェーダを組む

ディ◯ニーアニメとかでコミカルさを演出するときに、キャラクターをぺったんこにする演出とかありますね。 ゲームだとクローッシー・ロードとかでやってます。 Unityでやるなら transform のScaleをいじればいけるのですが、今回はシェーダを組んでやってみ…

Unity : iOS 10.3以上でレビューダイアログを表示するプラグインを作る

iOS10.3からレビュー依頼の方法が変わり、アプリ内で星を評価するダイアログが標準で用意されました。 なんでも、このダイアログを使わないレビュー依頼は リジェクト対象になる とか。 ということでUnityで作ったゲームでもこの機能を使いましょう。 Unity…

Unity : デバッグ用のシーンを挟み込んでビルドする

端末でのデバッグ中に、各種パラメータ値を書き換えられるデバッグ用シーンを入れてビルドしてテストしたりすると思いますが、リリースしたいときにBuild Settings からシーン外したりするの手間なので、メニューから一発でやる方法を考えました。

Unity : プレハブの値をエディタスクリプトから変更・保存する

エディタ拡張書いたときに、プレハブの値を読むのは以下の記事の方法でできる。 indie-du.com 読んだ上で 書き換える には一工夫必要になる。

Unity : 自作エディタウインドウにプレハブを擬似シリアライズ

エディタウインドウを自作したときに、EditorGUILayout.ObjectField で受けたプレハブ情報を保存しておく場合の方法。

Unity : グローバルなイベント通知の仕組み(EventBus)を自前実装する [C#]

例えば、敵を倒したタイミングで、プレイヤー、UI、他の敵が何らかのアクションを起こしたい場合、どのような経路でイベントを通知するか悩みます。 敵を各オブジェクトが監視したりするのは、参照が絡み合って管理がめんどうくさいです。 そこで便利なのがE…

Unity : ゲーム性を持たせるAnimationCurveの小技3選

こういったウインドウを見たことがあると思いますが、これは AnimationCurve 型のメンバ変数を持つことで、インスペクタから設定することができます。 AnimationCurve - Unity スクリプトリファレンス public class AnimationCurveForRandom : MonoBehaviour…

Unityエディタウインドウを自作する

エディタウインドウ作成方法をよく忘れるのでメモ

Unity2D : 単体スプライトアニメーション用スクリプトの決定版を作ってみた [C#, UniRx]

概要 Unityの機能を使ったスプライトアニメーションでは、単純なものを作る場合でも余計なファイルができてしまう 単体でアニメーション可能なスクリプトを組んだ UniRx使用なので記述がシンプルに & Coroutine使わないので エディタ上で実行して確認可能

UniRx付属のObjectPoolが割とガチで使える件

UniRxの中に知る人ぞ知る(?) UniRx.Toolkit というネームスペースがあり、この中に ObjectPool というクラスが定義されています。 これは 使用済みのGameObjectをDestroyせずに保存(プール)しておき、後で使い回す ことでパフォーマンスに優しいプログ…

MonoBehaviour のメソッドをオーバーライドする [Unity , C#]

C#でプログラムを組む上で避けて通れないのが 継承 ですが、Unity特有のMonoBehaviourクラスの派生クラスを さらに継承 してクラスを作成することができます。 Start関数やUpdate関数をオーバーライド することで、基本処理を共通化することが可能です。


“Unity” and Unity logos are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere, and are used under license.


免責事項

当サイトの広告バナー、リンクによって提供される情報、サービス内容について、当サイトは一切の責任を負いません。

また、当サイトの情報を元にユーザ様が不利益を被った場合にも、当サイトは一切の責任を負いません。

すべて自己責任でお願いします。