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

■ このスレッドは過去ログ倉庫に格納されています
2024/04/06(土) 09:26:15.89ID:JtjkMKYk
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートは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なんでも質問スレpart13
http://mevius.5ch.net/test/read.cgi/gamedev/1704808845/
348名前は開発中のものです。
垢版 |
2024/07/08(月) 19:28:46.27ID:TUmTdo9o
VFX Graphでバージョン2023.2.20f(最新バージョン)だとノードの出力部分に分離機能がないです
半年前のバージョンの2023.2.20fだとノードの出力部分に分離機能があります
分離というのはシェーダーグラフで例えるとスプリットです
新バージョンの分離機能はどこにいったか分かりますか?
2024/07/13(土) 08:49:19.20ID:/0PycNBt
質問です

public string assetName => $"abcEffect.{name}";

こういう変数宣言があるんですけど
このラムダ式にしている意味を教えてほしいのである
2024/07/13(土) 10:01:23.43ID:Npd64lK/
意味?したいからやろ
2024/07/13(土) 10:03:04.80ID:/0PycNBt
>>350
答えられんなら出てくるな
2024/07/13(土) 10:29:45.40ID:gFpiL+hG
したいからとしか言いようがないわな
あと、それは変数宣言ではない
2024/07/13(土) 11:13:29.27ID:/0PycNBt
>>352
「言いようがない」なら黙っとけ
2024/07/13(土) 12:57:57.28ID:CvMAVi1X
意味はないある
2024/07/14(日) 14:28:42.56ID:GtN6L5P9
そのコードにした人の習慣だけど、強いて言うなら短いからじゃない?
2024/07/14(日) 14:52:07.08ID:T7j2ATLe
>>355
理由はきいておらん意味をしりたいのである
2024/07/14(日) 15:08:41.97ID:xKBnT3Fd
意味などないある
記法がないある事で何かがないある
358名前は開発中のものです。
垢版 |
2024/07/14(日) 19:08:36.55ID:zt4sLw5H
煽るにしても日本語で伝わるように書いてくれ
2024/07/14(日) 20:16:49.16ID:LGuBexn+
>>349をそのままChatGPTに投げてみた

このコードは、C#のプロパティ宣言の一例ですね。ここで使われているラムダ式(=>)は、矢印関数またはラムダ式として知られています。具体的には、assetNameというプロパティが定義されており、その値は文字列リテラルの補間を使って計算されています。

ここで$を使った文字列補間は、中括弧 {} 内に変数や式を埋め込む方法です。nameという変数(おそらくクラス内の別のプロパティまたはフィールド)の値が、abcEffect.という文字列の後ろに続いて追加されて、最終的にassetNameの値となります。

このようなラムダ式を使うことで、プロパティの値が動的に計算されるため、柔軟性が増し、コードが簡潔になります。
2024/07/14(日) 20:17:59.82ID:dbzTY/RG
なら、それを記述した人に聞かないと分からないと思うの。
2024/07/14(日) 20:25:44.19ID:T7j2ATLe
つてことは

public string assetName = "abcEffect." + name;

とおなじことなんですけ?
2024/07/14(日) 20:37:29.11ID:LIEaBwaL
違う

getterの省略形
2024/07/14(日) 21:37:40.74ID:T7j2ATLe
>>362
ちゃんと具体的にコードで書くあるよ
2024/07/14(日) 21:40:26.84ID:LIEaBwaL
それで調べられないレベルならGAMEOVERだろ
2024/07/14(日) 22:11:08.83ID:GDWz+zPs
遅延評価だね
2024/07/14(日) 22:22:54.45ID:T7j2ATLe
public string assetName = "abcEffect." + name;

だとダメな理由をおしえてほしいのである
2024/07/14(日) 22:29:43.82ID:RZHvmMZr
それで用が足りるならダメではない
2024/07/14(日) 22:43:55.82ID:LGuBexn+
再びChatGPTに聞いてみた
public string assetName = "abcEffect." + name;
との違いは?

