C#

【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

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

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

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

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

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

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

【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だとインスペクタに表示するかどうかも関係してくるのでまとめた。

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

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

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

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

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

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

【Unity】2Dのコライダー

追記:2Dなので、SpriteRendererで主に使っていたが、uGUIでも問題なく使える! 動く物体 ・Is Trigger にチェックが必要 ・Rigidbody 2Dコンポーネントをつける必要がある →Body Typeは物理演算を使いたいならDynamic。物理演算の影響をうけたくない場合はK…

【C#】in / out / ref パラメータ修飾子

C#

パラメータとは、引数のことです。 C#の引数には in, out, ref というパラメータ修飾子をつけることができます。 今回の記事は、パラメータ修飾子それぞれの機能ついて パラメータ修飾子をつけない場合 C#では、値(プリミティブ)型でも参照型でも「値渡し」…

【C#】「C#は参照型でも値(プリミティブ)型でも値渡し」

C#

はじめに ・「参照型渡すときにrefパラメータ修飾子つける意味あんの?」 ・「参照型でも値(プリミティブ)型でも値渡し」→「??」 C#のパラメータ修飾子について学んでいるときに、 上記の疑問がわいたので調べた内容をまとめた記事です。 はじめに これ↓…

UnityのDotweenよく使うものまとめ

ドキュメント dotween.demigiant.com namespace using DG.Tweening; 移動 (RectTransform)(gameObject.transform).DOLocalMove(new Vector3(8, 0, 0), 0.5f); //8,0,0の位置に移動 DOMoveはワールド座標での移動。DOLocalMoveはローカル座標。 絶対座標では…

パート⑧:敵を配置する@2Dローグライク公式tutorial解説【Unity2018】【執筆中;】

このパートで行うこと 今回のパートでは、 敵プレハブを作成し、プレイヤーを追うように移動したり、プレイヤーへ攻撃したりさせる。

パート⑦:ステージを切り替える@2Dローグライク公式tutorial解説【Unity2018】

このパートで行うこと 今回のパートでは、プレイヤーが扉に入ったら次のステージに切り替わるという流れを実装する。 また、プレイヤーのHP(Food)が0以下になることによって、ゲームオーバーにもさせる。 これでこのゲームも開始から終了までの一通りのゲ…

パート⑥:アイテムを入手してHPを回復できるようにする@2Dローグライク公式tutorial解説【Unity2018】

このパートで行うこと 今回のパートでは新たにプレイヤーにHPの概念を追加する。 このゲームは一歩歩くごとにHPが消費される。ローグライクではよくある飢餓システムだ。 そして、HPはアイテムを入手することで回復することができる。風来のシレンでいう「お…

パート⑤:あたり判定をつけて壁を破壊できるようにする@2Dローグライク公式tutorial解説【Unity2018】

前回のパートではプレイヤーを十字キーで動かすことに成功した。 しかし、壁やアイテムをすり抜けてしまう状態だった。 このゲームでプレイヤーの移動を阻む物体は、壁と敵の2つであり、敵はまだ作っていないのでこのパートでは壁について対処していく。 ま…

パート④:プレイヤーを移動できるようにする@2Dローグライク公式tutorial解説【Unity2018】

このパートで行うこと いよいよこのパートで自分の分身となるプレイヤーを作る。 このパートではキーボードの十字キーを使って、プレイヤーを動かすところまでやってしまおう。 これで一層ゲームらしくなるはずだ。

パート③:ランダムに配置される物体(アイテム・内壁)を配置する@2Dローグライク公式tutorial解説【Unity2018】

このパートで行うこと 前回まででフィールド内の決まった位置に配置される床・外壁・出口を作り終わった。 このパートでは、ランダムな位置に配置されるアイテムと内壁の配置を行う。 今回は新しい内容はランダムな配置をする部分のみなのでサクッと進めてし…

パート②:静的な物体(床・外壁・出口)を配置する@2Dローグライク公式tutorial解説【Unity2018】

このパートで行うこと いよいよこのパートからローグライクゲームの作成を開始しよう。 さっそくこのパートでは、プレイヤーや敵が動き回るためのフィールドの作成に入る。 フィールドにはさまざま物体があるが、その中でもまずは床・外壁・出口をフィールド…

一枚絵をそこそこどの端末でもきれいに出したい【解像度対応】

今回やりたいこと。 一枚絵をどの端末でもある程度綺麗に表示したい。 一枚絵のうち真ん中からの一定範囲(下の絵だと16:9領域)はどの画面比の端末でも表示したい。 一定範囲よりも縦幅や横幅が広い端末(下の絵だとiPhoneXやipad)では、その分広く表示したい…

Routationしてたらタッチイベントが取れなかった【Unity】【uGUI】

今回は、 UnityEngine.EventSystemsにあるIPointerDownHandlerだったりIPointerUpHandlerの実装クラス作って、 作ったスクリプトを適当なゲームオブジェクトにアタッチしたのにイベントが取れない!(タッチが反応してくれない!) …ということがあったので…

TextMeshPro - ことはじめ的なやーつ!【Unity】

この記事での環境 Unity 2017.3.0f3 Personal(64bit) TextMemsh Pro - Beta 0.1.44 導入 ~ unity2018の場合 ~ UGUIのTextに代わるTextMeshProのUI用Text Font Asset Creator フォントアセットを作る TEXT INPUT BOX Rich Text タグ FONT SETTINGS Color Gr…