File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ ---
2+ title : UnityでUIのSE再生を実装するときに悩むこと
3+ date : 2025-12-11
4+ category : 技術メモ
5+ description :
6+ tags : [Gemini, Copilot, API]
7+ recommended : true
8+ thumbnail : assets/img/unity_icon.png
9+ ---
10+
11+ こんにちは!パン君です。
12+
13+ 今回は答えの無い話にはなる上、根本的に Unity 以外でも発生する悩みなのですが
14+ ** UIのSE再生処理の実行責任を何が持つべきか** です。
15+
16+ # 前置き
17+
18+ SE(リソース)の読み込みや解放(Resource)、再生や停止(Controll)などのモジュールが単一責任に分れていることは前提です。
19+
20+ ここではこれらのモジュールのAPIの呼び出し箇所に焦点を絞って話します。
21+
22+ かといって次の章でだいぶ答えが出ているようなものなのですが、
23+ 筆者がゲームに携わる度に 「中途半端な使用方法」 をしている所しか見られず、
24+ 結局一か所治せば済むはずなのに、都度オブジェクト単位の改修を要求されてしまい
25+ 「う~ん...」 という状態になるんですよね。
26+
27+ # どうしてほしいか
28+
29+ 語弊が生まれる可能性があるので、後述する内容も読んでいただきいたいmm
30+ まずどうあってほしいかというのを端的に明確に話すと
31+
32+ > UIが再生処理を呼びたいのか、イベントが再生処理を呼びたいのかハッキリしろ
33+
34+ これです。
35+ 単一プラットフォーム、もしくは小規模であるなら「実装できたら正義」でいいと思うし
36+ 筆者もこの考え方は肯定派です。
37+
38+ ただ、逆の 規模が大きいプロジェクトを作る現場に限って ** 資料共有が滞っている** 影響で多様な再生ロジックが実装されていくんですよね
39+ 複雑になるほど、情報伝達を行う人間の理解度と伝達能力に依存しますのでどこかでエラーが発生します。
40+
41+ よくある話です
42+
43+ ただ、これの対策として実際に明確にルール化したときに少し困った点がありまして
44+ それは下記です。
45+ > 要件が開発中に変わった際に、仕様の範囲外の要件だった時
46+
47+ はい、そうです。
48+ 対処した内容がこの時点で 「一種の多様な再生ロジック」 と化けます。
49+ 振り出しに戻って考え直してください。
50+
51+ ...
52+
53+ となるのが、基本だと思うのですが...
54+ 私は下記のように考えます。
55+
56+ # 一種の多様な再生ロジックでもいいから、絞れるところは絞って管理しませんか?
You can’t perform that action at this time.
0 commit comments