(回答が長いので省略)
結論
assetNameが常に最新のnameの値を反映する必要がある場合、プロパティの使用が適しています。一方、nameの初期値だけに基づく固定の文字列が必要な場合は、フィールドの使用が適しています。
2024/07/14(日) 22:51:41.91ID:LGuBexn+
AIが吐いたコードも貼っとくか
自分で動作チェックはしてない
あとは知らん

public class Example
{
public string name = "initial";
public string assetNameField = "abcEffect." + name; // フィールド
public string assetNameProperty => $"abcEffect.{name}"; // プロパティ
}

var example = new Example();
Console.WriteLine(example.assetNameField); // "abcEffect.initial"
Console.WriteLine(example.assetNameProperty); // "abcEffect.initial"

example.name = "updated";
Console.WriteLine(example.assetNameField); // "abcEffect.initial" (変更されない)
Console.WriteLine(example.assetNameProperty); // "abcEffect.updated" (最新の値を反映)
2024/07/14(日) 23:44:27.15ID:xNzgnRZV
公式ドキュメント貼ってあげたら

Statement lambdas
ttps://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-expressions#statement-lambdas
2024/07/15(月) 00:15:23.41ID:zwXhQWpg
バカバカしい
nameが固定なら最初から
public string assetName = "abcEffect.initial";
って書くし
nameが変動するんならそのタイミングで再度
assetName = "abcEffect." + name;
って上書きやるだけだろ
2024/07/15(月) 00:55:02.49ID:PCgeN2sl
上書きするのを意識しなくても勝手に上書きされるんだな
2024/07/15(月) 09:39:17.44ID:ooOtqfH7
そりゃ馬鹿しかいないもん
2024/07/15(月) 09:50:13.63ID:3W3GJ09H
てかよく見たらlambdaじゃないじゃん、これ
誰だよラムダ式って言ったやつ

