いんでぃーづ

ゲームいろいろ、いろいろ自由

Unityで最大級の
セール実施中!!
20210721063114

サンプルソース

Unity : スクリプトを重複して付けてしまうのを防止する

デフォルトではGameObjectに同じスクリプトを2個以上つけてもなんの問題もなく動いてしまうので、 非常に見つけづらいバグのもとになってしまいます。

Unity : スクリプトに必要なコンポーネントを自動でつける

コライダーなどのコンポーネントがついていることを前提としたスクリプトを書いた時、 GameObjectやプレハブにスクリプトをつけるときに必要なコンポーネントを全部手作業でつけたりしていませんか? そんなとき、スクリプトと同時にUnityが自動でコンポーネ…

Unity : MVP行列をスクリプト側で計算してシェーダーに渡す

3Dグラフィックスを描画するときに、ディスプレイ上の描画位置を計算する処理が MVP行列 を使った座標変換です。 モデル行列、ビュー行列、プロジェクション行列を使った変換のことですが、Unity上で ShaderLab を使ってシェーダーを書く場合、 それぞれシェ…

Unity : iOS14のIDFAトラッキング許可ダイアログを実装する

知ってのとおりiOS14から、アプリ内でパーソナライズ広告を表示するためのトラッキングを許可するダイアログを実装する必要があります。 もちろんUnityのゲームでも対応する必要があるので、手っ取り早く最速で 実装する方法をまとめました。 Xcodeのフレー…

Unity URP : スクリプトからカメラのポストプロセスをON - OFFする

Universal Rendering Pipeline の場合、カメラごとのポストプロセスの ON, OFF はカメラをインスペクタで見たときのチェックボックスでします。 この切り替えをスクリプトからしたかったのですが、ひと工夫必要だったのでメモ。 Unity 2020.2 URP 10.3.2

Unity : エッジつきディゾルブシェーダーを自作する

前回 Shader Graph でディゾルブシェーダーを作りましたが、Shader Graph だと ComputBuffer に対応してなくて、 これだとやりたいことできへんやんということで結局コードを書くことにしました。 でせっかくなので紙が燃えるときのようなエッジのエフェクト…

Unity ECS : ジョブでNativeArrayのメモリリークが起きている場合の解決方法

とりあえず動くのを優先してジョブをガリガリ書いていると、以下のようなエラー表示によく出くわします。 A Native Collection has not been disposed, resulting in a memory leak. Enable Full StackTraces to get more details. NativeArray などでメモリ…

Unity ECS : preview版 (0.8.0) Hybrid Renderer V2 を使う

基本的に私は何も考えずにUnityをメジャーアップデートして使うしパッケージもどんどんpreview状態で使っていくタイプなのですが、そのたびに何かしら問題が発生し、開発期間中にハマるときは大体Unityアップデートした直後だったりして「ちょっとお前落ち着…

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” 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.


免責事項

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

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

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