【uGUI】ContentsSizeFitterのサイズ反映をすぐに行う方法と注意点

前提 ContentsSizeFitterのサイズ反映すぐに行う 注意点:ContentSizeFitter をアタッチしたGameObjectがアクティブでないと働かない 前提 ContentsSizeFitterは設定したコンテンツにあわせてRectTransformのサイズを調整してくれるものだが、これは即反映さ…

【uGUI】自作shaderのマテリアルをオブジェクト個別に作成して別の値を適応させる

起きた事象 uGUIのImageに自作のshaderを適応させようとした際に、 マテリアルの値を更新すると適応した全てのImageオブジェクトの反映されてしまいました。 期待値は変更した1つのImageオブジェクトにだけ変更した値が適応されたいです。 【環境】 unity20…

【Live2D】Live2Dで作ったモデルを透過フェードさせる

完成図

【Live2D】Live2Dで作ったモデルをシルエット表示する

完成図

残像が残るボタン演出(ツイステの選択肢ボタンを再現)

ツイステの選択肢ボタンの演出を再現してみたいと思う。タップすると残像?のようなものが手前に迫ってくる演出のことだ。*1 youtu.be 完成図 *1:FGOの選択肢も似てるyoutu.be

【uGUI】Mask配下にあるImageに自作したshaderが適応されない時の回避方法(スクロールコンテンツでおきやすいかも)

起きた事象 以下のような①Canvas直下にあるImageオブジェクトと、②親にMaskコンポーネントを持つImageオブジェクトの2つがあるとします。 どちらのImageにも自作のマテリアル(shader)を適応しています。 話を単純にするためにshaderの中身はマテリアルで指…

【Timeline】AnimationTrackに早送りやスキップがうまく適応されない時に見直したい事

起きた事象 前提として、TimelineのAnimationTrackを使うことで、TimelineからAnimationClipのアニメーションを呼びだせる。 コードからTimelineを操作してスキップ(特定の時間へ即移動)したり、倍速再生したときに playableDirector.time = 5f; //5秒目へ…

【振り返り】unity1week「つたえる」に参加しました。

2023年3月に開催されたunity1weekに初めて参加してきました。

Addressableのことはじめ的な記事。

最近はResourcesをやめてAddressableを使う現場が増えてきたと自分の身の回りでも感じられるようになってきました。(遅いかな?^^;) というわけでこの記事ではAddressableの基本をまとめてます。(全く使ったことない人が見るレベルね) Addressable何がい…

【解像度対応】SafeAreaを跨ぐUIの配置

今回はセーフエリアを跨ぐUIをどう配置すれば、どの端末でもある程度キレイに見えるのかについて考えます。 セーフエリアを跨ぐUIって何?→具体的な例を見ていきましょう↓↓↓ :) こういったレイアウトで、ノッチのない端末であれば単純にセーフエリア内で左…

【PlayableAPI】アニメーションPlayableの使い方

PlayableAPIを使ってモーション(アニメーション)の再生してみます。 Unity側で用意されているモーションを再生する仕組みには、SimpleAnimationやTimelineやAnimationControllerを使う方法がありますが、 そういった高機能な仕組みでは実装しづらい、または…

【PlayableAPI】カスタム(User)Playableの作り方

2023年現在、Unity側が用意しているPlayable APIには アニメーションとAudioを再生するAPI(クラス群)が用意されており、これに加えて、 自分でPlayable APIの機構を使って何かを再生したい場合にカスタムするためのAPIが用意されている。 *1 この記事では、…

Androidビルドで「Android SDK is missing required platform API」エラー出た時の対処法

起きた事象 普段使っているPCではないPCで、 androidでビルドしようとしたら以下のエラ―出てビルドできなかったのでメモ。 一番左の「Update Android SDK」を押す!これで解決する人はおしまい。 対処法 「Update Android SDK」おしたら、以下のエラーがUnit…

【Live2D入門②】Live2Dで作られたモーションをUnityで再生する

▼前回の続き。引き続きサンプルデータとしてマークくん「mark_free_jp」を使います。 www.snoopopo.com Live2D Cudisum エディタ をDL 今回からLive2D Cudisum エディタ側も使っていくので、以下からダウンロードしておく。 www.live2d.com モーションファイ…

【Live2D入門①】Live2Dのモデルをunityで表示する

サンプルをダウンロード www.live2d.com サンプルデータは上記からダウンロードすることができる。 今回は、一番難易度が低い「マークくん」をダウンロードしてみた。→「mark_free_jp」というファイル Unityで2Dプロジェクトを作成 unity hub で new Project…

【Unity】アセットがどこで使われているか確認する方法

・この画像どこで使ってたっけ? ・この画像使ってない気がするから消したいけど、本当に使ってないけ? (てきとーに消して動かなくなる機能とか出てきたらやばいな…) っていう場面はよくあると思うんだけど、そんな時に私がやっていること。 アセットのGU…

【自動化】JenkinsでFirebase App Distributionにアプリをデプロイする(Windows10)

Firebaseのサービスの一つに「App Distribution」というものがある。 DeployGate や TestFlight 等使ったことがある人ならわかるが、それらと同じような機能だ。 apkやipaをビルド→「App Distribution」にデプロイ→テスターや開発者に届くメール内のURLにア…

