【ゲームエンジン】Unityなんでも質問スレpart6

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2022/04/03(日) 20:47:03.87ID:99p11w2F
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

■注意事項
特になし
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
 http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。


前スレ

【ゲームエンジン】Unityなんでも質問スレpart6
https://mevius.5ch.net/test/read.cgi/gamedev/1638026599/
2022/07/09(土) 16:58:46.21ID:G8gdhDKz
そもそもの話人間は下から音が聞こえる状況ってあんまりなくて
あった場合上からの音と誤認する
これは耳の構造上どうしようもない
2022/07/09(土) 17:04:57.83ID:G8gdhDKz
すまん上下逆
上からの音が下から跳ね返った音と誤認する
2022/07/09(土) 17:25:18.94ID:Xsv9cVdE
バイノーラルとかだと上下もわかるけどな
いろんな反響言われても不思議しかない
2022/07/09(土) 17:37:07.11ID:4hzi6U2T
Keystoreについてです
プレイヤーセッティングからKeystoreを新たに作成しようとすると、Keystoreの保存先とファイル名を入力するウインドウが表示されるので
ここは、user.keystore(デフォルトのまま)で保存しました。
次に項目を埋めていくわけですが、Aliasの項目はゲーム名(例:supermario)でつけて通りましたが、これは先のKeystoreファイル名user.keystoreとは別の名前でもOKなのでしょうか?
562名前は開発中のものです。
垢版 |
2022/07/09(土) 21:01:39.72ID:2HSJ3sgF
>>557
音程の高低で位層させるテクニックはあるけどはっきりと上下にはならないかもしれない
2022/07/09(土) 21:57:50.95ID:ACdyql0t
>>552
もうすぐ30でも登録できなくなるから31にしないとダメだよ
2022/07/09(土) 23:08:18.72ID:ro3Txkw0
アセットストアのアセットライセンス関係について、公式に質問する場合どこから投げれば良いんでしょう?
見当たらない
内容は、シートライセンスのアセットを使うプロジェクトで、業務委託契約の者が社員と一緒に開発する場合、委託元が纏めて全員分のライセンス買えばOKなのか、委託の場合は委託先の人が別途買わないとなのか、という事についてです
2022/07/09(土) 23:13:16.41ID:d6AG/h8Q
皆さんありがとうございます
そうですか...上下の聞き分けが良く出来るゲームと一切出来ないゲームをやって、後者でそこそこストレス感じたので出来るようにしたかったです
566名前は開発中のものです。
垢版 |
2022/07/10(日) 17:26:50.57ID:ILPB/HMk
>>565
C言語ではじめる音のプログラミングって本の最後の項目に音を上下させるってのがあったから
参考になるかも
自分は読んだことないけど
2022/07/11(月) 10:33:16.49ID:VN/Ot3G6
>>564
https://support.unity.com/hc/ja/requests/new?ticket_form_id=65905
568名前は開発中のものです。
垢版 |
2022/07/11(月) 20:01:18.79ID:Xy9WJAz7
Blennderで作った顔モデルをアセットにあるキャラクターモデルにつけることってできますよね?
2022/07/11(月) 20:06:47.28ID:Wtoim4CU
えっ(困惑)
2022/07/11(月) 21:03:23.25ID:Xy9WJAz7
Blenderに取り込んで編集ってできないんですか?
2022/07/11(月) 21:36:01.17ID:Z/2QSCn9
なんで?
2022/07/12(火) 02:44:17.20ID:fKjoK+pd
そりゃデータを変換かけてやれば相互運用出来るだろうけど、基本的には別ソフトなんだから、
変換かけてないデータに互換性なんか無いだろ、普通
2022/07/12(火) 06:13:27.82ID:nKDDtjUN
>>570,572共に何言ってんのお前官
2022/07/12(火) 11:29:08.22ID:A2zAP8jW
だからー
キャラクターを全部作るの面倒だから
アセットキャラをBlenderに取り込んで
顔だけオリジナルモデルをくっつけて
unityで動かせないかってことや
2022/07/12(火) 13:48:34.42ID:sMWExdNl
Unityからfbxに書き出すことはできる
でもUnityに読み込んだ時点で余計な変更加えられるからちょっと手間がある
あとアセットの規約の確認とかも
2022/07/12(火) 14:11:52.99ID:/B+9Qfsp
こんな馬鹿の相手しなくていいぞ
2022/07/12(火) 16:14:49.38ID:GndRdIrA
出来ぬなら 札束ビンタで 外注だ
2022/07/12(火) 20:41:22.15ID:nKDDtjUN
すめん、メッシュとリグなんだけど、リグはトランスフォームのツリーやん?でスキンドメッシュレンダラーでメッシュ表示してて、そのリグを各々を動かすとメッシュもついてくると思うけれど、あの情報ってどこに入ってるんだ?
ブレンダーで雑にモデル作ってリグ入れてアニメーションとかはさせたので大雑把な知識はある(つもり)
Unityに持ってきた時にどうなってるのかが知りたい。
メッシュの頂点情報に個々のボーンに対応したトランスフォームに対してのウェイトが配列か何かで持ってる?
2022/07/12(火) 21:55:07.08ID:hPR7HUV4
どこに入ってるんやろうな
ただ単にfbxに入ってるものとして扱ってきたが
2022/07/12(火) 21:56:22.47ID:sMWExdNl
ボーンとメッシュに入ってる情報それぞれこんな感じ
あとボーンまたはジョイントのことをリグって言うなころすぞ
https://i.imgur.com/GbEwvtJ.png
https://i.imgur.com/KWK3U77.png
2022/07/12(火) 22:01:37.72ID:sMWExdNl
頂点数があきらかに少ない方がボーンのデータで
位置や姿勢の値なんかの他にnameっていうストリングのアトリビュートが格納されてる
頂点数が多い方がメッシュ本体だけどどこまでウェイトが及ぶかを気合で必要な数だけウェイトと各ボーンの名前が用意してある