Unity C#: Expression-Bodied Members to Reduce Your Code Verbosity
ttps://thegamedev.guru/unity-c-sharp/expression-bodied-members-reduce-code-verbosity/
2024/07/15(月) 12:41:08.45ID:nmjPYER8
内容が短いメソッドやプロパティを書くとき、もっと簡潔に書けたらよいのにと思ったことはないだろうか?
読み取り専用のプロパティを大量に書く場合には、特にそうだろう。それがC# 6.0からは、ラムダ式を使って
簡潔に書けるようになっているのだ。C# 7.0では、さらに便利になっている。本稿ではその使い方を説明する。
2024/07/15(月) 14:46:31.69ID:liViB/GY
Unityのビルドエラーについて調べてる時、スクリプトにラムダ式があるとエラーが出ると書いてあるのを見てからラムダ式は入れないようにしている
ここ見てると皆は普通に動いてるようだし古いか間違ってる情報なんだろうけどちゃんと動いてるからそれでいい
2024/07/15(月) 17:37:00.10ID:GYa7D92L
???
2024/07/16(火) 06:24:36.90ID:BbkeSCKC
private string name;
が上にないか?
プロパティアクセサで安全に取り出してるんちゃうか
2024/07/18(木) 22:42:31.02ID:2/wojvWv
今日も元気だ暴飲暴食!ウナトトで豪遊してきた!
うな丼!キムチ!ビール500㍑!これでたったの1380円!m9⎛´・ω・`⎞ドーン!
ttps://i.imgur.com/AV6WpLs.jpeg
2024/07/18(木) 23:27:34.57ID:Flhh8KiJ
ウナギ小さっ!
2024/07/18(木) 23:40:31.02ID:2/wojvWv
小さいなら2枚にすればいいじゃない!m9⎛´・ω・`⎞ドーン!
382名前は開発中のものです。
垢版 |
2024/07/23(火) 15:30:40.12ID:5sY3dp00
質問です。
ヴァンパイアサバイバー的な全方向シューティングを作ってます。
操作はwasdで移動、マウス左クリック押しっぱなしでショットを撃ちます。
1ステージクリアごとに現在のシーンを再読み込みで次のステージが始まる仕様なのですが、
左クリック押しっぱなしの状態でシーンが開始したときに
if (Input.GetMouseButton(0)) {//ショットの処理;}
の入力が取得できてなく、ショットが出ません。
クリックを離して再度押しなおすとクリック取得できますが、理想の操作性ではないです。
シーンスタート時に押しっぱなし中のクリックを取得する方法はないでしょうか?
2024/07/23(火) 16:02:14.50ID:3sk+aYfR
スタティックなフラグ用意して押しっぱ判定
384名前は開発中のものです。
垢版 |
2024/07/23(火) 16:13:51.93ID:5sY3dp00
>>383
なるほど その手がありましたか。
試してみます。ありがとうございます!
385名前は開発中のものです。
垢版 |
2024/07/23(火) 22:38:54.01ID:5sY3dp00
試しみてうまくいったように一瞬思ったのですが、今度はショットが出っぱなしになってしまいました。
やはりシーンチェンジ>シーン開始の最初のクリックはdownもupも受け付けてくれないようなのです。
どうすればいいんでしょうか?
Globalというスクリプトを作りstatic bool osippanasiというフラグ用の変数を作りました。
以下はプレイヤーを動作するプレイヤースクリプトです。

if (Input.GetMouseButtonDown(0)) { Global.osippanasi = true; }
if (Input.GetMouseButtonUp(0)) { Global.osippanasi = false; }
if (Global.osippanasi){//ショット撃つ処理; }
2024/07/23(火) 23:17:01.51ID:3sk+aYfR
それまさかアップデートに入れてる?
処理がどの順に動くのか
今一度紙に書いて考えよ
2024/07/24(水) 16:34:00.03ID:8lBpJs1y
InputクラスじゃなくてInput Systemを使って実装すれば多分いける
2024/07/24(水) 21:50:20.57ID:pLBe31Qy
GetMouseButtonでダメなの?

ttps://miyagame.net/mouse-method/

だめならマウスのクリックはシーン跨いで管理するとか
そういう発想もありじゃないの
2024/07/24(水) 23:07:22.91ID:rWt65hYo
少し調べてみた感じだとマウスホールド時はOS側から押し下げてるよという信号が出ている訳ではないらしい
ハッキリとどういう状態で動作しているのか書いてある物が何故かないのでキーボードと何で違うのか知らんけど
ソフトウエア的に押し下げてる事にしてるだけなんじゃね?

たぶん最初に押し下げた時の入力を見落としたら、マウスホールドは検知されなさそうではある
つまり素直にトグルにすればいいだけで、一度押したらtrueで連射、もう一度押したら解除にすればいい気がする
2024/07/24(水) 23:49:34.63ID:8lBpJs1y
Input Systemならシーン再読み込み後もキーの押しっぱなし入力取得できる

InputクラスのGetMouseButtonとかはシーン再読み込み後、入力情報消えるから無理

理由は知らん、ともかく試してみて
391名前は開発中のものです。
垢版 |
2024/07/25(木) 22:35:17.74ID:4oxLzkts
385です。返信が遅くなりすみません。
教えていただいたInput System試してみようと思います。
ありがとうございます!
2024/07/26(金) 13:14:41.42ID:kixw5vhL
オンスクリーンボタンってまともに使えないのか?
2024/07/26(金) 17:35:33.39ID:FhgN5Uud
ノベルゲームを作って販売するのに適したゲームエンジンって
最適解はやっぱりUnityなの?
できるだけローコードでアセットをフル活用するのが条件で
2024/07/26(金) 17:55:25.37ID:1A8Grdxk
よければどの辺で「やっぱり」と思ったのか教えて
ちな俺はティラノがいいと思う
2024/07/26(金) 18:51:57.54ID:jvU32YAu
ツクールシリーズのADV用にラノゲツクールというのがあってだな
2024/07/26(金) 19:04:34.63ID:nRqhigXD
紙芝居なんてレンパイで十分だろwなんならノーエンジンでもおk
2024/07/26(金) 21:53:02.50ID:FhgN5Uud
393です
いろいろレスありがとうございます
他のゲームエンジンもみたのですが、
いつサービス終了するかわからない
微妙なマイナーエンジンでゲームを作るより
UnityやUEみたいなメジャーエンジンで
作ったほうがいいかなと思いまして
GDevelopとかノーコードで初心者でも扱いやすいですが
ノベルゲーム用のアセットもなければ
みんな2Dゲームばかり作ってるようなので
手を出すのもアレなので、、と考えると
やっぱりUnityが最適解じゃないかと
2024/07/26(金) 22:19:15.25ID:7siDjXDS
じゃそれでやれよ
2024/07/26(金) 22:25:29.39ID:iKXu6Ome
基本的にゲームの個人製作は挫折する
作りやすさで決めた方が、完成する可能性が高くなると思う
微妙とかマイナーとかは2作目から考えればいい
2024/07/26(金) 22:27:07.59ID:jvU32YAu
物には製品寿命ってものがあって永遠に続く物なんてないよ
車や家電にスマホもいつリコールや製造中止になるか分からないから買わないとか
総菜パンや菓子もいつ消えるかなんて分からないから食べないとかそのレベルの屁理屈

少なくともUnityを使う限りプログラミングしないでノベルゲーは不可能
2024/07/26(金) 23:05:26.40ID:7siDjXDS
いいじゃん本人さんがやりたいんやから
ぉまえら母親かよ
402名前は開発中のものです。
垢版 |
2024/07/27(土) 00:37:25.82ID:q/899tvD
本気でやるならUNITY一択だよ
だって他ツールだとそのうち機能とか満足できなくなる
結局UNITY使うことになるんだよマジで
2024/07/27(土) 01:19:23.40ID:iyGVBeDj
最高のアイデアさえあればどんなツールかはさほど問題じゃないんだよな
アイデアが一番の問題だ
2024/07/27(土) 08:46:53.22ID:SznyueOq
アイディアかぁ
お、あれだ外人に受けるのは日本の忍者や!
よしこれなら売れる

ってやつか
2024/07/27(土) 10:00:18.63ID:7P2983Ya
うけるぅ〜
2024/07/27(土) 10:07:48.93ID:YoYmEJk4
おおむね同意だが、アイデアを形にしやすいツールを選んだほうがよりアイデア通りのものが作れるし近道でもあるだろ
2024/07/27(土) 10:41:49.12ID:13mq5vs7
ツール選びに悩むくらいならさっさと作り始めた方が良い
2024/07/28(日) 11:09:01.43ID:bxBg5MGn
こんばんはいつもお世話様。
質問があるんやけんど
2024/07/28(日) 11:56:59.57ID:DrZhCErx
質問は3文字以内でどうぞ、それ以上はノーコードでは作れません
2024/07/28(日) 12:58:17.66ID:f7kIP9PE
Youtubeで小学5〜6年生がUnity講座やる時代に中学生未満の学力はヤバイ
2024/07/28(日) 13:02:41.88ID:MKEy1AZA
その小学生バケモンやんけ
2024/07/28(日) 13:29:25.92ID:7SxmI1xU
小学生って大人と違って時間がいっぱいありまふからね(^^
なんなら体力気力熱意も大人とはけた違いでふから(^^
年齢や性別、国籍人種で他人を馬鹿にしてたらIT業界では赤っ恥掻くだけでふよ(^^

ボッキング!(^^
413名前は開発中のものです。
垢版 |
2024/07/28(日) 13:42:43.54ID:Iw8qJeEY
>>412
小学生って大人と違って時間がいっぱいありますからね。
なんなら体力気力熱意も大人とはけた違いですから。
年齢や性別、国籍人種で他人を馬鹿にしてたらIT業界では赤っ恥かくだけですよ。

[正しい書き込み]
2024/07/28(日) 13:55:41.03ID:bxBg5MGn
たとえばGameObjectのプロパティを呼び出す時にgetComponentで検索みたいなことするやろ?
名前わかってるのになんで一発でプロパティが読み出せないのけ?
2024/07/28(日) 14:05:29.30ID:f7kIP9PE
ダークなんとかって7年前からずっと作ってたのか、そりゃ顔真っ赤にもなる罠
何年掛かってんだよ・・・
2024/07/28(日) 14:44:17.20ID:G2PZ5Po+
日本語でOK
2024/07/28(日) 15:04:47.65ID:f7kIP9PE
糞コテは何度も名前変えてるみたいだがまた変わってたのか 気が付かなかったわ
PhotonだかPUN2だか使えるまで1年以上掛かってたみたいだし
賢くないのは自覚があるんじゃないの? 知らんけど
418宵闇隊長(^^ ◆lFMcsxGpxw
垢版 |
2024/07/28(日) 15:34:55.05ID:7SxmI1xU
王鍬は他所で別の荒らしと同一視される原因になっちゃったのでやめまひた(^^
その後は宵闇大使という名でやってまひたが粘着されたか何かで名無しで潜伏(^^
皮、もとい川に浮かぶディルドのように流れてゆく人生でございまんこ(^^
正直もうゲ制作表向きはやめまひたので僕がここにいる理由はわかりまふぇん(^^

ボッキング!(^^
419名前は開発中のものです。
垢版 |
2024/07/28(日) 15:40:52.68ID:Iw8qJeEY
>>418
王鍬は他所で別の荒らしと同一視される原因になっちゃったのでやめました。
その後は宵闇大使という名でやってましたが粘着されたか何かで名無しで潜伏。
川に浮かぶディルドのように流れてゆく人生でございます。
正直もうゲ制作表向きはやめましたので僕がここにいる理由はわかりません。

[正しい書き込み]
420名前は開発中のものです。
垢版 |
2024/07/28(日) 15:47:33.75ID:7SxmI1xU
正しい書き込みは僕のほうでふよ(^^
こういう滑ったキャラ付けして個性出してるんでふから(^^
このままじゃ僕が500レスするだけでコピペ君のコピペでもう半分が埋まっちゃいまんこ(^^

チンコショボーン(^^
421名前は開発中のものです。
垢版 |
2024/07/28(日) 16:52:25.81ID:s7ALE222
unityrecorderでVR動画作ったんですけど
正面方向はグローバル方向に固定になってるんですかね?
ローカルにして今見ている方向を正面として録画する方法ありますか?
2024/07/29(月) 22:54:13.42ID:QzZnCYon
>>414
ロジックの理解度が先の小学生より劣る
2024/07/30(火) 08:49:08.53ID:cpJp2OoZ
GUItextを使おうとおもったら、レガシーなのでオススメできないそうなんですが
代わりに何を使えば良い
2024/07/30(火) 13:36:21.71ID:/ty3RIYK
>>423
TMP使え
2024/07/31(水) 07:27:56.66ID:09efbjqG
質問やけんど

スライダーのつまみを左右にドラッグするとして、右端より超えてドラッグしても右端でストップするのはいいのですが
ちょこっとマウスが上にはみだすとフォーカスが外れてスライダがそこで止まってしまいます
つまみから外れてもマウスダウンの間はフォーカスを続けるにはどうしたらよいですか
2024/07/31(水) 08:05:44.07ID:kl5pYXCE
あきらめる
2024/07/31(水) 13:42:28.63ID:Fv3DlWNN
うちのスライダーは最初からそういう挙動だな
428名前は開発中のものです。
垢版 |
2024/08/01(木) 20:00:57.26ID:t4I7Cwx4
public float moveSpeed = 4.0f;
こうやって宣言したら、インスペクターに数字調整できるようになりますよね?
Unity6だと出てこないんですが、間違ってます?
2024/08/01(木) 20:28:56.48ID:/FDXG8N0
宣言場所がプライベートなんじゃないの?
2024/08/01(木) 23:22:49.06ID:c73T40SH
親オブジェクトを↑キー押しっぱなしで移動中、子オブジェクトのどれかが壁に当たったら全体が停止する
という処理はどう書けばいいのでしょうか
2024/08/02(金) 00:02:31.80ID:gabCaIBV
子オブジェクトから親に通知しなさいよ
432名前は開発中のものです。
垢版 |
2024/08/02(金) 00:22:24.23ID:sZEK0avz
それか子の数だけforeach回して子のスクリプト取得&書き換え
2024/08/02(金) 00:30:07.64ID:gabCaIBV
いや当たった子のじゃ歌い知りたいのにわざわざ親側から全部回すとか最悪
単純に鮮度メッセージなり親のパブリックな巻数呼ぶだけやん
2024/08/02(金) 08:54:40.86ID:Zf+L7/kv
子のコリジョンフラグ、親の方に飛んでたと思ったけど。
昔親のコリジョン判定に衝突飛んできてて、なんじょこりゃ?とデバッグした思い出。
2024/08/02(金) 08:54:52.08ID:Zf+L7/kv
から抜粋。
436名前は開発中のものです。
垢版 |
2024/08/02(金) 16:04:41.28ID:sZEK0avz
例えば親オブジェクトにコライダ+リジッドボディ付いてて子オブジェクトにコライダついてる場合、親は子の衝突も拾う。
別々に衝突拾いたい場合はどちらもリジッドボディーつけるか、もしくはどちらもリジッドボディ外す。
2024/08/02(金) 22:20:11.62ID:WmACl6N1
>>431-433ありがとう。実装できした。
2024/08/03(土) 11:45:10.56ID:332VU3rC
数週間ぶりに過去のプロジェクトを起動させたら、膨大な参照が全部外れていて元に戻せる気がしない
なんでこんなことが起こるのでしょうか
2024/08/03(土) 13:10:39.23ID:qnuQNgaB
プロビルダーをつかってOBJエキスポートをすると
UseCanceledと出てなにもおきません
以上よろしくおねがします
2024/08/05(月) 16:51:39.21ID:mjox/y6x
AnimationClipを作りたいんだけんど
最初に作られるのが60フレームみたいで、それをもっと延長するにはどうしたらよいあるか
2024/08/06(火) 06:07:33.21ID:U2Nmk4wh
素直にそっくりそのままAIに訊けば、ここで回答を待つより速く回答または解決の糸口を得られると思うよ、うん。
2024/08/06(火) 07:07:25.85ID:XvaS9uBk
だいたいここで聞く人は、AIに聞いても納得いく答えが得られない聞き方をするというね…
きちんと情報を整理して出して聞いてくる人もたまにいるので、その人を参考にして質問してくれると良いのだけれど…聞いちゃいねぇかw
2024/08/06(火) 16:58:22.18ID:LsOn5Rtz
>>442
ちなみに質問のどこがわからないのか情報を整理して聞いてみて
444名前は開発中のものです。
垢版 |
2024/08/08(木) 14:27:32.38ID:foH0D9bb
visual studioのテキストエディタ部分のテーマは、一括で変更出来ないですかね?
1つずつ変更が面倒
2024/08/08(木) 15:36:43.12ID:BEsiWSGe
頭が悪すぎて5W1Hが整理出来ない人がいたな
446名前は開発中のものです。
垢版 |
2024/08/08(木) 17:50:38.86ID:foH0D9bb
unityの仕組みが良く分からんのだけど、そのオブジェクトのプロパティはすべてインスペクタに表示されていると考えていいの?
447名前は開発中のものです。
垢版 |
2024/08/08(木) 17:59:23.91ID:meU1sSpB
>>446
unityの仕組みを良く知っているのだけど、そのオブジェクトのプロパティはすべてインスペクタに表示されていると考えていいよ
2024/08/08(木) 19:07:44.76ID:fgPW4X7w
今のvelocityや移動ベクトルなんかはいちいちインスペクタには出てないよね
2次的に取得するプロパティはたくさんあるんじゃないのけ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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