【ゲームエンジン】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/
315ぴの
垢版 |
2024/06/19(水) 15:22:15.56ID:rtXbdft9
AIを使った追いかけることが出来ることを応用したゲームを作りたいんですけど、何か案はありますか?
2024/06/19(水) 18:17:44.27ID:8nvfrdlc
パックマン完コピ
2024/06/19(水) 18:31:02.96ID:39uGrFTN
ここでアイデアを聞いてる時点でゲーム作りは向いてないよ
2024/06/19(水) 19:01:37.57ID:3eEbmQ4l
それこそAIに聞くといいと思います
2024/06/19(水) 19:08:19.64ID:Rw5K15AQ
そんな案とか核になる部分を人任せにするのはマジでヤバイ
やる度に自分の中のクリエイティブ能力が不可逆的に死んでいくと思うべき
2024/06/19(水) 19:37:59.73ID:PLZdkG9j
下手の考え休むに似たり

下手な人が考えるのは、時間を浪費するばかりでなんの効果もない
2024/06/19(水) 19:40:07.98ID:t5z5a2To
もともとクリエイティブ能力ゼロの人間がAIを利用することでAI否定派のクリエイターを超えられたら素敵やん
2024/06/19(水) 19:42:10.77ID:BLofJk0L
面白ければ何でもいいやろ…
2024/06/19(水) 19:54:39.35ID:PLZdkG9j
AIを使う=誰でも出来る=没個性という自己矛盾
2024/06/19(水) 23:47:44.04ID:eW8yJXeV
なんだかんだでAIの生成物はキメラでしかないのよね…
ChatGPTはいまだに平気でしれっとそれっぽい嘘を吐くし
2024/06/25(火) 19:06:23.65ID:6NFCbFLw
ドーン!
2024/06/26(水) 04:47:44.80ID:rTMtpq+B
今日も元気だ暴飲暴食!なか卯で豪遊してきた!
かけしょう!イカ天!唐揚げ!ビール350㍑!これでたったの990円!m9⎛´・ω・`⎞ドーン!
ttps://i.imgur.com/jBGPOgG.jpeg
2024/06/27(木) 02:13:05.37ID:XaavCVF0
ちょっと機械学習に取り組んでみようと
agentをだうんろーど。

……

なかなか手強そうですね。
でも面白そうだ。
2024/06/28(金) 00:00:12.22ID:XQ3JbI3J
エヌヴィディア株がドーン!
2024/06/28(金) 10:52:03.74ID:JDjep6/4
腹が空くスレ
2024/06/28(金) 11:46:31.99ID:2Bv2HaKW
unity株は少しずつ上がってるね。
今が底値だったか
2024/06/29(土) 19:57:34.01ID:fSHTUTHl
質問いいすか?
早送り機能ってどうするのが正解なの?
Timescaleをいじればお手軽に実装はできるけど、これどうもう処理速度をあげてるだけなのか、負荷が異常にあがる気がするんですが
倍速するために、速度に関連する要素を全部一律に上げるとか悪手かね?
2024/06/29(土) 20:18:06.74ID:2FWvOSKK
2回回す
2024/06/29(土) 23:26:59.64ID:F+6EDBUA
>>331
タイムスケールでいいよ。
それについてこれないマシンはスペックが悪いだけ。
または、スケールを早くできないほど処理の多いアプリに問題あり。
2024/06/30(日) 18:12:18.99ID:h3dqlLeD
いや2倍速くらいなら問題にならんだろうけど、箱庭系のゲームだと10倍くらい普通にあるけど、あれどうやってるのかな
335名前は開発中のものです。
垢版 |
2024/06/30(日) 19:20:16.06ID:ZkwS/RBI
10倍速の箱庭ゲームってどのゲーム?
2024/06/30(日) 19:56:14.79ID:inIctlRW
ヴァスタークロウズとか
2024/07/01(月) 19:56:19.33ID:MXUZhmpe
ひらめいた
Timescale=1が10倍速として、等倍はTimescale=0.1にすればいいんだ
338名前は開発中のものです。
垢版 |
2024/07/04(木) 10:09:07.56ID:K95GfFcr
質問です。いくら調べても同じ情報が見当たりません…
【質問】
これは自分の環境だけで起こるものなのか知りたいです
【現象】
webGLビルドしたときだけfpsが設定通りになりません。
【再現方法】
・UnityHubで新規プロジェクト作成(Universal2D)(Unity2022.3)
・ファイル-ビルド設定で「WebGL」を選択
・編集-プロジェクト設定-品質から、VSync数を「同期しない」に設定
・ヒエラルキー、SampleSceneの子にTextMeshProを追加
・このTextにスクリプト追加、以下コード記述

void Update()
{
Application.targetFrameRate = 30;
GetComponent<TextMeshProUGUI>().text = "fps:"+(1.0f / Time.deltaTime).ToString();
}
【結果】
・エディタ又はwebGL以外で実行→30fps(正常)
・webGLビルドして実行→60fps(異常)

既存コードに「Application.targetFrameRate = 30;」を描いてWebGLビルドするだけでも再現可能です
339名前は開発中のものです。
垢版 |
2024/07/04(木) 21:18:32.78ID:2OWbg+0W
シーン遷移 SceneManager.LoadScene(0);
とスクリプト記述し実行すると10数秒フリーズした後にシーン遷移します。
UNITYのシーン遷移ってこんなに重いというか遅いのでしょうか?
ゲーム自体はマリオみたいな普通の2D アクションゲームです。
UNITYバージョンは2022.3.13f1です。
340名前は開発中のものです。
垢版 |
2024/07/04(木) 22:07:41.21ID:2OWbg+0W
339です
すみません自己解決しました。
敵キャラのスクリプトにSceneManager.LoadScene(0);と書いており
敵キャラの数だけ重複してシーンをロードしていて重くなってたみたいです。
失礼しました。
2024/07/06(土) 07:35:27.42ID:Ry6iJ7hG
2024/07/06(土) 14:10:06.50ID:4+KDPdck
macの2022.3.36でアセット欄でファイルを移動しようとするとなぜか必ずコピペになってしまいます
macでoptionを押しながら移動するとポインターにプラスマークが出るあれが出て移動できません
windowsでは移動できます
343342
垢版 |
2024/07/07(日) 08:17:13.53ID:ufhD6613
自己解決しました。プロジェクト名が日本語だったためこんな挙動になってました
2024/07/07(日) 10:55:56.26ID:RK+xatXL
海外製のツールは例え日本語対応を謳っていようとも、プロジェクトなどの名称は半角英数しか使わないようにしてるなぁ。
なんならOSのユーザー名もそうしてるわ。

Macは使った事ないから知らんけど、Windowsだとユーザー名に日本語を使ったせいで挙動がバグる海外産ソフトウェアがあったりするし。
(元々ログインIDみたいなやつには半角英数しか使わなかったので、幸いその手のバグに遭遇した事はない)
2024/07/07(日) 13:39:36.47ID:Rujfkdmm
IT関連はほとんど無意識的にどんな名前にも日本語なんか使わないわ
2024/07/07(日) 13:43:18.82ID:9oUr0huc
どうしても使いたければpurojekutoだよなw
2024/07/07(日) 14:11:09.97ID:yqs+j8Fb
いや、それを言うなら prjkt だぞ
ローマ字は長くなるので、規約で母音抜きになっていたりする
ゲームではないがな
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で検索みたいなことするやろ?
名前わかってるのになんで一発でプロパティが読み出せないのけ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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