って読む
2022/07/12(火) 22:33:04.32ID:sMWExdNl
あごめん画像間違えた
ボーンの方にpathっていうボーンの親子関係を記したアトリビュートもある
めんどくさいから自分でHoudini落としてFBX読み込んて確認してくれ
2022/07/12(火) 22:37:42.09ID:nKDDtjUN
>>580
リグって名前でヒエラルキー作るボケUnityに言え
2022/07/13(水) 17:46:46.91ID:AOdX4zfS
2つのrenderTextureがあって、それを上下に並べてひとつにまとめたrenderTextureを作りたいんですがどうすればいいでしょうか?
よろしくお願いします。
2022/07/13(水) 19:11:58.93ID:nKeYbpHY
リアル系の3Dサッカーゲームを作りたいです
できるだけアセットを活用したいんですが
特にアニメーションにおいて必須のアセットはありますか?
2022/07/14(木) 01:31:46.44ID:PZfMO+a3
ニッチなエディタ拡張とかならまだしもアニメーション位自分で漁ろうぜ...
587名前は開発中のものです。
垢版 |
2022/07/14(木) 15:35:51.40ID:5bpTfTl2
NavMeshAgentが追加されたゲームオブジェクト(ここではAgentとする)と、
複数のゲームオブジェクト(ここではTargetとする)が、シーン内に配置されています。
この中で、Agentが障害物を避けながら進んだ結果、Agentから一番近いTargetを求めるにはどのようにすれば良いでしょうか?
2022/07/14(木) 15:49:19.88ID:PXGnDSwJ
VFXのEvent Nameをインスタンスごとに異なる名前に設定する方法はありますでしょうか?
589名前は開発中のものです。
垢版 |
2022/07/14(木) 16:44:40.84ID:oyPfTZSh
ハックマンの4色のモンスターの移動パターンを再現するにはどうしたらいいですか?
それを理解するには高校数学で言えば偏差値どれくらい必要かしら?
590名前は開発中のものです。
垢版 |
2022/07/14(木) 16:44:49.73ID:oyPfTZSh
2022/07/14(木) 16:48:07.54ID:Y7jW0JRg
>>589
70年代のレベルだと、アルゴリズムや思考ルーチンという言葉すら理解できる者は少なく、
当時のレベルであれば偏差値65が必要と推測される
全体の5%強って水準だろう

