FC2ブログ
    07 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 09

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】東京ゲームダンジョンちょっといってきたよ。(ネタ無し 

    久しぶりにゲームのイベント行ってきましたよ。坂内っす。

    8/7 Bitsummitと、東京ゲームダンジョンが開催されました。
    コロナ前は毎年Bitsummitいってたんだけど、さすがにここ2年は行ってなかったですね。

    今回は新しいイベントということで東京ゲームダンジョンいってきました。

    だだだっと写真張り付け。













    ええ。あんまり写真撮ってなかったっすね。
    まぁいつも通り知り合いに挨拶周りがメインです。

    腹筋するとレベルが上がるとかいう面白いゲームを作ってる方がいたり・・・・
    色々なゲームがありましたね!

    ほんとみなさん色々すごいものをお作りしてますね。
    まじでうちも早くゲーム出さないと・・・・・

    というか、今回はネタ探しのためにいったんですが、思うようなゲームがなかったです。
    ネタ探しちゃんとしないと・・・

    ということで、新しいインディーゲームのイベント、東京ゲームダンジョンに行ってきたよという報告でした。

    あでゅ~ノシ

    Category: その他日記

    tb 0 : cm 0   

    【ハルシオンブログ】Gitに上がっているアセットはURLでインストールできる 

    こんにちは。
    大坂です。

    頭のいい人たちが作ってくれたアセットをダウンロードして自分のプロジェクトにインストールすることはよくあると思いますが、今までZipでダウンロードして、解凍、プロジェクトに入れるという手順を踏んでいたのですが、PackageManagerの機能で、GitのURLでインストールできるんですね。

    PackageManagerのWindowで「+」ボタン押して、「Add pacakage from git URL」を選んで、URLを入力してAddボタンを押すとできます。




    公式にも説明があるので詳しくはそちらを見てもらえれば。
    Git URL からのインストール

    こちらの方法でアセットをインストールすると、Projectの「Packages」の方に追加されるので、「Assets」がごちゃごちゃするのを少しだけ解消できるところが便利ですね。

    ではではノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】UnityのuGUIでトランジション 画面遷移とかを少しリッチに! 

    こんにちは。毎日暑いっすね。
    トイレいくだけで汗かきそうです。坂内っす。


    Unityでトランジションをする方法を過去に書いたのですが、今はまたちょっと違うやり方をやっているので、ちょっと書いておきます。

    【Unity】テラシュールさんのuGUI対応トランジションがうまく動かず、某めるくまさんが解決方法考えてくれたので、自分の手柄としてブログにかいときますね!

    上記方法でやった場合は、ちょっと画像がジャギっちゃうらしい??

    さて、とても古い記事ですが、今現在もトランジション自体は使っています。
    コードも上記とちょっと違うだけで、ふつうに使えてますので、紹介です。

    つばきさんのこちらのFadeCamera2を使います。
    https://github.com/tsubaki/FadeCamera2

    実際に使うのはこの中のほんの一部ですが。

    まずはこんな感じの土台を作ります。



    ここにトランジションしたいサイズのImageオブジェクトを置きます。



    上記で生成したオブジェクトからImageコンポーネントを外し、FadeImageコンポーネントをつけます。



    この状態で、FadeImageのCutout Rangeを動かすとトランジションが動くのがわかります。



    あとはFadeImageのMaskTextureにルール画像をつければ、好きな感じのトランジションが出来上がります。




    それと、FadeImageのMaterialに「UI-Fade-Cutout」がついていますが、これを「UI-Mask」に変更すると、ジャギってるのがなくなりアルファ値が反映するようになります。



    もちろん画面全体の遷移の時は全画面に上記処理を行えばいいですよね。

    Fadeの中に「FadeCanvas」というのがあるので、それ使えば早そうですね。



    デフォルトだとFadeImageのMaterialに「UI-Fade-Alpha」が入ってますが、うまく動かないので「UI-Fade-Cutout」か「UI-Mask」にしてあげましょう。

    あとはルール画像を決めて、FadeImageのColorを変えればトランジションの色も変わるので、変えたりするとこんな感じに動くようになりました。



    という感じでトランジションが動きます。

    ゲームの画面遷移とかで使うとちょっとリッチな感じになりますよね。

    是非使ってみてください。

    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンシステム】TextMeshProのStyleSheetを使ってみた 

    こんにちは。
    大坂です。

    TextMeshProのスタイルシートを使ってみたのでメモ。

    スタイルシートは、[TextMesh Pro]-[Resources]-[Style Sheets]フォルダに「Default Style Sheet」っていうのが入っているのでそのまま使用。


    最初から設定されているものが結構ありますね。


    こんな感じで書いてあげると使えます。




    「</style>」でタグを閉じていますが、
    スタイルタグ以降の文字全部にスタイルを適用する場合はタグを閉じなくても大丈夫です。

    次に新しいスタイルを追加する方法。
    新しく追加するには「Default Style Sheet」のInspctorの下の方にある「+」ボタン押すと追加できます。


    以前、TextMeshProで途中の文字のFontを変えたい時の記事を書きましたが、毎回書くのが面倒なので設定してみます。


    これで「<style="Num">」と書けばフォントが指定したものに変わるので、少し楽になりますね。
    今回は数字の部分だけに適用してみました。



    ちゃんと100の文字だけ変わってますね。

    自分でよく使うタグはスタイルシートにまとめて書いておくと楽ですね。
    ではまたノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    【ハルシオンブログ】Unityボタンに連打禁止制御を簡単にかけてみる。もっと簡単な方法あるかもしれませんが・・・ 

    こんにちは。坂内っす。
    30度超えの日々が続きますね・・・・
    来週末東京ゲームダンジョンなんですが、コロナが再び猛威を振るい過去最高の感染者を出してますが・・・・
    行こうと思ってたんだけどどうしようかなぁ・・・やめた方がいいかもなぁ・・・どうしようかなぁ

    さて、Unityでゲームを作ってるとボタンって絶対用意しますよね。
    そのボタンって連打制御されてますか?

    たまに連打制御してなくて、バグが出ちゃうとかありますよね。

    そこで、簡単な連打制御についてメモ。

    こんな画面を作ってみた。


    [Blog20220725.cs]

    using System.Collections;
    using DG.Tweening;
    using UnityEngine;
    using UnityEngine.UI;

    public class Blog20220725 : MonoBehaviour
    {
    [SerializeField] Button btnStart;
    [SerializeField] GameObject objImage;


    void Start()
    {
    btnStart.onClick.AddListener(() => StartCoroutine(MakeImage()));
    }

    IEnumerator MakeImage() {
    Image image = Instantiate(objImage, transform, false).GetComponent<Image>();
    image.DOFade(0f, 3f);
    yield return new WaitForSeconds(3f);
    Destroy(image.gameObject);
    }
    }



    ボタンを押すと、Imageのオブジェクトが生成され、3秒かけて透明になり、最後はオブジェクトを削除する。

    ただこれだけの動きをします。


    このままだと連打制御を入れてないので、連打をするとこうなってしまう。



    オブジェクトが押すたびに増えてしまいます。

    連打制御をいれてみましょう。

    といっても、ただフラグで制御するだけですけどね。

    [Blog20220725.cs]

    using System.Collections;
    using DG.Tweening;
    using UnityEngine;
    using UnityEngine.UI;

    public class Blog20220725 : MonoBehaviour
    {
    [SerializeField] Button btnStart;
    [SerializeField] GameObject objImage;

    bool isProc;

    void Start()
    {
    btnStart.onClick.AddListener(() => StartCoroutine(MakeImage()));
    }

    IEnumerator MakeImage() {
    if (isProc) {
    yield break;
    }
    isProc = true;

    Image image = Instantiate(objImage, transform, false).GetComponent<Image>();
    image.DOFade(0f, 3f);
    yield return new WaitForSeconds(3f);
    Destroy(image.gameObject);
    isProc = false;
    }
    }



    これで連打しても処理が終わるまで次の処理が発生しません。



    こんな感じ。

    これくらいの処理での連打なら問題ないかもしれませんが、シーン遷移とかのボタンで連打されるとまずバグりますよね。

    ということで、以外と大事なのに忘れがちな連打制御についてでした。

    もっと簡単にできる方法もあると思いますが、手軽に制御する方法でした。

    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0