---
# System prepended metadata

title: '2023/4[定例会]'

---

# 2023/4[定例会]

### 日時

2023/04/29 17:00-18:45

### 進行

- Zakky

### 議事録

- まーれん

### コンテンツ

※話したいことがある方は適宜追加していってください．

- 進捗プレゼン（各自テーマを書いていってね）
    - koitan : UnityのUIの基礎
    - Kassy : ADXによるインタラクティブミュージック
    - taiyo : イベント関数の実行順序
    - tada : Unity で自作ライブラリを作ろう
    - meiteiFox : Vectorのデバッグ表示の罠

### 議事録
#### 進捗プレゼン
- Kassy
    - ADXによるインタラクティブミュージック
    - ADXを使うとインタラクティブミュージックが簡単につくれる！
    - 質問
        - インタラクティブミュージックの音のボリュームを足すとインタラクティブミュージックになる？
            →音楽を同時に流して、音量を弄ることによって流すものをシームレスに切り替えている
        - 何に使われてる？
            →マリカーのBGM切り替えとか、スプラとかのサウンドエフェクトにも使われている(潜伏時のくぐもった音とか) 
        - どんなインタラクティブミュージックが好き？
            →シームレスに切り替えられるとリッチな感じになって良い 

- tada
    - Unity で自作ライブラリを作ろう
    - 毎回実装してる機能を自作ライブラリを作って使いまわそう
    - TadaLib
        - いろいろ機能がある
        - Actor
        - Scene launcher
        - ファイル作成したときに自動で初期コードを挿入する機能
    - Unity標準ライブラリを使うよりも実装がしやすい
    - ゲーム開発がスムーズに進められる
    - どうやって作る？
        - ライブラリのコピペは微妙
            -　ライブラリを書き換えると整理が面倒になる
            -　ゲーム間で同期する必要 
        - Gitのsubmodule機能を使う
            -　Gitリポジトリ内で別のGitリポジトリを参照できる(入れ子構造にできる) 
            -　Gitリポジトリを参照しているのでライブラリの更新に強い
    - 質問
        - 公開する気はある？
            → ない、隠したい
        - 初めてライブラリを作るなら何から？
            → 画面遷移処理とかは大体のゲームで使うし作りやすいからおすすめ
        - Actorてなに？
            → キャラクター(やギミック)の総称
        - どのタイミングでUpdate関数を呼んでいる？
            → 自分で呼ぶタイミングを制御している

- meiteiFox
    - Vectorのデバッグ表示の罠
    - Unityのデバック表示
        - Int型やfloat型をデバック表示するとちゃんと表示される
        - でもVector2型にfloat型数値を入れてデバック表示すると...
            → 何故か勝手に数値が丸められる 
        - どうすればうまくいく？
            → 変数を修飾して、表示桁数を指定する
        - Vector3型でも同じ 
    - 質問
        - どうやって気づいた？
            - タンクゲームの制作中に問題にブチ当たった

- koitan
    - https://docs.google.com/presentation/d/14sE46FtoefPj0KvITWtJP2nVeNcXzsi31Ee0WPy6cio/edit#slide=id.g21ed3cfd306_0_20
    - UnityのUIの基礎
    - UnityのUIってなに？
        - 文字やボタンのような画像のこと
    - 注意点
        - 複数の端末での動作を想定して、解像度を設定する必要がある
            → 縦横比に対応して解像度を設定しないと見切れたり、横長になったりする
    - CanvasScaler
        → 解像度を変えても対応できるように画像を拡大縮小してくれる
    - RectTransform
        → アンカーを設定することで、画面の一部分を基準にUIを変形してくれる
        → ピボットを設定することで、オブジェクトの基準点(原点)を変更できる
    - 便利
    - Camera→「カメラの手前」を指定すると画像にパースをかけられる
    - 質問
        - 文字でも同じ？
            → 同じ
        - 画面ではなく他のUIオブジェクトにアンカーを設定できる？
            → できる
        - Canvasは画面に合わせてRectTransformを自動で変えてくれる
        - UIを使うべきものと使うべきでないものの違いは？
            → 境目を決めるのは難しい
        - CanvasScalerで解像度を指定するとき、FullHDのときの解像度は？
            → 指定してるのはあくまで縦横比なので、必ずしも同じではない 
        - このUIはどうやって実装してる？
            → 画像を9つに分割して変形してる
        ![](https://i.imgur.com/YSBTiJN.png)

- taiyo
    - イベント関数の実行順序
    - FixedUpdateってなに？
    - フレーム
        - 計算して画面に描画する一連の流れのこと
        - フレームレート(FPS): 一秒間に何フレーム処理できるのかを示した値
            -普通は実行環境によって自動で設定される 
    - FixedUpdateとUpdateと何が違うの？
        - Update→ 毎フレーム実行
            - 環境のFPSによって挙動が変わってしまう！
            - Time.deltaTimeを掛け算して制御
        - FixedUpdate→ 一定時間ごとに実行
            - 環境によらず一定時間で実行できる
    
    - イベント関数の実行順
        - FixedUpdateはフレームレートによって呼び出される回数が変わる
            - Unityが入力を確認しているのは(たぶん)フレームの変わり目
                → ボタンを押し始めたフレームを検知するとき、FixedUpdateに書くと実行回数が変わってしまう
        - Unityが物理演算を処理しているのはFixedUpdateの実行直後
        - InputはUpdate、物理演算はFixedUpdateに書こう！
        - 質問
            - ジャンプ処理の入力と物理演算はどこに書くべき？
                → InputをUpdate、物理演算をFixedUpdateに書いてる。でも力を一瞬加えるのはUpdateでも良さそう
        
            
        

### 次回予告
- 2023/05/27 16:00-19:00
- 進行 : Zakky
- 議事録 : 