---
# System prepended metadata

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

---

# 2023/7[定例会]

### 日時

2023/07/29(土)16:00~

### 進行

- kashiwamochi

### 議事録

- y_y

### コンテンツ

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

- 進捗プレゼン（各自テーマを書いていってね）
    -  y_y: UDP通信のやり方
    -  kashiwamochi:Blenderでエフェクト用3Dモデル素材簡単制作！
    -  koitan:自作Mesh入門
    -  malen: ChatGPT API あれこれ
    -  meiteiFox: Inspectorのattribute

#### コンテンツフォーマット

（例）
- Unity便利アセットの紹介（30分）

### 議事録
- koitan : 自作Mesh入門
    - Meshとは何か→三角形を繋げまくって形成する(Wireフレームで見れる)
        - Blenderで作ってもC#で作ってもMeshが作れる
        - 1週間ゲームジャムのオーディオのやつ
    - C#から頂点に情報をつけることができる
    - Position,Clor,UVとかの情報…
    - Shaderをいじくることで自由度が高まる
    - Shaderグラフでいじった。
    - UV情報を追加すると画像を三角形のどこにマッピングするか決められる。(色々な画像を表示できるように)
    - 今回のUVは画像を範囲全体にマッピングするように設定
    - 動作が軽くていい
    - 頂点シェーダー
        - 極座標変換できたり応用の幅が広がる
    - 色がぶわって残る表現は黒の部分を0ではなく0.9を掛けることで連続的な明るさの色を表現
    - Mesh作れると便利やで！
    - 何でそもそも三角形なの？→四角でもできる。点が4点の場合、その4点が同一平面状に無い可能性があり、それが面倒だからだろう。
    - 色以外の情報は例えば？→2つの画像のブレンド率とか。無限大の可能性がある！
    - 頂点カラーで白にしてるっていったけど、1つの頂点は2つ(以上?)の面に接しているはず。2つの面の判別はどうしているのか？→見た目とは違って、三角形は繋がってるわけじゃない。そういう風に設定した

- kashiwamochi : Blenderでエフェクト用3Dモデル素材簡単制作してみた！
    - みんなエフェクトは好きかな？
    - 自分もできたらいいな！→分からん…
    - Blenderを使おう！
    - Blenderでエフェクトに用いる3Dメッシュを作成するだけ
    - まずかまぼこのピンクの部分をまず作ります
    - UVマップは苦手意識を持たなくても大丈夫！
    - シェーダーを書きます(シェダーグラフ今度やりましょう)
    - ParticleSystemでアニメーションさせる
    - できた
    - 短冊を円弧に沿って動かすのはどこでやってる？Blenderで作ってるのはどこの部分？→シェーダーがプログラムできる部分でメッシュは手作りする部分。動かしているのはシェーダー
    - サンプル画像の後ろが歪んでいるのはなに？→シェダーグラフで法線テクスチャでなんかやった気がする
    - アニメーション部分のParticleSystemはどうやってるのか→パラメーター色々いじる部分がある
    - 実際に何かに使ったのか？→試してみただけ。tadaさんに勧誘されて

 - meiteiFox : Inspectorのattributeを使いこなそう！
     - [SerializeField]とかの属性をつけることができる
     - 変数だけでなく関数やクラスにもつけることができる
     - 1.SerializeField
         - privateの変数をinspectorから変えられることができる。なんでもpublicにしたくないとき
     - HideInInspector
         - publicをインスペクターに表示しないようにする
     - Header
         - インスペクターに説明のための文字列を表示できる
     - Space
         - 余白つくれる。見栄えのため？
     - ToolTip
         - カーソルを合わせると文字列を表示させる
     - Range
         - スライダーの表示。微調整しやすいかも！
     - MultiLine
     - TextArea
         - インスペクター上で長い文章を入力したいとき、使えそう
     - NonSerialized
         - serializeしたくないときに使う
     - System.Serializable
         - 自作のクラスの配列を見れる。フルガンの歌詞とかに使ってる
     - 他にもあるの？→インスペクター上に表示されないやつならいっぱい。関数に対して[ContextMenu]は便利そうやで

 - malen : ChatGPT API あれこれ
     - 1週間ゲームジャムで「どっちがふるいかにゃ？」ってゲームがあって、ChatGTPを使っていて、興味をもった
     - APIとウェブ版の違い
         - APIは履歴保存が無い。完全に一問一答になる。履歴は実装が必要
         - 3.5も有料。トークンごと
     - トークンとは？
         - 文を区切る単位。1単語＝１トークン。日本語はめっちゃ不利
     - プロンプトを最適化しないといけない。英語で命令して最後に answer in japaneseとすればいい
     - 履歴残すのは結構面倒。累積で計算されていく。加速度的に増えていく
     - 女の子と喋れるやつを作ってみた。
     - プロンプトには前提条件、会話履歴、入力、出力の一部が含まれている
     - 感情はChatGTPに喜怒哀楽で表現してもらう。しかしたまにやってくれない。例外処理をつけても体感95%ぐらいだった
     - 画像生成AIで作った。表情差分を作って感情に応じて変化するようにした
     - (殴る)とかでやると実際に殴ったような反応に。やり続けると感情が昂ってバグる
     - 過激内容を含む文章を送るとポリシー違反で弾かれる。エッチな方面は謎判定が多い
     - 今回の実装では0.26＄=37円ぐらいかかった。GTP-4はもっと高くなる。今回の場合920円ぐらいかかる
     - 画像生成AIについて→StableDiffusionでやった
     - 表情差分は？→拡張機能があって。一度同じのを生成した後に表情だけ変えてくれる
     - ポーズ指定とかもできる
 - y_y : UDP通信のやり方
     - UnityでのUDP通信
         - 研究でUDP通信をやる機会があった
         - PCと関係ないコントローラーがあり、それをUnityで無線で繋げるときに使うもの
     - UDPとは
         - コンピュータ間で通信を行うための決まりごとのモデルにOSI参照モデルとTCP/IPモデルがあり、TCP通信とUDP通信がある
         - TCPのほうが信頼性があるが低速
         - UDPが信頼性が低いが高速
     - UDP通信に必要なもの(Unity側から送信)
         - データ
         - データの長さ
         - 送信先IPアドレス
         - 送信先ポート番号
         - 実際の実装
             - System.NetとSystem.Net.Soketsを参照
             - なんか初期化(new UdpClient())
             - 初期化したものからSendが呼べる、これで送信
                 - データ、長さ、IPアドレス、ターゲットポート
     - Unity側から送信
         - 受信を受け付ける番号
         - 実際の実装
             - System.NetとSystem.Net.Soketsを参照
             - 初期化のときに自分で受け付けるポート番号を設定
                 - IPEndPointにはIPアドレスとポート番号が格納される
             - なんか初期化(new UdpClient(recieveEP))
             - Recieve()を呼び出すと受信
             - 参照渡しでremoteEndPointを渡しているので、送信元のIPアドレスなどがDebugLogで見られる
     - UDP通信の実装(ファイアウォール設定)
         - 覚えておいてほしい
         - ファイアウォール側で設定しないと接続できない
         - 覚えておいてほしい
         - Unityエディタのパブリック接続を許可
         - ポート番号を開かないと永遠に受付できない
         - 是非疑おう
     - 脱出ゲームとかいいかも(？)
     - 学会発表の実装
         - うまくいったら共有など


#### 進捗プレゼン

### 次回予告
- 2023/08/26 16:00～
- 進行 : Kashiwamochi
- 議事録 : Koitan