小学校でアルゴリズムの教育が始まった現代では、偏差値50程度の水準
592名前は開発中のものです。
垢版 |
2022/07/14(木) 19:29:12.84ID:RO9qNCTA
Unreal Engine並みのグラフィック性能を求めたとき
https://forpro.unity3d.jp/unity_pro_tips/2019/07/27/59/
これって使えるの?
Unreal Engine使ったほうが無難?
2022/07/14(木) 19:42:31.64ID:pbq4NBLL
UE並みっていうのをもっと具体的に言ってくれねえかな
シェーディングで屈折とかノーマルとかAOとかを使いたいって意味ならただのPBR
2022/07/14(木) 19:43:15.74ID:pbq4NBLL
それすらわからんなら君に美麗グラフィックは豚に真珠
2022/07/14(木) 19:46:58.31ID:RO9qNCTA
>>593
レンダリング性能
596野球マン
垢版 |
2022/07/14(木) 20:50:16.04ID:z56vyVrx
>>585
アセットじゃないけどmixamoってサイトにサッカー用のモーション置いてるかも
2022/07/14(木) 23:21:16.93ID:5Jgdw+ba
https://www.artstation.com/artwork/28wkdg
EpicのEULAに感染するのでダブルライセンスになるが見た目の差はゼロになる
違いはここだけ
2022/07/15(金) 20:28:54.38ID:iQ6J4Srh
初歩的な質問ですみません。一度シーン内でInstantiateしたPrefabを再度Instantiateすると初回より生成に掛かる時間が短くなると思うのですが、これは別シーンに移行しても短いままでしょうか?またこのキャッシュのような挙動はメモリが許す限り残り続けますか?
599野球マン
垢版 |
2022/07/15(金) 22:42:24.86ID:nALhqQvl
>>598
>一度シーン内でInstantiateしたPrefabを再度Instantiateすると初回より生成に掛かる時間が短くなると思うのですが

俺の知識が間違ってるのか、全く思わない
俺の知識ではinstantiateは基本的に重いので負荷を避けるためにオブジェクトプーリングの技術を使う
600名前は開発中のものです。
垢版 |
2022/07/16(土) 09:13:48.53ID:R2PLcAfP
プーリングのデメリットは常にメモリーを所有する
塵も積もれば山となる
601名前は開発中のものです。
垢版 |
2022/07/16(土) 10:25:50.09ID:Vrn4xfEI
二つ質問させて下さい。

質問@
NavMeshを使ってキャラクターを移動させているのですが、OffMeshLinkを使って移動させている場所だけ、キャラクターの移動速度が変わってしまい不自然な動きになってしまいます。
これをOffMeshLinkを使っていない場所と同じ速度で動くようにするにはどのようにすれば良いですか?

質問A
GameObjectにNavMeshLinkを追加しようと思ったのですが、NavMeshLinkが見つかりません。
これはどの様にすれば出てくるようになりますか?
2022/07/18(月) 19:57:25.30ID:gP8Rkgyz
HierarchyとProjectにあるオブジェクトって通常は、枠だけの四角。プレハブだと青い四角になるじゃないっすか。
で、UI系のアセットに青い四角なんだけど左の面が黒い縞模様になってるものがあったのですが、これはどういう意味なのでしょうか?
右クリックからPrefabのunpak選べるのでプレハブだとは思うんですけど、普通のプレハブと何が違うのか、検索してもわからず…
ちなみに、一度unpakすると普通のプレハブの青い四角の見た目になります。
603名前は開発中のものです。
垢版 |
2022/07/19(火) 23:26:10.83ID:qjmLXvmb
FIFAとかウイイレのようなボールのコントロールってどうやって実装するの?
数学とか物理わかってないと難しい?
2022/07/19(火) 23:57:27.92ID:7xJe3hY2
むしろ物理法則に逆らったボールのコントロールをしたがる理由が分からない
数学は世界の共通言語なんだから素直に勉強しようぜ
2022/07/20(水) 10:33:36.69ID:oJ7XL1dk
お世話になります。
メインのUXMLファイルに別のUXMLをテンプレートとして追加、表示させています。
質問なのですが、UXMLの構成が以下の時、テンプレート側のUXMLのLabelの文字列をスクリプトで変更するにはどのように記述すれば良いのでしょうか?('A`)


メインUXML
├別のUXML 1(テンプレート)
├別のUXML 2(テンプレート) ←このUXMLファイルのLabelを書き換えたい)
└別のUXML 3(テンプレート)