【C#】C#のenumでメソッドやフィールドを定義する方法

C#

自分はjava出身のなので、C#のenumがメソッドやフィールドが定義できないのが不便だったのですが、 拡張メソッド使ってjavaのenumに近いことができる。 現場でもこれを使っている人が多いので割とスタンダードな方法っぽいです。 基本的な方法 まずは一番シ…

【Unity】スクショとるエディタスクリプト

スクショとるエディタスクリプト プロジェクトのルートディレクトリの直下(Assetsとかと同じ階層)に「ScreenShot」フォルダが作られ、そこに配置される。 using UnityEngine; using UnityEditor; using System; using System.IO; using System.Runtime.Com…

【Unity+C#】メンバ変数のスコープはなるべく狭くしたい!定義の仕方まとめ~

変数やメソッドのスコープは 一番狭く、使う時に広げてね。 というのが私のいつもの方針である。賛否あるかもだけど、今回はその方針の元書きます。 C#の話がほとんどですが、Unityだとインスペクタに表示するかどうかも関係してくるのでまとめた。

【Unity2019.4】ポストプロセス:非URPとURPの適応の仕方の違い

URPと普通の3Dテンプレートから作ったプロジェクト(以下、非URPと書きます)で、 ポストエフェクトの適応方法が違うのでまとめました。 この記事を書いたときの環境 URPか確認する方法 Settingフォルダに設定ファイルがある カメラの設定項目が異なる 非UR…

【Unity】【疑問】SpriteAtlasに入れたSpriteをコードからでなく直接InspecterアタッチしてもSpriteAtlasがちゃんと使われているのか?

UnityのSpriteAtlasについて前から疑問だったのが、直接インスペクターでspriteをアタッチしても、 ちゃんとパッキングされたSpriteが使われているのか?ということである。 なぜそういう疑問を持つかというと、 インスペクタでアタッチした場合、SpriteAtla…

【Unity】asmdef(Assembly Definition)について調べたことまとめ

asmdef(Assembly Definition)を使うプロジェクトに当たったので、どういうものなのか調べたことをまとめた。 asmdef とは何なのか そもそもなぜdllを分けたくなるのだろう? 配布するようなライブラリを作る場合は必須 コンパイル時間の短縮になる? asmdef…

【CRIWARE】Criware用のサウンドデータ(キューシート)を作成する

はじめに CRIを使う場合、サウンドファイルはwaveやmp3のままでは使えない。 CRI専用のサウンドデータ=キューシートに変換し、キューシートをUnityのプロジェクトにいれることになる。 この記事では、キューシートの作成方法について記述する。 CRI Atom Cr…

【個人ゲーム開発者向け】アプリが最新バージョンじゃなかったらストア画面へ飛ばす、を超お手軽に実装する

よく「アプリをアップデートしてください」とか出てストア画面に飛ばされる、のあるじゃないですか。 今回は、最新アプリのバージョンの定義をGoogleDriveにおく、という超お手軽な方法でそれを実装してみました。 個人開発者の方などで「サーバーが用意する…

『箱猫レンジャーの3Dそうこばん!』リリースまでの道のり〜ずっとゲームが完成させれなかった

2021年10月末に『箱猫レンジャーの3Dそうこばん!』というゲームをリリースした。 このゲームは自分の中では第一作目。 ゲーム開発は仕事にもしている(本職はゲームプログラマ)し、 ゲーム開発者を目指してからは個人でも10年近くずーとやってきたんだ…

【Unity】プレハブのインスタンス生成が遅い・画面が止まる問題の対処法まとめ【パフォーマンス改善】

この記事は、 プレハブをInstantiateしてゲームオブジェクトを生成する際に、 遅い・画面が止まるといった問題に対して自分が行っているアプローチを書きます。 【箱猫倉庫ver1.3(次回アプデ)】古い端末だとunityロゴ~タイトル表示まで遅い問題あってようや…

アプリ申請から審査完了までどのくらいかかったかまとめ【AppStore】【GooglePlay】

アプリの申請、実際にはどのくらいかかるのか、実体験をまとめていきます。 申請する都度更新していくつもりなので、最近どうなの?って思っている方や初めての方の参考になれば幸いっす。 傾向として2021年11月現在は土日を挟まなければ2日以内には審査が…

【Android】現在、お客様のアプリは API レベル 29 を対象にしています。セキュリティとパフォーマンスが最適化された最新の API を利用するには、API レベル 30 以上を対象にする必要があります。アプリの対象 API レベルを 30 以上に変更してください。

エラー内容、困ったこと等 Androidアプリの申請をしようと、Google Play Console でパッケージをアップロードした際に以下のエラーが発生。 現在、お客様のアプリは API レベル 29 を対象にしています。セキュリティとパフォーマンスが最適化された最新の AP…

GooglePlay/AppStoreのストアバッジとリンクを取得する方法

先日このブログの右サイドに、GooglePlay/AppStoreのストアバッジを表示し、それぞれのストアへのリンクを作りました。 この記事ではこのストアバッチ(「バッチ」という言い方をするらしい)の取得方法を記載します。 GooglePlayの場合 play.google.com 上…