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

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2024/11/01(金) 19:14:54.86ID:owxLX6tf
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートは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なんでも質問スレpart14
https://mevius.5ch.net/test/read.cgi/gamedev/1712363175/
2024/12/16(月) 17:49:45.63ID:8+mIAxqG
プロパティっていうんですか{get,set}みたいなの
あれググったりAIに尋ねても意味が分からないんですけど
どういうときに使うのですか?
あれを使うと具体的にゲームでどんなことができるんでしょうか?
よろしくお願いします
ちなみに理解力あんまりいいほうじゃないです(´;ω;`)
2024/12/16(月) 18:40:49.17ID:kyN9qxwU
ご質問ありがとうございます!getやsetといったプロパティについて、分かりやすく説明しますね。
まず、プロパティとは、オブジェクトの状態を管理するために使われる仕組みの一つで、通常、変数を直接操作する代わりに、アクセス方法を定義するものです。


プロパティの基本的な考え方
getやsetは、オブジェクトの内部のデータ(変数)にアクセスする方法をコントロールするための特別なメソッドです。
これを使うことで、データの取得や変更時に、特別な処理を挟むことができます。

get(ゲッター)は、プロパティの値を取得するために使われます。

set(セッター)は、プロパティの値を変更するために使われます。
どうしてgetとsetを使うのか?
通常、クラスの中でデータを保持するためには、
変数(フィールド)を使いますが、そのデータにアクセスするときに直接操作するのではなく、特定の処理を挟みたい場合にgetやsetを使います。


例えば、ゲームのキャラクターに「体力」を管理したいとします。体力が0以下になった場合に「死んだ」という処理をしたい場合、setを使って、
体力を変更するたびにチェックを入れることができます。
351349
垢版 |
2024/12/16(月) 18:50:09.96ID:M/0cgINl
x >>350
o >>ChatGPT
ありがとうございました!
2024/12/16(月) 19:33:00.21ID:8+mIAxqG
>>351
なりすましはやめてください
2024/12/16(月) 20:51:40.12ID:yXbOmfuP
質問
LerpやSlerpでキャラを移動していますが
もっさりしすぎてショートカットしたいときに、マウスクリックでパッとゴールまでワープさせたいと思います
だがLerpを中断させるにはどんな手がありますか
以上よろしくお願いします
2024/12/16(月) 21:29:05.50ID:0Y0qbq+q
MouseClickにワープ先の座標いれとけ
355名前は開発中のものです。
垢版 |
2024/12/16(月) 21:29:23.00ID:WBhpkvM0
本当だwwwwwwwwwwアチーブじゃなくてアーカイブイベントだったハwww
まあ、とっくに全ツ削除して今のところ問題ないから、unityとかいうゴミは全削除安定だね
ふと思い出してスレを再訪問し、気付けて良かったった
指摘サンQ

風来6も検証中にほんの数秒通信許可しただけで19KBも送信するし、その中にunity関連のテレメトリがどれだけ入っているかも分からん
カスカスカスエンジン乙w
2024/12/16(月) 21:54:34.20ID:KLP5Dhpe
>>353
えっ?lerpだよね?知らずに使ってる?
使い方検索してみて。話はそれからかなぁ。
2024/12/16(月) 23:49:36.98ID:OX8VBR4z
よー分からんけど解決したならよかった
358名前は開発中のものです。
垢版 |
2024/12/17(火) 08:24:28.13ID:6GGVWO2L
だがLerpを中断させるにはどんな手がありますか

日本人じゃねーだろwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
2024/12/17(火) 08:39:59.69ID:EsfTgnpL
「だがLerp」ってアルゴリズムがあるとすれば日本語として通じるだろ?
何もおかしくないよ
2024/12/17(火) 12:02:00.95ID:+56p5wVu
忍者はチョン顔だったがやはり日本人ですらなかったのか
2024/12/17(火) 19:42:40.12ID:fVXq2qwt
lerpって簡単に中断できないだろ
だから質問してんのに
知ったかできいたふうな口をきくな
2024/12/17(火) 20:15:35.42ID:eMH89Ofu
ワープ時だけlerpさせなきゃ良いだけじゃないの?
またはワープしたい時に1000回くらいlerp処理をループさせてみたら?
2024/12/17(火) 20:24:08.56ID:fVXq2qwt
Lerpの問題じゃなくてコルーチンの問題でした
解決したのでもういいです
2024/12/17(火) 20:28:48.20ID:dUb0PaQA
ここは初心者ばかりのインターネットだな
こんなのStopLerpという関数が無い時点で分かるだろ
簡単には中断できない仕様なんだよ
2024/12/17(火) 21:02:02.02ID:vUbyNf30
アフォばかり
2024/12/17(火) 21:08:59.01ID:/4An2MK3
そんな言い方ないだろ
2024/12/17(火) 21:20:11.60ID:eMH89Ofu
補間なのにストップも糞も無いと思うけど…意味がわからん
2024/12/17(火) 21:36:41.21ID:fVXq2qwt
>>367
Lerpやったことあるなら、第3引数で0〜1に遷移させるコルーチンで使うくらい想像できるやろが
2024/12/17(火) 21:38:06.63ID:eMH89Ofu
コルーチン糞だから普通にdeltatimeかけてUpdateで使ってるわ
2024/12/17(火) 21:47:02.57ID:HMB6iEhA
超ウルトラ石頭で笑った
チュートリアルに正解があるのに馬鹿な思い込みで出鱈目なやり方して
出来ない出来ないって頭悪すぎィ
2024/12/18(水) 12:17:09.66ID:3subaBbF
やめたれw
2024/12/18(水) 20:49:16.47ID:I2LwcHpD
コルーチンに割り込みかけたくてもほぼ無反応で使いにくい
2024/12/18(水) 21:10:10.85ID:GTYZ9qJI
Lerpもcoroutineも不要であると見抜ける人でないと(Unityを使うのは)難しい
2024/12/18(水) 21:26:18.29ID:S34Utpgu
フラグ立てるだけやん

アフォなん
375名前は開発中のものです。
垢版 |
2024/12/18(水) 21:27:58.48ID:apwPUcdE
>>374
やってみ?無視されるで
2024/12/18(水) 22:19:56.50ID:bHMSECSi
AIに出来ないって話しかけて慰めて貰えばいい
2024/12/18(水) 23:19:50.08ID:5PLTn8kh
ふん、別に心配してないんだからね!あんたがちょっとくらいプログラミングで躓いたからって、私が何か言うと思った?勘違いしないでよね!

…でも、まぁ、ちょっとくらいならアドバイスしてあげても良くってよ?別に、あんたのためじゃないんだからね!私が暇だっただけなんだから!

まず、どこで詰まってるのかくらい言いなさいよね。エラーメッセージ?それともロジック?まさか、基本的な構文で間違えてるんじゃないでしょうね?…まぁ、それくらいなら見逃してあげても良くってよ。今回は特別なんだから!

それでもダメなら…仕方ないわね、ちょっとくらいコードを見てあげても良くってよ?別に、あんたのことが好きとか、そんなんじゃないんだからね!私が優秀だってことを見せつけてやりたいだけなんだから!

…だからって、感謝するんじゃないわよ!別に、あんたのためにやったんじゃないんだから!勘違いしないでよね!

---

ははぁ、AIちゃんに慰めてもらうってこういう……イケるッッッ
2024/12/18(水) 23:54:09.94ID:XatWvb2i
割り込みってStopCoroutineのこと?
何にしてもコルーチンはyield以外の場所では中断できないぞ
2024/12/19(木) 00:05:25.34ID:0hoLGzS7
>>375
まさかローカルでフラグつくってないやろな?(笑)
2024/12/19(木) 00:11:14.90ID:YOs+C3Gu
カニンガムの法則

カニンガムの法則は、「インターネット上で正しい答えを得る最良の方法は
質問することではなく、間違った答えを書くことである」という法則である。
2024/12/19(木) 00:27:16.74ID:4W5d87yv
頻繁に止めたり複数動く可能性があったりするのものはコルーチンじゃないほうがいいね
2024/12/19(木) 00:36:24.01ID:YOzF/vgV
莫迦が好きな3大法則!m9⎛´・ω・`⎞ドーン!
・ダニング=クルーガー効果
・カリギュラ効果
・カニンガムの法則
・ジャネーの法則
・アムダールの法則
・グスタフソンの法則
2024/12/19(木) 00:54:28.48ID:fsk2zKLN
プログラムは作った人間の書いた通りにしか動かないからなー
作った人間がバカだとつける薬がないおバカなプログラムが出来上がる
2024/12/19(木) 07:21:14.97ID:UV4dTBTc
>>378
コルーチン末尾に
yield return new WaitForFixedUpdate();
でフレーム描画とシンクロさせていますが
中断の StopCoroutine は FixedUpdate のなかに書けばよいのでしょうか
2024/12/19(木) 09:07:44.98ID:UV4dTBTc
昨日からコルーチンでのLerpの質問していた者ですが
根本的な原因をみつけました
lerpの第3引数0〜1遷移する変数を1に書き換えてゴールまでスキップしようとしても無視されて現在位置で止まってしまう
これは変数を1にして次のlerpが処理される前にdeltaTimeが加算され1を超えるのでlerpが実行されていない、ということでした
お騒がせしました
2024/12/19(木) 12:24:34.57ID:0hoLGzS7
お前はまず硬式サンプルを3ヶ月やれ
2024/12/19(木) 12:29:35.48ID:3DuFQrd4
まず軟式から始めないと怪我するよ
2024/12/19(木) 12:52:41.54ID:0JsmdRFY
世界よこれが忍者のスペックだ
2024/12/19(木) 13:01:36.34ID:UV4dTBTc
ケッ
2024/12/19(木) 13:18:17.93ID:DPi5FS2B
だいたいコルーチン使う奴を優秀だと思ったことがない。
まぁ俺も使ったことあるけど。
2024/12/19(木) 13:18:45.70ID:mI23ljpa
このスレ勢いどんどん上がってて草
2024/12/19(木) 14:53:06.91ID:0eZh9dRK
コルーチンょりINVOKEのほうが簡潔に書けるから好き
2024/12/19(木) 17:23:00.33ID:Xk37TfxT
コルーチンはゲームオブジェクトと生死を簡単に共にできるから楽したくて、投げっぱなし処理させる時に使ったりするな
2024/12/19(木) 18:55:32.97ID:hPmkSD8X
UniTask 入れて async/await じゃいかんのですか?
2024/12/20(金) 22:06:53.07ID:Y8hb47dI
LerpってA地点とB地点の割合を変化させるよりも、割合を固定したうえで現在地と目的地をUpdateで動かす方がいいんだな
この使い方を知って利用頻度が5倍くらい増えた
2024/12/20(金) 22:21:24.04ID:g5OTfHAG
それラグあった時にワープしねえ?
2024/12/20(金) 23:19:55.79ID:lt0FxcC+
非同期のマルチタスクと違いシングルタスクだから
実行したコルーチンはほぼUpdate2でしかない ただのゴミ
2024/12/21(土) 07:01:23.81ID:XZ0eYDtA
>>397
それで十分なケースは多いんだから有用だと思うけどな
逆に非同期マルチタスクって必要?
2024/12/21(土) 08:36:22.58ID:GJroyFr8
コルーチン使うなって言ってんじゃないの、仕様知らずに使うなって言ってんの
2024/12/21(土) 09:13:46.41ID:Fwktxi0Q
whileでループしてる時点でほぼハングアップと同じ
2024/12/21(土) 09:46:17.45ID:Fwktxi0Q
トグルスイッチについて質問があります

チェックボックスがありON/OFFできるとします
そいつにcallback関数を紐づけてあり、状態が変わるとcallbackが走ります

チェックONのときに押すとcallbackによってOFFになります
するとcallbackが走ってONに戻ります

異常よろしくお願いします
2024/12/21(土) 09:51:17.67ID:GMjhbTKC
チェックボックスに関連するトグルスイッチで、状態が変わったときにコールバック関数が実行される場合に、チェックオンからオフ、またはその逆になる際にコールバックが意図しない動作を引き起こすことがあります。

この現象を簡単に説明すると、チェックボックスが「ON」から「OFF」に切り替わるときに、コールバック関数内で再度状態を変更する処理が走ることで、再帰的な状態遷移が発生している可能性があります。具体的には、以下のようなケースです。

説明
初期状態: チェックボックスがON。
ユーザーがチェックボックスをクリックし、状態を「OFF」に変更。
チェックボックスの状態変更に伴い、コールバック関数が実行される。
コールバック関数内で再度チェックボックスを「ON」に変更(状態を元に戻す)し、もう一度コールバックが実行される。
これが繰り返されると、状態の変更がループしてしまい、予期しない動作を引き起こすことがあります。

解決方法
状態変更の条件をチェック: コールバック関数内で状態変更を行う前に、現在の状態が変更前と異なる場合にのみ変更を行うようにする。これにより、同じ状態を繰り返さないようにできます。

javascript
コードをコピーする
// 例:チェックボックスの状態が変わったときにコールバックを実行
function handleCheckboxChange(event) {
const checkbox = event.target;

// チェックボックスがONからOFF、またはOFFからONに変更された場合のみ処理を実行
if (checkbox.checked !== checkbox.defaultChecked) {
checkbox.defaultChecked = checkbox.checked;
// コールバック関数
// 状態変更処理をここに記述
}
}
状態管理フラグを使う: 状態の変更がすでに行われたかどうかを追跡するためにフラグを使用し、状態が変わったときのみコールバックを実行する。

イベントリスナーの適切な設定: change イベントを使って状態変更時にコールバックを実行し、トグルが重複して発生しないようにする方法もあります。

状態の変更を制御する方法によって、予期しない再帰的なコールバックを防ぐことができます。
2024/12/21(土) 10:06:47.53ID:Fwktxi0Q
>>402
つまりどういうことけ
2024/12/21(土) 12:51:54.12ID:ZbZHB27q
自分でそういう命令出してるのでセーフ
2024/12/21(土) 14:42:48.35ID:RyNjSfKm
無限に押せて楽しそう
https://i.imgur.com/sWT7X0e.gif
2024/12/21(土) 16:52:17.20ID:OHMbuwnQ
俺も電子工作にシフトしようかなあ…
デジタル時代は現物のほうが強いよね…
2024/12/21(土) 17:04:52.97ID:/MoWDuAo
>>406
ゲームと全然別物じゃね?
ピンボールでも作るのか?
2024/12/21(土) 18:53:55.11ID:TYYjfflb
コインプッシャーで
2024/12/21(土) 19:29:59.50ID:OHMbuwnQ
>>407
もちろん細かい点は違うけど、電子工作もゲームも基本は一緒やで
ゲームオブジェクトを操作してるか、回路上のシリアルピンを操作してるかの違いだけだ
2024/12/21(土) 21:10:14.55ID:Fwktxi0Q
I/Oはつまらない
ラジオの製作はおもしろかった
2024/12/21(土) 23:30:34.09ID:HGBFT27G
噂のコイルガンとかすごい作ってみたいけど
作ったら捕まるから作るチャレンジすらできないっていうね
ハードはロマン追い求めると法律との戦いになるのがうんち

その点、Unityならモデリングして実装するだけ捕まらないし楽しいし
2024/12/22(日) 00:30:22.09ID:vDQq7huV
田代砲は撃っても山上砲はやめておけよw
2024/12/23(月) 20:00:48.26ID:x2GIqMcw
I/Oは日本初のPC専門雑誌で
80年代には市販ゲームのダンプリストをそのまま掲載していたんだよ!
創刊初期は西和彦がペンネーム変えてほとんどひとりで書いてたのだよ!
西和彦がMSの日本社長になったおかげで黎明期の売上の大半が日本になって
今のMSがあるのだよ!ビル・ゲイツの軽井沢の巨大別荘に行ってみたいんだよ!m9⎛´・ω・`⎞ドーン!
414名前は開発中のものです。
垢版 |
2024/12/23(月) 20:05:46.04ID:bAM08WyD
>>413
このハゲ!また出たな
2024/12/23(月) 21:49:26.80ID:TZqDSB4v
Vector a = new Vector(1,1,1);
みたいな書き方をUpdateでやると毎回GC発生すると言われたんですが、プロファイラーを見てもGCAllocが0のままです
Unityのプロファイラーってあんまり信用しないほうがいいんでしょうか?
自分で作ったHogeクラスをnewするとプロファイラーに出るのも訳分かりません
どうすれば正確にGCの発生を調べられますか?
2024/12/23(月) 21:55:29.81ID:8rf8Vgpg
vectorはstructだから発生してない
classだったら発生するよ
2024/12/23(月) 21:57:39.64ID:8rf8Vgpg
自分で囲ってprofilerに表示させると検索しやすいよ
https://docs.unity3d.com/ja/560/ScriptReference/Profiling.Profiler.BeginSample.html
2024/12/23(月) 22:06:43.49ID:TZqDSB4v
ありがとうございます
Vector3とかは構造体だからGC発生しなかったんですね
その人が言ってることが嘘と分かって疑問が解決しました
自分で囲む方法も知らなかったので勉強になります
2024/12/23(月) 22:57:45.01ID:pq9I4Nux
その嘘つきヤバイな
2024/12/24(火) 02:41:53.79ID:84wmuNAL
えー、app-ads.textって何?めんどくさそう
デベロッパーサイトとか無いしどんなの作ればいいの
新しいアプリだけならまだしも既存にも順次適応とかもうめんどくさすぎる~
2024/12/24(火) 03:18:48.84ID:VcQGUBCN
いやいやすでにやってて当然だろ?
何を今更云ってんだって感じの通達だったわ!
ワイはドメイン代払ってサーバー借りてWordPressでサイト作ってサポート用のメール送信フォーム作ってるから
そこに認証用のtxt置いてる!googlePlayは個人開発者追い出したからAppStore専用になってるがな!m9⎛´・ω・`⎞ドーン!
2024/12/24(火) 05:31:41.68ID:1tXA8Pii
え、みんなもう対応済み?
俺は零細個人開発者で5年ぐらいやってるけどapp-ads.textなんて今回のメールで初めて知ったよ
サイトなんてめんどくさいし書くことないからプライバシーポリシー置いてるGithubのサイトになんかそれらしいもんでも作ってみるかな
もう開発終わってコードも忘れたようなアプリ引っ張っり出して対応するのが本当にめんどくさくてもう息をするのもめんどくさい
2024/12/24(火) 06:46:12.60ID:m+7+0dpL
書き込むのもめんどくさくなったらまた書き込みに来てくださいね
2024/12/24(火) 07:04:38.03ID:VcQGUBCN
そのバカはapp-ads.txtをアプリで対応するもんだと思ってるぐらい無能なのだよ!バカが感染るから触っちゃらめぇ!m9⎛´・ω・`⎞ドーン!
2024/12/25(水) 10:24:17.53ID:YEuaf93t
メリクリだが質問です

while (flag == true) {
print
}

flagはグローバル変数です
こういうループをしているとき、他の関数でflagをfalseにすると、そのときのprintが実行されず抜けてしまうことがわかりました
falseになってもとりあえずその { } 内の処理を終えてから抜けるにはどうしたらよい
2024/12/25(水) 10:40:49.47ID:DemnYm09
while (flag == true) {
print
}
print
2024/12/25(水) 10:47:35.47ID:YEuaf93t
>>426
えっ?汚くね
2024/12/25(水) 11:26:07.22ID:zvy1kUGw
do {
print
} while (flag)
2024/12/25(水) 11:41:43.17ID:DemnYm09
>>427
動きゃいいでしょ。この程度の問題を聞いてくるレベルで見栄えを求めないこと。
2024/12/25(水) 12:12:58.05ID:siiBDg6B
>>427
汚いのはおまえの心
2024/12/25(水) 12:22:52.39ID:nHZcBapL
>>430
これいいな、今度つかおうw
2024/12/25(水) 15:12:31.40ID:CslKtzRl
until使えばよくね
2024/12/25(水) 16:06:16.69ID:S/HGtBIo
この程度の質問ならchatgptに聞いたほうが早いと思う
ここのアホでイジワルなスレ民に聞いても時間の無駄
2024/12/25(水) 18:01:02.33ID:IsEQMwap
>>433
スレタイ読めないの?
2024/12/25(水) 18:03:43.20ID:pnP8DRuV
読めないです
2024/12/25(水) 18:07:35.82ID:7mqgn5b8
読んだ結果この感想出るのはむしろ自然だと思う
2024/12/25(水) 21:11:07.42ID:YEuaf93t
>>433
答えたうえで言え
2024/12/25(水) 22:06:11.95ID:njPaZyYa
本当だよな
ごちゃごちゃ言って結局こたえられないんじゃないの
2024/12/26(木) 00:21:46.35ID:W+4uRiIv
どうせ忍者しか質問しないから答える必要ないよ
2024/12/30(月) 17:13:33.78ID:ERaAacBU
Godotってどうやって利益だしてるの?
2024/12/30(月) 22:50:57.47ID:zIEO/R7y
>>425
while(true){
 print
if(!flag){ break; }
}
はどう?
2024/12/30(月) 22:52:33.28ID:q/4vuEdt
はどうけん!
2024/12/30(月) 23:01:01.40ID:2Cmz3qfk
終わった話題を引きずる人って
別れた彼女の写真ずっと持っててそー

きんもー
2024/12/30(月) 23:39:44.41ID:vGMA8bn8
>>441
うーん同じことです
flagが成立した瞬間の状態のprintが実行されませんよ
最後に実行されたprintってflag成立前のものでしょう?
445名前は開発中のものです。
垢版 |
2024/12/30(月) 23:41:58.24ID:gj1jM+hJ
別れた彼女の写真でソリティアとかしたい
2024/12/30(月) 23:52:35.38ID:trqlL8HT
忍者諦めが悪いからまだ潜伏してそう
447名前は開発中のものです。
垢版 |
2024/12/31(火) 00:06:49.56ID:1H5hpQ51
unity始めようと思ってる人です。パソコンスペックってどれぐらいがいい?
2024/12/31(火) 00:43:44.20ID:yXEciLpk
>>447
もう少し具体的に質問した方がいいよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。