ヒエラルキー上の「UIDocument」に紐付けているUXMLファイル ⇒ メインUXML


【やりたい事】
画面内に設置されているオブジェクトをクリックした時、テンプレートのUXML2内にあるLabel要素のテキストを書き換えたい
2022/07/20(水) 19:18:16.41ID:oJ7XL1dk
お世話になります。
605です。
自己解決いたしましたので質問を取り下げますm(_ _)m

良かれと思ってUXMLをいくつかのファイルに分割してテンプレートとしていたのがそもそもの間違いでした。
分割していたUXMLを元のUXMLファイルに戻す事で、無事どうにかこうにかやりたかった事を実現する事が出来ました。
ただ、「Q<取り出したい要素>()」は子要素を取り出せてもその下(孫要素以降)までは取り出す事が出来ないのですね……。
それに気付くまでに4~5時間かかりました('A`)
2022/07/21(木) 13:54:05.86ID:jLBNxCmL
お世話になります。
UXMLファイルを直接触らずに要素に直接スタイルを設定する方法、またはUSSファイル内のカスタムプロパティにスクリプト側からアクセスする方法はありますか?('A`)
UXMLファイル内にあるVisualElement要素に画像を表示させたいのですが、いくつかあるオブジェクトを任意にクリックした際、オブジェクト毎に設定された画像に切り替えたいのですが、その実装方法が分からずどうしたものかと……。


【やりたい事】
UXMLファイルを弄らずスクリプトのみで

 <要素名 style="background-image: url('画像ファイルのパス');">

のstyleの部分を変更したい。
もしくは、USSファイル内にある

 :root{
  --test1: 'だみーてきすと';
 }

の「だみーてきすと」の部分にスクリプトから任意の値を代入させたい。
2022/07/21(木) 15:20:47.93ID:jLBNxCmL
お世話になります。
607です。
自己解決いましましたので質問を取り下げますm(_ _)m

要素(例えばVisualElement)を格納している変数に「style.(変更したいプロパティ名)」を付けるだけでやりたい事が出来ました('ω')

 var test = rootVisualElement.Q<VisualElement>();
 test.style.backgroundImage = Resources.Load<Texture2D>(画像ファイルの場所);
2022/07/21(木) 22:03:12.48ID:SGENH6EF
Scriptで質問です!
継承元と継承先どちらもStart()やUpdate()を使いたいです!しかし継承先にBase.Startと書くのは面倒なのでやりたくありません
そこで継承元のStart()の中にExecuteEventsを使ったコールバックを自身のゲームオブジェクト向けに流す方法を思いついたのですが何か問題ありますでしょうか?(特に処理速度的な意味で)
2022/07/21(木) 22:16:26.67ID:K273gNt0
いいアイディアだね問題ないよ
2022/07/21(木) 22:22:20.75ID:aUbJEvFm
2D作るのウニでもいいですか?
2022/07/21(木) 23:37:33.60ID:jnU7F6Na
すみません、調べたら普通に継承元にvirtual Start()書いて継承先にoverride関数で中身記述すればイケました
2022/07/22(金) 01:33:05.71ID:tYTFkALX
2Dのタイルマップって、複数のタイルまとめてコピペできない・・?

6つのタイルマップで、多重スクロールさせて、
超巨大なマップ作ったら、
リテイク来て、修正が膨大すぎてイライラしてる・・オワタかもしれん・・
2022/07/22(金) 07:59:20.71ID:wn0sZukN
メシウマ
615名前は開発中のものです。
垢版 |
2022/07/22(金) 14:12:11.43ID:nysWIF2/
>>614
ごはんがおいしいの?
何を食べているのですか?
2022/07/23(土) 00:50:50.74ID:7DQQxkI7
人間
617名前は開発中のものです。
垢版 |
2022/07/23(土) 03:22:57.18ID:lO1vgBXw
なんのゴハンがおいしいか教えれ
2022/07/23(土) 03:25:29.25ID:7DQQxkI7
人間のチャーシュー
619名前は開発中のものです。
垢版 |
2022/07/23(土) 05:14:10.67ID:6PxV5kMf
そんなものよりも
「赤いきつね」のうどんがおいしいぞ
2022/07/23(土) 05:16:35.41ID:7DQQxkI7
赤い人間チャーシュー
緑の人間ミンチ
621名前は開発中のものです。
垢版 |
2022/07/23(土) 05:31:14.44ID:6PxV5kMf
>>620
このハゲ!
2022/07/23(土) 12:23:26.47ID:yOHhpwjE
unityを3Dアニメソフトとして使っています。タイムラインのアニメーション再生時に表示したくないオブジェクトを非表示にする上手いやり方はありませんでしょうか?ヒエラルキーの目のアイコンで非表示にしてもシーンビューで消えるだけでゲームビューでは表示されてしまいます。いまは表示したくないオブジェクトをアクティベーショントラックで無効にしてしのいでいますがタイムラインが煩雑になります。なにか他に方法はありませんか?
2022/07/23(土) 13:48:50.74ID:eRPw3JcK
プライバシーポリシーを置いておくHPははてなブログでもいいでしょうか?
2022/07/23(土) 15:06:00.71ID:93givcjo
3Dの見下ろし型のRTSゲームを作ってます。
プレイヤーの視認範囲や攻撃範囲を円や扇型で表示したいのですが説明してるサイトなどありますでしょうか?
当初はgizmoで表示してたのですがgizmoはコンパイルすると表示されないものらしく困りました。
コンパイル後もgizmoを使える技などあれば変更なくて助かるのですが。
625名前は開発中のものです。
垢版 |
2022/07/23(土) 17:09:52.20ID:W9YiQOmo
非推奨になったvscodeのdebbuger for unityの代替プラグイン教えてくんろ
626名前は開発中のものです。
垢版 |
2022/07/23(土) 18:41:19.71ID:VjjU8Ihz
>>625

             「 ̄ `ヽ、   ______
             L -‐ '´  ̄ `ヽ- 、   〉
          /           ヽ\ /
        //  /  /      ヽヽ ヽ〈
        ヽ、レ! {  ム-t ハ li 、 i i  }ト、
         ハN | lヽ八l ヽjハVヽ、i j/ l !
         /ハ. l ヽk== , r= 、ノルl lL」
        ヽN、ハ l   ┌‐┐   ゙l ノl l
           ヽトjヽ、 ヽ_ノ   ノ//レ′
    r777777777tノ` ー r ´フ/′
   j´ニゝ        l|ヽ  _/`\
   〈 ‐ 知ってるが lト、 /   〃ゝ、
   〈、ネ..         .lF V=="/ イl.
   ト |お前の態度が とニヽ二/  l
   ヽ.|l         〈ー-   ! `ヽ.   l
      |l気に入らない lトニ、_ノ     ヾ、!
      |l__________l|   \    ソ
2022/07/23(土) 21:18:48.73ID:iqhHgwjq
 
 凸

やぁ、ここに5億円ボタンがあるんだけど?
押したら1BTCが年末5億円になるけど、同時にキミのリグが5兆℃になるんだけど押す?(´・ω・`)ノ凸”ポチッ
2022/07/23(土) 22:46:01.04ID:SKYRTLW0
ゲームビューでmaximaize on playにして実行したとき(たぶん)
update内でtranslateで左右に動かしてるだけの敵オブジェクトが
倍速くらいの高速になってしまうことがある気がするのだけどなんででしょうか?
629名前は開発中のものです。
垢版 |
2022/07/24(日) 12:58:16.96ID:4CMuS3TQ
unityでゲームを作りたいんですが、プロジェクトを開こうとすると、プロジェクトが開けませんでした。ログを確認してください。
の表示がでてきて開けません。unityをインストール際に何か間違ったことをしてしまったんでしょうか?
無知ですいません。誰か教えてほしいです。
2022/07/24(日) 20:00:35.11ID:zvm8kgD5
>>629
エラー見てわからないなら別バージョンのUnity入れてそっちで作り直せ
2022/07/24(日) 23:12:02.91ID:M18kxio8
可視化したレーザーポインターみたいなのを実装する場合にDebug.DrawRayって使っても大丈夫?
わざわざギズモ有効にしてゲーム画面に表示するってちょっとおかしいしやり方な気がする
632野球マン
垢版 |
2022/07/24(日) 23:20:27.71ID:pHV/jFiI
>>631
あれって実際のゲームでは使えないはず
2022/07/25(月) 01:21:12.42ID:nTGaRa8q
>>632
やっぱそうなんだありがとう

使えるテクみたいに色んなサイトに載ってるのにそもそもギズモ有効にしないとゲームビューに表示されないからおかしいと思った
普通にラインレンダラー使うわ
2022/07/27(水) 16:38:23.20ID:ZL2cLi5n
ボタンを押すとブラウザ起動して自分のHP表示するようにしてたのですが
Application.OpenURL("https://〇〇〇〇");

最初はちゃんと開いてたのですが、昨日からタブレットでもエディタ上でも開かなくなりました。
UI.Buttonなので押したらボタンの色は反転するのですが、ブラウザが起動しません。

OnClickも外れていませんし、ちゃんとメソッドもセットしてあります。
ここの部分は特に弄ってなかったのですが、どういった理由が考えられるでしょうか
2022/07/28(木) 13:46:36.87ID:Wp+28Pqq
その次の行が実行されるのを何かで確認
URL変える
2022/07/28(木) 22:56:52.87ID:y2Sw4HMW
シェイプのアニメーションで、前のアニメーションで指定したシェイプの値を維持したまま次のアニメーションに行ってもらいたいんですけどどうすればいいですか
例えば目を瞑るアニメーションを再生させた後に、AnyStateで口だけ動かしているアニメーションに移行させると目が開いてしまいます
2022/07/31(日) 03:55:57.98ID:7uRcxdN+
>>635
よく見たらなんかの弾みでmissingになってただけでした
すみません
2022/07/31(日) 06:50:31.83ID:t/JbTJ+u
スマホ向けの軽めのゲームを作りたいんだけど
テンプレは使ったほうがいい?
少し改造するだけで出品できると聞いた
2022/07/31(日) 13:02:07.61ID:acbIBxWy
何の脈絡なくていいから、今やってるセールでオススメあったら教えて
640名前は開発中のものです。
垢版 |
2022/08/02(火) 10:14:25.44ID:cm8pYqVl
最近突然、ソースコードのコメントが文字化けしてしまうことが多くて困っています。
一度文字化けすると元に戻ることは無いです。
以前はこのような事が無かったのですが、どうすれば治りますか?

●使用環境
Unity ver : 2021.3.4f1 Personal
エディター : Microsoft Visual Studio Community 2019 Version 16.11.15
OS : Windows 10 Home
2022/08/02(火) 10:58:31.83ID:9uDCwLja
https://qiita.com/AinoMegumi/items/790c6ef29266a412086c
2022/08/02(火) 21:18:07.17ID:ieF2KsnS
子オブジェクトを条件でDestroyしたあとに、親からもう一回子オブジェクト(Destroyされなかったもの)を列挙したいんだけど、Destroyされる前のTransform配列しか帰ってこない。何が原因なんだろうか。
2022/08/02(火) 21:46:26.19ID:Fy/TpUl4
たまにはUnity公式のリファレンスを読むといいDestroyしてもそのフレームの最後までは破棄されない仕様になってる
条件に合わなかったものを列挙したいだけならLinqでも単純なfor文でもできるじゃろ
2022/08/02(火) 23:03:22.32ID:70QeP6tm
IKの繰り返し回数設定する項目ってどこにあるかわかる人いますか?
MMD4Mecanim等使ってモデルを読み込んだ段階でIKの情報もインポートされているとは思うのですが設定項目が見つからず…
2022/08/02(火) 23:41:50.72ID:sEsLmcTo
>>643
ありがとう
HierarchyしかみてなかったからDestroyのタイミングが問題だとは思ってなかった。
2022/08/03(水) 15:40:04.97ID:hAhPT9sa
お世話になります。
UIElementsのButton要素にクリックイベントを実装したところ、1クリックしかしていないのに複数回メソッドが呼ばれてしまい困っております。
処理内容の関係で実質1回呼ばれたのとほぼ変わらないため実害は無いのですが、1クリックで1回しか呼ばないようにするにはどのようにすればよろしいのでしょうか?('A`)
関係のありそうな情報を以下に記述いたします。

UXML階層:
GroupBox1
└Button1

C#スクリプト概略:

using UnityEngine;
using UnityEngine.UIElements;

public class TestClass{
 private UIDocument uiDoc;
 private Button button1;

 // 略

 void Init(){
  // 中略(初期化など)

  this.button1.clicked += TestMethod;
 }

 void TestMethod(){
  Debug.Log("Clicked!");
 }
}
2022/08/03(水) 15:43:03.03ID:hAhPT9sa
実際のC#スクリプトを実行した時のコンソール:

[15:00:00] [Button1] Clicked!
(UnityEngine.Debug.Log (object)
[15:00:00] [Button1] Clicked!
(UnityEngine.Debug.Log (object)
[15:00:00] [Button1] Clicked!
(UnityEngine.Debug.Log (object)
[15:00:00] [Button1] Clicked!
(UnityEngine.Debug.Log (object)
[15:00:00] [Button1] Clicked!
(UnityEngine.Debug.Log (object)
2022/08/03(水) 17:55:13.15ID:bQG8EleD
やったことないからエスパーだけど、
何度も += の行呼んでたり?
2022/08/03(水) 18:33:58.91ID:hAhPT9sa
>>648
返信ありがとうございます。
このクラスを使用しているのは現時点で1つのC#スクリプトのみでして、+=など各種初期化を担っているこのメソッド(Init)もそのC#スクリプトで定義しているクラスのStart()内でしか呼び出しておりません。
なので+=の箇所を何度も呼んでいるとは思えないのです('A`)

嫌な予感がして他のマウス関連のイベントも調べてみたところ、同様の現象が発生していた事が判明いたしましたorz
これらもやはり処理内容の関係で実質1回呼び出しみたいなものなので実害は出ておりませんが……気が付きたくなかった……('A`)
2022/08/03(水) 18:57:46.34ID:1dyho7Lg
>>649
>+=の箇所を何度も呼んでいるとは思えない
さすがにそんな凡ミスじゃないとは思うけど、そこが一番疑わしい場所だからそれを確認してないのが気になる。ログ差し込んでしっかり確認してから質問した方がよくないか?
651野球マン
垢版 |
2022/08/03(水) 20:47:38.33ID:vbIiPHPT
>>646
this.button1.clicked += TestMethod;

clicked
ってどこで呼び出してるの?
https://docs.unity3d.com/ja/2019.2/ScriptReference/UI.Button.html
buttonにデフォルトで付いてて自動的に呼ばれるものではなさそうだが
2022/08/03(水) 21:16:45.48ID:hAhPT9sa
>>650
確認まではしていなかったので、あとで確認してみようと思います。

>>651
UIはUIでもそっちのUIではなく、UnityEngine.UIElementsの方なのです。

検索でヒットする情報の多さ的に、素直にそっちのUIを使った方が良かったかなぁ('A`)
653野球マン
垢版 |
2022/08/03(水) 21:30:52.37ID:vbIiPHPT
>>652
なるほど
新しいやつか
2022/08/03(水) 21:47:29.07ID:qzkWCMzH
>>649
まあ思えないのですじゃなくて確認しろ感はある
655野球マン
垢版 |
2022/08/03(水) 21:54:47.29ID:vbIiPHPT
>>652
https://www.matatabi-ux.com/entry/2021/09/16/100000
this.button = this.uIDocument.rootVisualElement.Query<Button>().First();
この行を参考にしたらいいんじゃね?
「First()」ってのが「発生したイベントの最初のやつ」を検知してるんだと思うんだが
新しい機能に疎くて正確な助言はできないが
656野球マン
垢版 |
2022/08/03(水) 22:11:18.70ID:vbIiPHPT
「最初のイベント」という条件を設定してないから「クリックしてる間の全てのクリックイベント」
を検知してしまってると思われる
2022/08/04(木) 03:02:34.91ID:YJ4N8nc8
>>655
ボタン用そのうち最初のもの、じゃないんか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況