alelitaのブックマーク (27)

  • Unity 画面比率が変わってもUIとかが崩れないようにする方法 - はかせのラボ

    あいさつ 画面比率が変わるとUIはどうなる? なんでずれたの? 解決方法 あとがき あいさつ どうも、はかせです。 今回はUnityUIの話です。 画面比率が変わるとUIはどうなる? 多分Unityで開発やってるとGameビューでUIとか置いてくと思うんですけど Gameビューと完成品の画面比率が異なる場合ってあると思うんですよね。 じゃあそうなった場合何もしなかった場合UIがどうなるかって話です。 文字で言うよか実際の画面見た方が早いですよね。 まずは全画面にしない画面です。 次に全画面にした時の画面です。 文字の場所が変わってしまいました UIほど画面上のどこにあるか大事なものはないというのに、 何もしなければ画面サイズを変えるだけで場所が変わってしまいます。 なんでずれたの? 結論から言うとUnityのCanvasの設定です。 UnityUIを作ろうとするとCanvasを置き そ

    Unity 画面比率が変わってもUIとかが崩れないようにする方法 - はかせのラボ
    alelita
    alelita 2023/03/10
    凄く役立つ
  • UnityでOpenJDKがインストールされない場合の解決法(Windows) | liquidjumper

    Vuforiaは拡張現実(AR)や混合現実(MR)のコンテンツを開発する事が出来るプラットフォーム環境です。クロスプラットフォームなので、さまざまなハードウェア、ARKitやARCoreのどちらにも対応してる為"iOS","AndroidO... UnityJava Development Kit (JDK)がインストールされない問題の結論 結論から言えば、 「PC内にある Unity関連、AndroidSDK関連 のファイル、ディレクトリを”全て削除”する」 これだけです。 想定内といえばそれまでですが、”全て削除”までたどり着くのに時間がかかりました。 「Unity Hub」 は同じバージョンのモジュールを再インストールできない そもそも今回の問題で、モジュールだけを再インストールできたとしても解決はしないのですが、 ここに時間を取られたので解決までの経緯として記したいと思います。

    UnityでOpenJDKがインストールされない場合の解決法(Windows) | liquidjumper
  • 【Unity】配列の要素をシャッフルする方法(図解) | なおゆブログ

    どうもなおゆです。前回はコルーチンについて説明しました。 今回は、配列に入れているプレハブをランダムに並び替えする方法について、備忘も兼ねてまとめます。(配列の型を変えるとintなどでも応用可能) 配列の要素をランダムに入れ替え Unityゲームを作っていると、配列で管理しているオブジェクトをランダムに入れ替えたい時がよくあります。今回はRandomクラスを応用してシャッフルしていきます。 まずはシャッフルするための配列を宣言しよう 配列の型は何でも可能ですが、今回はプレハブを格納したGameObject型の配列を使います。 public GameObject[] foods = new GameObject[3]; 配列の要素にはヒエラルキー画面からプレハブを追加しています。ハンバーガー・バナナ・寿司の順番で格納しました。 シャッフルメソッドを作成 続いて配列をシャッフルするためのメソ

    【Unity】配列の要素をシャッフルする方法(図解) | なおゆブログ
  • 【Unity】重み付きの確率抽選を行う方法

    オンラインゲームにおけるガチャなどデータの改ざんが懸念される場面においては、サーバー上でロジックを実装することを推奨します。記事で解説するアルゴリズム部分は、Unity以外の環境でも適用可能です。 ループを用いて重み付き抽選を行う 最初に、ループを用いて抽選を行うアルゴリズムについて紹介します。 要素数に比例して計算量が増大する傾向がありますが、メモリの消費が少ない [1] 、実装が簡単というメリットがあります。 この方法は、以下リファレンスのページでも紹介されています。 アルゴリズム まず、重み全体の総和を計算し、0~総和までの範囲の乱数値を取得します。 次に、要素の先頭から順に、乱数値と現在要素までの重みの総和の大小関係を調べ、乱数値が総和より下回るまで繰り返します。 繰り返しが終了したときの現在要素が最終的な抽選結果となります。 このように要素の先頭から順番に大小関係をチェックして

    【Unity】重み付きの確率抽選を行う方法
    alelita
    alelita 2023/01/30
    確率抽選の高速化
  • 【Unity C#】シャッフル(重複せずにランダム抽出) - プログラミング教室 フタバゼミ

    リストの中から、重複せずにランダムで表示させるシャッフルの仕組みを作ってみましょう。 今回の例では、5個のオブジェクトからランダムで、異なる3つを取り出します。 上部のリストからランダムで1つずつ、下のリストへ追加。 取り出したオブジェクトは上部のリストから削除し、再び選択されないようにします。 関連記事: 数字をシャッフルする シャッフル - 重複なしでオブジェクトを並べる 種類の違うPrefabをランダムで出現させる ランダム表示したPrefabを順に配列に入れる 10分の1の確率で異なるPrefabを生成 重複せずに一つずつランダム出力(シャッフル) ランダムで同じオブジェクトを表示させない Cubeを5個、空のオブジェクトを1個作成しました。 ShuffleList.csを作成し、GameObjectに追加します。 ShuffleList.csを記述します。 using Syste

    【Unity C#】シャッフル(重複せずにランダム抽出) - プログラミング教室 フタバゼミ
    alelita
    alelita 2022/12/21
    ランダムレンジの説明
  • 【Unity】SpriteMaskでSpriteにマスクを掛ける演出が色々と面白い - テラシュールブログ

    Unity 2017.1より追加されたSpriteMaskの機能が意外と面白いので、少しメモします。 SpriteMask 操作方法 壁に穴を開ける Spriteの消滅演出をSpriteMaskで 実はパーティクルのマスクも出来る 関連 SpriteMask SpriteMaskはSpriteを利用してSpriteRendererにマスクをかける機能です。 画像をSpriteの形にくり抜いたり、逆にSpriteをくり抜いたり出来ます。 機能的には現状存在するSpriteに対してマスクを掛ける…程度の機能ではありますが、意外とコレは利用の幅が広そうです。 操作方法 使い方に関しては正直マニュアルが詳しいです。 docs.unity3d.com 壁に穴を開ける 壁に穴を空けてみます。これはUnityTipsに上がっていたものを自分なりに解釈したものです。 まず最初の状態がコレです。 Sprit

    【Unity】SpriteMaskでSpriteにマスクを掛ける演出が色々と面白い - テラシュールブログ
    alelita
    alelita 2022/12/09
    スプライトマスク
  • 【Unity】GameObjectの透明度をコード変更する方法(SpriteRendererを使わない)2D - テクノモンキー(サブ)

    UnityでGameObjectの透明度をコードで変えようとしたらつまづいてしまったのでメモ。 やりたいこととしては、 「未入手のアイテムを半透明の状態にしておいて、アイテムをゲットしたら半透明状態を元に戻す」 ってことです。 GameObjectの透明度を変える方法を調べていたんですが、調べてみると3Dでやる場合の方法ばっかりが出てきてしまいます。。(僕の検索法の問題もある) vend9520-lab.net qiita.com その後、ようやくUnityの2Dでオブジェクトの透明度を変更する方法を見つけたんですが、 Unity2Dメモ2 スクリプトからSpriteの透明度を変える d.hatena.ne.jp やり方的には、GetComponentでSpriteRendererを取得して、colorの値を変えるという方法。 ただ僕が透明度を変えたいゲームオブジェクトは「Hierarch

    【Unity】GameObjectの透明度をコード変更する方法(SpriteRendererを使わない)2D - テクノモンキー(サブ)
    alelita
    alelita 2022/12/08
    ゲームオブジェクトの透明度を変更する方法
  • OpenCV plus Unity 入門 (1) - 事始め|npaka

    OpenCV plus Unity」の使い方をまとめました。 ・Unity 2019.41. OpenCV plus UnityOpenCV plus Unity」は、無料で利用できるUnity用の「OpenCV」アセットです。 2. インストール(1) AssetStoreで「OpenCV plus Unity」のダウンロードとインストール。 (2) メニュー「Edit → Project Settings → Player → Other → Other Settings → Configuration」の「Allow 'unsafe' Code」をチェック。 3. グレースケールへの変換◎ テクスチャの準備 (1) 「Assets/Resources/Textures/」に「Image.png」を追加。 (2) 「Image.png」を選択し、「Read/Write Enable

    OpenCV plus Unity 入門 (1) - 事始め|npaka
    alelita
    alelita 2022/12/08
    OpenCVの使い方1
  • OpenCV plus Unity 入門 (2) - デモ|npaka

    OpenCV plus Unity」のデモの使い方をまとめました。 ・Unity 2019.4 前回 1. デモ「OpenCV plus Unity」には、OpenCVの使い方を説明するデモが含まれています。これらは「Assets/OpenCV+Unity/Demo」フォルダにあります。 (1) Lobby 全てのデモを表示してクリックするだけで実行。Lobbyシーンを機能させるには、メニュー「File → Build Settings」で、全てのシーンを「Scene In Build」に追加する必要がある。 (2) Grayscale グレースケールのフィルタの適用例。 (3) Identifiy_Contours_by_Shape 幾何学的形状の識別の例。 (4) LiveSketch_WebCam Webカメラのリアルタイム処理の例。 (5) Face_Detector 顔ランドマ

    OpenCV plus Unity 入門 (2) - デモ|npaka
    alelita
    alelita 2022/12/08
    OpenCVの使い方2
  • C#に欠かせないLINQという機能について知る - Tech Inside Drecom

    こんにちは、ゲーム事業部開発2部の青木です。 今年前半まではHTML5+JavaScriptでブラウザ向けゲーム開発をしていましたが 現在はCocos2d-xを使ったネイティブゲーム開発に携わっています。 今回の話題 さて、今回はC#でプログラムを書いている方々には既におなじみであろう LINQについて筆を執りたいと思います。 LINQは便利で読みやすく、よく使われていますが、意外と詳しく知る機会はないなぁと 感じていたので、改めて調べてみました。 これを機に、今までLINQについて「なんとなーく便利そうだから使ってみた」という方も、 「使い倒してもう完璧!」という方も、よりLINQに興味を持っていただければ嬉しいです。 ※筆者がゲーム開発に従事していることからサンプルコードはUnityで作成しております。 予めご了承ください。 そもそもLINQとは何か さて、ではそもそもLINQとは何

    C#に欠かせないLINQという機能について知る - Tech Inside Drecom
    alelita
    alelita 2022/12/06
    LINQについての解説
  • 【Unity】UnityEngineでの乱数の生成とSystemでの乱数生成について - はなちるのマイノート

    はじめに 今回はUnityEngineでの乱数の生成とSystemでの乱数生成についての記事になります! 私は普段Unityを使っていて基UnityEngine.Randomクラスを使っています。 ただマルチスレッドを使っているときにはUnityAPIは使えないので、System.Randomクラスを用いた乱数を利用せざるを得ませんでした。 どうせそんなに変わらないだろうと思っていたのですが、少しだけ異なる点があったのでそれについて残しておきたいと思います。 やり方 System名前空間を使った乱数の生成がUnityEngine名前空間を使ったものと一番違うことは、インスタンスを作成するかどうかだと思います。 実際にみてみましょう。 using UnityEngine; public class Test : MonoBehaviour { private void Start()

    【Unity】UnityEngineでの乱数の生成とSystemでの乱数生成について - はなちるのマイノート
    alelita
    alelita 2022/12/06
    乱数生成のヒント
  • 【C#】ToString() の書式指定子で文字列をカスタマイズする | 夜中にUnity

    はじめに C# の ToString メソッドを使うと、変数やオブジェクトを文字列に変換できます。 例えば以下のように int 型の数値を string 型に変換できます。 int num = 123; string numStr = num.ToString(); ToString メソッドでは引数に「書式指定子」を指定できます。これを活用することで変換時に文字列をカスタマイズできます。 記事では ToString メソッドで使える書式指定子をいくつか紹介します。 数値を3桁コンマ区切りにする “N” は 数値書式指定子 と呼ばれ、ToString("N0")とすることで整数値が3桁のコンマ区切り文字列に変換されます。string.Formatを使った変換も可能です。 int num = 1234; Debug.Log(num.ToString("N0"));// => 1,234 /

    【C#】ToString() の書式指定子で文字列をカスタマイズする | 夜中にUnity
    alelita
    alelita 2022/12/02
    書式指定子の設定
  • 【Unity】uGUIを使う | 丸ノ内テックブログ

    フロントエンド front end バックエンド back end アプリ開発 app インフラ infra その他 other データドリブン data driven タグ一覧 Ajax(1) Android(20) Apache(2) AR(2) benchmark(1) BigQuery(2) browsersync(1) C4(1) CakePHP(1) CentOS7(1) CI(1) CMS(3) CoreNFC(1) CraftAR(1) CSS(1) DeepLab(2) Dmitry Stogov(1) ECMAScript(1) ECMAScript6(1) ElePHPant(1) Facebook(3) FFmpeg(1) firebase(1) fluentd(1) Framework(1) GD(2) gif(2) Git(1) GLSL(5) Google A

    【Unity】uGUIを使う | 丸ノ内テックブログ
    alelita
    alelita 2022/12/02
    ボタンを使う
  • Unityでの複数シーンを使ったゲームの実装方法とメモリリークについて | Unity用ビジュアルノベルツール「宴」

    複数シーン実装についてまとめた背景 公式ドキュメントがない Unityでは、シーンを編集してゲームを作っていくのが基です。 シーンは一つではなく複数使ってゲームを作ることができるのですが、詳しいやり方に関してはUnityの公式ドキュメントにはどこにも載っていません。 Unity公式ドキュメント「シーン」には、単一シーンの簡単な解説しかありません。 複数シーンの編集というページはあるのですが、基的にはUnityエディタ上で複数のシーンを同時に編集する際のやり方であって、肝心の「実装方法」に関してはTIPS程度しかないようです。 ドキュメントではなくスクリプトリファレンスのほうには個別の機能の説明があるのですが、日語訳がほぼされていません。 人によってやり方が違う Unityの複数シーンを使った実装方法自体は古くから議論されていています。 インターネット上にもいくつか情報がありますが、書

    Unityでの複数シーンを使ったゲームの実装方法とメモリリークについて | Unity用ビジュアルノベルツール「宴」
  • 【Unity】広告の入れ方を解説!【AdMobを実装する人向け】

    Unityゲームを作ったら、収益化したいですよね。Unity Adsを使うという手もありますが、GoogleのAdMobもおすすめな広告です。しかしAdMob広告の実装って、結構大変だったりします。 そこでUnityでAdMobを使って広告の入れ方を解説します! 基的にはGoogle AdMobの公式ページが元ネタになりますが、情報が古い部分があるので、そのままやってもうまくいきません。そんな時は、この記事の情報を参考にしてください。 ※広告ポリシーや注意事項があるので、わからなくても、AdMobのヘルプは一通り目を通しておいた方がいいと思います。 関連記事:個人ゲーム制作の収入公開!副業で儲かるか知りたい人必見! 【Unity】広告の入れ方を解説!【 AdMobのバナー広告実装編】 まずはざっと手順を示すと次の手順で実施します。 AdMobアカウントを取得する。 AdMobに広告を実

    【Unity】広告の入れ方を解説!【AdMobを実装する人向け】
    alelita
    alelita 2022/12/01
    ユニティの広告の入れ方
  • Unityで作ったゲームにAdMob広告を実装する方法【バナー広告編】 | FREE SWORDER

    Unityで作ったゲームにAdMob広告を実装したい!! どうも、Linです。ボトル、寄付しました。 「Unity で作成したアプリに広告を載せたい・・・・!」 そんな時に使えるのユニティ公式のUnity Adsという広告がありましたね??

    alelita
    alelita 2022/12/01
    広告の入れ方
  • Unity C# / 名前空間を参照できないときの対処法 / 型または名前空間の名前''が見つかりませんでした

    alelita
    alelita 2022/12/01
    ユニティのエラーの話
  • Unityアプリを高速・安定化するために見直すべき事を9選まとめてみた - Qiita

    記事は 【unityプロ技】 Advent Calendar 2019 16日目の記事です。 記事で記載されたソースコードはすべてパブリックドメインです。 修正履歴 ・12/18 インスタンシングの説明を修正 はじめに Unityアプリを安定化させるために試行錯誤を繰り返しているyoship1639です。 社内ではフロント側の開発基盤構成選定や共通基盤開発、ロジック、物理シミュレーション、ビジュアル周り(カメラワーク、シェーダ、演出)、最適化等様々なタスクを担当しています。 Unityゲーム開発を大幅に効率化できる素晴らしいツールですが、そのすべての最適化が自動で行われる訳ではない事はご存じかと思います。詰まるところ、開発者側が最適化の手法を知っていなければUnityアプリの安定した動作を確保することはできません。しかし、参考文献が散見されどこを見直せばいいのか分からなかったりリファ

    Unityアプリを高速・安定化するために見直すべき事を9選まとめてみた - Qiita
    alelita
    alelita 2022/11/30
    軽くするための工夫
  • Unity タップしたオブジェクトの取得方法!(マルチタップ対応) | サプライドの技術者BLOG

    こんばんは。河条です。(´・ω・`) タップしたオブジェクトをマルチタップで取得する方法を紹介します。 マルチタップ対応となると情報少なかったから苦戦した。。。(´・ω・`) 以下、スクリプト //タップ回数が0を超えたら if (0<Input.touchCount) { タッチした回数までループする for (int i = 0; i < Input.touchCount; i++) { // タッチ情報をコピー Touch t = Input.GetTouch (i); //タッチした座標を取得 Vector2 worldPoint = Camera.main.ScreenToWorldPoint (t.position); //タッチした座標にレイを飛ばす RaycastHit2D hit = Physics2D.Raycast (worldPoint, Vector2.zero)

    alelita
    alelita 2022/11/25
    マルチタップ対応
  • Unity ベルトコンベアをつくる - Qiita

    作るもの 物体が上に載ると設定した方向に物体を移動させるベルトコンベア 作り方 1. ベルトコンベアのスクリプトを作成する using System.Collections.Generic; using UnityEngine; namespace ConveyorSamples { public class Conveyor : MonoBehaviour { /// <summary> /// ベルトコンベアの稼働状況 /// </summary> public bool IsOn = false; /// <summary> /// ベルトコンベアの設定速度 /// </summary> public float TargetDriveSpeed = 3.0f; /// <summary> /// 現在のベルトコンベアの速度 /// </summary> public float C

    Unity ベルトコンベアをつくる - Qiita
    alelita
    alelita 2022/11/25
    ベルトコンベアの実装