うにてぃブログ

主にUnityとC#に関する記事を書いていきます

Image

【Unity】uGUI Image でシェーダーを使わずに色の加算を行う

Image はデフォルトで色の乗算はできるが、色の加算つまり白っぽくする場合は 独自に Shader を作成する必要がある が、一応Shader を使わずに色の加算っぽい見た目にすることができる 色の加算方法 Image に Mask を追加して、その子供に Image をつけるだ…

【Unity】Unmask の部分をクリック可能にする

hacchi-man.hatenablog.com 以前 Unmask の記事を書きましたが、Unmask したからには その部分のクリックをしたいと思ったのでクリック処理を追加してみました ICanvasRaycastFilter を使う方法もありますが、Mask内にボタンを設置する必要があったので 利用…

【Unity】Image の 透明部分を クリックしても Raycast が反応しないようにする

Image の alphaHitTestMinimumThreshold を 0以上にすればタップした際に有効な Alpha の値を変更できる alphaHitTestMinimumThreshold を 1にすると半透明な部分のタップが無効化される しかしテクスチャが半透明かどうか判定するために Read/Write Enable …

【Unity】UnityEngine.UI.Image をアピールさせるコンポーネント

Image にコンポーネントを追加するだけで以下のようなアピール演出をできるコンポーネントを作成しました アピールの大きさ、時間、リピート、インターバルを設定できます using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; [Req…

【Unity】Text と Image の頂点の描画順

BaseMeshEffect で頂点をいじるときに忘れるのでメモ それにしてもなんで Text と Image で頂点の順番が違うんだろうか Text 左上, 右上, 右下 右下, 左下, 左上 // 左上, 右上, 右下 var mesh1Pos = new []{ new Vector2(-1, 1), new Vector2(1, 1), new Ve…

【Unity】Image を 複製して表示

画像を上下左右に複製して表示できる どこで使えるか分からないが、とりあえず作ってみたので・・・ サイズの大きい左右上下対象の画像をサイズ半分で使える・・・ 別に反転しておけばいいだけの話ですが・・・ using System.Collections.Generic; using Uni…

【Unity】角丸な Image を使う

Image を角丸にする処理を探していると material を利用しているものが多く material の差し替えが面倒だったので BaseMeshEffect を利用してみました Meshの頂点が結構増えますが、Text の Outline や Shadow よりはましなはず ※左下のやつで154頂点 色を指…

【Unity】UnityEngine.UI.Image の グラデーション をゲージ対応

以前の記事「UnityEngine.UI.Image を グラデーション表示する」で使っていた グラデーションを Filled に対応 using UnityEngine; using UnityEngine.UI; public class GradientImageFilled : GradientImage { [SerializeField, Range(0, 1f)] private floa…

【Unity】UnityEngine.UI.Image を グラデーション表示する

Image をグラデーションできるコンポーネントです Slice の画像にも対応してあります Image が付いてあるオブジェクトに 追加してもらえれば利用できます グラデーションの色を増やすとそれだけ Mesh が生成されるので、適切なグラデーション設定してくださ…

【Unity】Image Type Sliced の画像に Filled を適応する

Image Type は 一つしか選べないため Slice された画像を利用してゲージっぽい見た目にしようとしてもできない そのため、BaseMeshEffect を利用して、Image を Sliced に設定し、Filledの対応を時前で用意する これを利用すると このように Slice された画…

【Unity】Text や イメージ に頂点カラーを追加する

Image や Text など Graphic 継承のクラスに対して 水平もしくは垂直に色のグラデーションを入れられる機能 Is Each Vertex にチェックを入れることで Text の場合1文字ずつグラデーションが可能 using System.Collections.Generic; using System.Linq; usin…

【Unity】uGUI の Image を反転させる

uGUI の画像を反転させる方法として、Rotation を180にする。もしくは Scale を -1 にするという二択があります が演出などで Rotation や Scale を使うことを考えると値をいじりたくありません また、Rotation.y を180にした場合、タップ等のイベントを取得…

【Unity】Sprite の Filter Mode

このような色の区別がはっきりしている画像を Unity に持っていって表示させた場合 このように色の境界部分がなめらかに表示されてしまいます この問題は Filter Mode を変更すれば解決できます Filter Mode 公式の説明を見ると テクスチャのフィルタリング…