[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild4 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild4 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
197: 名前は開発中のものです。 [sage] 2020/04/20(月) 16:36:35.22 ID:7TeDGIGu >>195 確か、マテリアルカラーはパレットだから、ほかのオブジェクトでも使ってたら変わったよ。 それが嫌なら専用のマテリアルを作るのが1番かな。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/197
198: 名前は開発中のものです。 [sage] 2020/04/20(月) 16:46:25.44 ID:hAG3HiSQ 返答ありがとうございます。 指定したImageオブジェクト(ほかのオブジェクトも)のmaterialを設定していませんでした。 指定オブジェクトのmaterialを「Sprites-Default」に設定したところ 指定したオブジェクトのみ色を変えることができました。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/198
199: 名前は開発中のものです。 [] 2020/04/20(月) 17:10:09.14 ID:zd2flDEV >>196 GameObject Player; SpriteRenderer Renderer; void Update() { bool left =Renderer.flipX //左向きのときtrue if(left==true) { transform.Translate(-0.5f,0,0); } else { transform.Translate(0.5f,0,0); } } というスクリプトをUpdateに入れています Update関数の中にプレイヤーの向きの情報が入っているので、弾が常にそれに連動してしまうのはわかるんですが… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/199
200: 名前は開発中のものです。 [sage] 2020/04/20(月) 17:33:02.98 ID:QzIkkg0M unity(2D)って、ひょっとしてそれほど画像の大きさは気にしなくていいですか? カメラサイズとかで調整して、カメラで見えたものがそのまま映像として出る感じ? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/200
201: 名前は開発中のものです。 [sage] 2020/04/20(月) 17:40:40.58 ID:5Q+qVe+b >>199 leftをメンバ変数にしてstart()で向きを代入すればいい http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/201
202: 名前は開発中のものです。 [] 2020/04/20(月) 17:55:39.99 ID:zd2flDEV >>201 public bool left を文頭に付け加えればメンバ変数になりますか? それと向きの代入はどのように書けばいいのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/202
203: 名前は開発中のものです。 [sage] 2020/04/20(月) 19:41:13.85 ID:7TeDGIGu >>202 そんで、left=render…をスタートにね。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/203
204: 名前は開発中のものです。 [sage] 2020/04/20(月) 20:05:15.73 ID:vPtvjXeA インスペクターの変数表示を折りたたみしたくて、 「InspectorFoldoutGroup」というのを見つけたのですが導入方法がわかりません。 やり方教えてほしいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/204
205: 名前は開発中のものです。 [sage] 2020/04/20(月) 20:50:29.55 ID:bEPCXYQk >>204 Homebrewフォルダを自分のプロジェクトのAssetsに置く 折りたたみを使いたいスクリプトの一番上の部分に using Pixeye.Unity; を追加 あとは添付されてる README.md 見ればわかるはず。 .mdファイルが開けなかったらブラウザにドラッグ&ドロップすれば見れる http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/205
206: 名前は開発中のものです。 [] 2020/04/20(月) 21:03:41.06 ID:zd2flDEV GameObject Player; SpriteRenderer Renderer; public float x; public bool left; void Start() { left = Renderer.flipX; Player = GameObject.Find("Player"); Renderer = Player.GetComponent<SpriteRenderer>(); if (left == true) { x = -0.5f; } else { x = 0.5f; } void Update() { transform.Translate(x, 0, 0); } とにかく手探りで書いてみました。 実行したところ、やはり弾が生成された地点で止まってしまいます。 どこを直せばいいの
でしょうか… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/206
207: タワー ◆j2ZL4YtpzY [] 2020/04/20(月) 21:16:59.91 ID:IQn62GFy >>206 xの値変わって無くないですか? 方向はStart()で決めてるんでその後のxの加算減算はUpdate()内で行えば動きませんか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/207
208: 名前は開発中のものです。 [sage] 2020/04/20(月) 21:28:27.99 ID:vPtvjXeA >>205 おかげさまで導入することができました ちなみに自分がひっかかってたのはダウンロードの仕方からわからなかったのですが サイトの Clone or download → Download ZIP から落とせました。 たぶんダウンロード出来てたとしても導入でつまづいてたと思うので(英語わからない) 助かりました ありがとうございます! http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/208
209: 名前は開発中のものです。 [] 2020/04/20(月) 22:10:13.03 ID:zd2flDEV >>207 Startでxに代入している-0.5fや0.5fは方向を決めるだけのものなんですか? であればUpdate内にxと書いただけでは動かないのは納得です… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/209
210: 名前は開発中のものです。 [] 2020/04/20(月) 22:15:09.57 ID:j+CwVrdp >>206 これでどうだ GameObject Player; SpriteRenderer Renderer; public float x; public bool left; void Start() { Player = GameObject.Find("Player"); Renderer = Player.GetComponent<SpriteRenderer>(); } void Update() { left = Renderer.flipX; if (left == true) { x = -0.5f; } else { x = 0.5f; } transform.Translate(x, 0, 0); } } http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/210
211: 名前は開発中のものです。 [sage] 2020/04/20(月) 22:26:02.98 ID:j+CwVrdp 発射後には方向動かしたくないのか 失礼 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/211
212: 名前は開発中のものです。 [] 2020/04/20(月) 22:30:08.28 ID:zd2flDEV >>211 そうなんです! これだとプレイヤーの向きを変えるたびに弾の方向も変わってしまうんです… わざわざ書いてくださってありがとうございます http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/212
213: 名前は開発中のものです。 [sage] 2020/04/20(月) 22:47:15.92 ID:7TeDGIGu >>212 206で動かない? そもそもこのスクリプトは弾についてますか? あとxの値が小さすぎるかもしれませんので、おおきくするとか。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/213
214: タワー ◆j2ZL4YtpzY [] 2020/04/20(月) 23:01:34.95 ID:IQn62GFy >>209 あ、分かった二ヶ所です まずStart()にある if(left == true) … をUpdate()へ移動 んで加算減算ですが x = -0.5f ではなく x -= 0.5fとx += 0.5f これならどうだっ!? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/214
215: 名前は開発中のものです。 [sage] 2020/04/21(火) 00:16:51.48 ID:VK5HUOlH >>206 GetComponentする前にRendererを参照してるからぬるぽ出てるんじゃないの? Renderer=の部分をleft=の上に移動してみては http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/215
216: 名前は開発中のものです。 [] 2020/04/21(火) 01:34:28.12 ID:TxUS3yyD >>212 https://imgur.com/lOxmncE こういう感じ?弾はプレハブをinstantiateで生成してるでいいのか? GameObject Player; SpriteRenderer Renderer; public float x; public bool left; void Start() { Player = GameObject.Find("Player"); Renderer = Player.GetComponent<SpriteRenderer>(); left = Renderer.flipX; } void Update() { if (left == true) { x = -0.05f; } else { x = 0.05f; } transform.Translate(x, 0, 0); } http://mevi
us.5ch.net/test/read.cgi/gamedev/1585478112/216
217: 名前は開発中のものです。 [] 2020/04/21(火) 02:35:32.80 ID:eGonr+6D >>213 このスクリプトは弾についてるやつです これだと生成された場所で弾が止まってしまいます… transform.Translate(0.5f,0,0)でいい感じだったので数値はこれでいいはずなんですが…。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/217
218: 名前は開発中のものです。 [] 2020/04/21(火) 02:39:51.81 ID:eGonr+6D >>214 >>216 お二方ともご丁寧にありがとうございます。 そうですね。弾はInstntiateで生成してます。 試してみます。 >>215 謎エラーが出てたのはこれが原因かもしれません… 完全に見落としてました、ありがとうございます http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/218
219: 名前は開発中のものです。 [sage] 2020/04/21(火) 07:56:58.30 ID:lxHdAL0J >>217 ほな違うかー。それやと>>206で動くはずやもんな。 なんやろなー、一度update内をtranslate(1,0,0)だけにしてまず動くか試してみぃ。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/219
220: 名前は開発中のものです。 [] 2020/04/21(火) 10:03:30.31 ID:eGonr+6D >>216 この方のスクリプトで試したところ、理想通りの動きをしてくれるようになりました >>214さんのスクリプトも試してみようと思います 数日にわたり本当にありがとうございました! しっかり勉強します…! http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/220
221: タワー ◆j2ZL4YtpzY [] 2020/04/21(火) 10:10:06.23 ID:NfJnlsa5 >>220 あ〜ごめんなさいtranslateですね、少し勘違いしてたのでお気になさらず 私もまだまだ勉強中なのでお互い頑張りましょう! http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/221
222: 名前は開発中のものです。 [sage] 2020/04/21(火) 11:36:12.60 ID:K2oy6SXi androidでrun and buildしようとしてgradleでエラーが出る gradleのアップデートしようにもexportの仕方がわかんねえ… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/222
223: 名前は開発中のものです。 [sage] 2020/04/21(火) 22:53:53.72 ID:csf8LLL0 使い方がイマイチわからないところがあるので質問させてください AオブジェクトにスクリプトAを接続 スクリプトAでパブリックGameObject Bを宣言 すると AオブジェクトのインスペクタにGameObject Bの項目が追加されますが、 スクリプトAのインスペクタにもGameObject Bの項目が追加されています。 AオブジェクトのインスペクタのGameObject Bには他のオブジェクトをドラッグドロップで 接続できますが、 スクリプトAのインスペクタのGameObject Bには同じよう
に接続できません。 None(Game Object)となっています。 特に問題なく想定したとおり動いてるのでいいのですがちょっとだけ気になります。 スクリプトAのインスペクタにはどんな意味があるのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/223
224: 名前は開発中のものです。 [sage] 2020/04/21(火) 23:37:01.59 ID:UQ97M8GL >>223 スクリプトAのインスペクタ というのは、プロジェクトタブ内でスクリプトを選択したときに表示されるもののことでしょうか? であれば、設定できるのはプロジェクト内にあるゲームオブジェクトだけです。 プロジェクト内にあるプレハブを初期値として持たせておきたい場合はそこで設定するといいと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/224
225: 名前は開発中のものです。 [sage] 2020/04/22(水) 01:06:31.31 ID:KbfCVKCs >>224 そうです Projectタブ内のスクリプト選択時に表示されるものです おっしゃるとおりAssets内のプレファブからならドラッグドロップで登録できました でもこれって ゲームオブジェクト選択時に表示されるインスペクタのほうからでもプレファブ登録ってできますよね? 初期値に違いが出るんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/225
226: 名前は開発中のものです。 [sage] 2020/04/22(水) 01:27:55.05 ID:sLe2iYSZ スクリプトをアタッチした時点での初期値、という意味です。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/226
227: 名前は開発中のものです。 [sage] 2020/04/22(水) 01:43:37.40 ID:KbfCVKCs >>226 すみません 理解力が足りなくてよくわかりません・・・ どういう風な使い方ができるか具体例とかあれば教えていただけないでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/227
228: 名前は開発中のものです。 [sage] 2020/04/22(水) 02:29:38.60 ID:sLe2iYSZ ただ単純に手間を省ける場合があるってだけです。 例えばプレハブに8割の確率で同じものを使う、という場合で、 100回スクリプトをアタッチしたとします。 初期値が空なら、100回プレハブを設定しなければなりません。 初期値に80回使うプレハブがすでに設定済みなら、 設定するのは20回ですみます。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/228
229: 名前は開発中のものです。 [sage] 2020/04/22(水) 07:29:50.06 ID:idLW19fL やばいずっと何言ってるかわかんねえ http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/229
230: 名前は開発中のものです。 [sage] 2020/04/22(水) 11:29:44.07 ID:VQM8R+FC プレハブについての質問です。 すでに存在するオブジェクトに子としてプレハブを複製しようとしたときの座標がうまく設定できません。 スクリプトではこんな感じ記載しています ------------ ParentObject = GameObject.Find("ParentCanvas"); //すでに用意しているキャンパス var parent = ParentObject.transform; // プレハブをGameObject型で取得 GameObject obj = (GameObject)Resources.Load("Prefab"); // プレハブを元に、インスタンスを
生成、 Instantiate(obj, new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent); //ローカルポジションの設定 obj.transform.localPosition = new Vector3(100.0f, 100.0f, 0.0f); ---------- 結果として子としてプレハブは複製できていますが、座標がローカルではなくワールド座標のほぼ原点に生成されてしまいます。 親のローカル座標に設定するにはどうしたらよいでしょうか? InstantiateのVectorをローカル座標として設定したい状態です。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/230
231: 名前は開発中のものです。 [sage] 2020/04/22(水) 13:03:53.31 ID:UU/VXGyk >>230 最後のlocal posで、100じゃなくて、0.0.0でいいんじ「ないの? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/231
232: 名前は開発中のものです。 [sage] 2020/04/22(水) 13:10:28.55 ID:VQM8R+FC >>231 最後のlocalPosition の位置に設定をしたいのですがワールド座標の原点に設定されてしまう状態です http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/232
233: 名前は開発中のものです。 [sage] 2020/04/22(水) 13:29:09.78 ID:sLe2iYSZ >>230 Instantiate(obj, parent.position + new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent); http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/233
234: 名前は開発中のものです。 [sage] 2020/04/22(水) 13:36:29.55 ID:KbfCVKCs >>228 説明で全くピンとこなかったのですが 実際UNITYで試してみて言葉の意味がようやく理解できました 「スクリプトをアタッチした時点での初期値」 ほんとそのとおりですね 複製するときに使えそうです ありがとうございます! http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/234
235: 弟子 ◆rZPPjYuxmQ [] 2020/04/22(水) 13:37:39.18 ID:kYRnjPG5 >>225 https://i.gyazo.com/207b420398965fd9452cfd022b133773.png まずこれがオブジェクトにスクリプトをアタッチし、public変数に設定した例 https://i.gyazo.com/f688367c978ac3282ae36a41985ce9f7.png こちらがProject欄にあるスクリプトのPublic変数、ここへは「シーン上」のオブジェクトは設定できない https://i.gyazo.com/0294932ec2ec31d71627a8f9e8bbaa0b.png こちらが同じスクリプトにPrefabを設定した例、Prefabなら設定できる まずpublic変数は外部からの
設定が出来る変数で、シーンのobjectにアタッチすれば、インスペクタで設定できる。 prefabというのは特殊なオブジェクト。これはシーン上に即反映できるものでシーンに無いスクリプトにもアタッチできる。 という事。 違いは、シーン上にあるものか、そうでないか。シーン上のobjectはProject欄には置けないですうよね? それがPrefabという事。Prefabの詳細については、公式の説明参照で。 >>230 公式の説明見ると分かると思うけど https://docs.unity3d.com/ja/current/ScriptReference/Object.Instantiate.html (2番目の例が分かりやすい
) InstantiateはGameObjectを返すので、位置など設定する場合には、そのオブジェクトを指定する GameObject obj = (GameObject)Resources.Load("Prefab"); Instantiate(obj, new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent); obj.transform.localPosition = new Vector3(100.0f, 100.0f, 0.0f); この場合、「obj 」はResourcesにあるObjectで、Instantiateで生成した物ではないです だからobj.transform.localPositionをしても意味が無い。 公式の例のように返りを指定して clone = Instantiate(projectile, transform.po
sition, transform.rotation); それの値をいじります。 clone.velocity = transfor… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/235
236: 名前は開発中のものです。 [sage] 2020/04/22(水) 13:54:05.92 ID:KbfCVKCs >>235 詳しい解説ありがとうございます! 参考にして理解を深めたいと思います http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/236
237: 名前は開発中のものです。 [sage] 2020/04/22(水) 13:54:31.83 ID:NXwZj8K9 タッチの差だったな http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/237
238: 名前は開発中のものです。 [sage] 2020/04/22(水) 14:37:58.42 ID:VQM8R+FC >>233 >>235 返答ありがとうございます。 ローカル座標への設定ができました。ありがとうございます。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/238
239: 名前は開発中のものです。 [] 2020/04/22(水) 14:44:13.38 ID:Fjzhn+DL サイズが100メガ越えちゃってアップロードできないので 一部のシーンを自サーバに置こうと思うんですが どうやればいいのでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/239
240: 名前は開発中のものです。 [sage] 2020/04/22(水) 17:24:59.04 ID:v683vmMZ 無料のFBX Exporterって無くなったんですか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/240
241: 名前は開発中のものです。 [] 2020/04/22(水) 17:54:26.25 ID:fzmr7DOF ゲーム作ってる場合じゃない! sssp://o.5ch.net/1na9e.png http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/241
242: 名前は開発中のものです。 [sage] 2020/04/23(木) 18:03:45.48 ID:h7v1P4FQ 関数名には、スペースと頭を数字にしてはいけないというのを知ったのですが、 「-」短いハイフンを含めても問題ないのでしょうか? 後で不具合が起こることはないでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/242
243: くまじょ [sage] 2020/04/23(木) 18:36:38.32 ID:mFtLrFD8 >>242 しては行けないというか できるの? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/243
244: 名前は開発中のものです。 [sage] 2020/04/23(木) 19:54:56.09 ID:VZYcAFmQ エディタに怒られる http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/244
245: 名前は開発中のものです。 [sage] 2020/04/23(木) 22:11:41.12 ID:B+z5addE Unityが壊れた AndroidのBild settingのplayerの項目が表示されなくなった 最初は表示されていたのに項目の入力中におかしくなってそれっきり 心当たりがあるとすれば入力中にIMEの入力切り替えがおかしくなって半角入力できなくなっていたことくらい 別のプロジェクトファイルを開いても同じ不具合と同じエラーメッセージが出るからunityのファイルが壊れたのか 一旦アンインストールしてから入れ直した方がいいのかなあ それとも新バージョンを上書きしていいのか
検索したらELT版?インストールで解決したという話が出てきたけど 二本同時に完成する直前にこれだよ泣きそう http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/245
246: 名前は開発中のものです。 [sage] 2020/04/23(木) 22:40:39.33 ID:YqrHMQSi 基本的な操作がわからないのでしつもんさせてください 関数とかif文とかのカッコ } がよく変な位置に行ってしまいます。(うっかり無駄にエンター押したりしてしまう) DELETEキー長押しでカーソル位置まで動かして戻してるのですが スマートに戻す方法とかもしありましたら教えてくださいm(_ _)m http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/246
247: 名前は開発中のものです。 [sage] 2020/04/23(木) 22:47:49.15 ID:h7v1P4FQ アニメーションクリップが複数あるオブジェクトを非表示から表示に切り替えた時に 特定のアニメーションクリップから始めることはスクリプトで出来るでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/247
248: 名前は開発中のものです。 [sage] 2020/04/23(木) 22:51:56.86 ID:KKg8jFzb >>246 変な位置って具体的にどうなってて理想はどういう風にしたいの visual studio使ってるんだったら設定いじるかフォーマットの拡張好きなの何か入れるとか http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/248
249: 名前は開発中のものです。 [sage] 2020/04/23(木) 23:16:57.00 ID:YqrHMQSi 具体的に言うとよくこんな感じになってしまいます if(a==0){ 処理 } この2パターンが理想です(場合によって使い分けています) if(a==0){ 処理 } if(a==1){ 処理 } 設定どこをいじればいいんでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/249
250: 名前は開発中のものです。 [] 2020/04/23(木) 23:20:04.38 ID:YqrHMQSi 間違えました この2パターンが理想です(場合によって使い分けています) if(a==0){ 処理 } if(a==1){ スペース 処理 スペース } http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/250
251: 名前は開発中のものです。 [sage] 2020/04/24(金) 02:47:01.33 ID:kDHtLuLX プロジェクト内のフォルダを誤って消してしまい、ゴミ箱から元に戻してもscriptがエラーから戻らない場合は復元出来ないのでしょうか……? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/251
252: 名前は開発中のものです。 [sage] 2020/04/24(金) 02:48:12.32 ID:kDHtLuLX 拙い文ですみません、試してみて?という感じのアドバイスで良いのでお願いします… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/252
253: 名前は開発中のものです。 [sage] 2020/04/24(金) 03:32:53.73 ID:Yn/wujOk submesh単位で分割する方法ないですかね... http://onoty3d.hatenablog.com/entry/2015/12/09/000000 このスクリプトだとエラーが出て分割できません http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/253
254: 名前は開発中のものです。 [sage] 2020/04/24(金) 03:52:09.99 ID:Yn/wujOk 自己解決 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/254
255: 名前は開発中のものです。 [sage] 2020/04/24(金) 07:49:35.90 ID:mqgYLk8R >>251 裏で作ってるファイルがあるから、それだけでは何とも。エラーをみながらコツコツと直すしかない。 私だけかもしれんが。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/255
256: 名前は開発中のものです。 [sage] 2020/04/24(金) 13:11:03.27 ID:TSbisyMR 1日の作業が終わったらプロジェクトフォルダごとバックアップ NASなんかに保存するのが最高だけど 下手すると年単位の苦労が消し飛ぶから考えた方が良いよ http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/256
257: 名前は開発中のものです。 [sage] 2020/04/24(金) 13:39:06.03 ID:e94QvqHL 自分も一日の終わりにプロジェクトフォルダごとバックアップしてる Zip圧縮したファイル名の末尾に日付を入れて一定期間保存 大きな変更を加える直前のフォルダは長期保管してる http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/257
258: 名前は開発中のものです。 [sage] 2020/04/24(金) 15:11:35.58 ID:9IIgbh3E プレハブについての質問です 1つのプレハブに↓のようなスクリプトをセットして複製し動かそうとすると 複製したオブジェクトが1つしか動いてくれません ------- public class prefabMoveScript : MonoBehaviour { public static GameObject prefabObject; public static int iNow, jNow; public static void move() { //位置を乱数で変更 int iNum += Random.Range(-1, 1); int jNum += Random.Range(-1, 1); prefabObject.transform.localPosition = new Vector3
(iNow , jNow , 0.0f); } // Use this for initialization void Start () { prefabObject = this.gameObject; } } ------ 複製したプレハブそれぞれを別々の乱数で動作させたいのですがどのようにしたら良いでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/258
259: 名前は開発中のものです。 [sage] 2020/04/24(金) 15:29:16.14 ID:hbCzfYWk staticじゃなくする http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/259
260: 名前は開発中のものです。 [sage] 2020/04/24(金) 15:54:14.93 ID:9IIgbh3E すいません一部コードが間違っていました ------- public class prefabMoveScript : MonoBehaviour { public static GameObject prefabObject; public static int iNow, jNow; public static void move() { //位置を乱数で変更 int iNum += Random.Range(-1, 1); int jNum += Random.Range(-1, 1); prefabObject.transform.localPosition = new Vector3(iNow + iNum , jNow + jNum , 0.0f); } // Use this for initialization void Start () { prefabObject = this
.gameObject; } } ------ staticをつけている変数については、別スクリプトで呼び出して値を代入しているため staticを外すとエラーが出てしまいます。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/260
261: 名前は開発中のものです。 [sage] 2020/04/24(金) 16:51:57.34 ID:hbCzfYWk staticをつけると、その変数は そのクラスで共通のものになる。 だからこれだと複製したオブジェクト全員が、ある一つのオブジェクトを操作している状態。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/261
262: 名前は開発中のものです。 [sage] 2020/04/24(金) 17:53:17.83 ID:mqgYLk8R staticを理解していない? staticをつけると、簡単に言えばそのワールドで唯一の変数名になる。だから複数から参照操作はできるが、唯一を2つ存在させたら、どっちを参照するかわからんよね? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/262
263: 名前は開発中のものです。 [sage] 2020/04/24(金) 17:57:06.91 ID:9IIgbh3E >>261 >>262 staticについて理解できていませんでした。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/263
264: 弟子 [] 2020/04/24(金) 19:36:00.79 ID:X9i2PnLo >>263 >260のコードで動かすにはこのようにします 多分Staticの使い方というより、prefabの生成に問題あると思います https://i.gyazo.com/9eea2661448b7a1af4e8291b55adfe25.png https://imgur.com/dBRzNly 質問は検証できる弟子を指名してね! http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/264
265: 名前は開発中のものです。 [sage] 2020/04/24(金) 21:22:53.35 ID:WKjj9eyG >>255 >>256 >>257 皆さんありがとうございます、これを教訓にそうすることにします…… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/265
266: 名前は開発中のものです。 [sage] 2020/04/24(金) 21:26:22.99 ID:9IIgbh3E >>264 わざわざソースまでありがとうございます! http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/266
267: 名前は開発中のものです。 [sage] 2020/04/25(土) 13:09:23.62 ID:c8LTCDvQ https://youtu.be/clB_Q-4N2mM アニメーションクリップに効果音を付けて4種類のSEの中からランダムで音が出るようにしているのですが、 二回続けて同じ音が出ないようにする方法はないでしょうか。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ken_furu : MonoBehaviour { public AudioClip[] _SE; //SEが4個入っています。 private AudioSource audioSourse; Animator animator; void Start() { animator
= GetComponent<Animator>(); audioSourse = GetComponent<AudioSource>(); } public void SE() { int a = Random.Range(0, 4); audioSourse.PlayOneShot(_SE[a]); } } このスクリプトを音を鳴らすアニメクリップが付いたオブジェクトにアタッチしています。 二回続けて同じ音が出ないようにする方法があったら教えてください。 https://thuploader.orz.hm/miniup/?mode=dl&id=7354 プロジェクトファイル http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/267
268: 名前は開発中のものです。 [sage] 2020/04/25(土) 13:34:15.67 ID:Bwa2wt20 aの値を保持して、次の乱数時に比較する http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/268
269: 名前は開発中のものです。 [sage] 2020/04/25(土) 13:40:39.58 ID:2pXFtKle >>267 色んな方法があると思いますが、 再生する度に再生したSEを除外し、除外されていたSEが存在すれば戻すという処理を入れるのはどうですか? ランダムのレンジにはLengthやCountが使えますので実装自体は数行済むと思います。 配列をリストにした方が簡単だと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/269
270: 267 [sage] 2020/04/25(土) 14:39:00.19 ID:c8LTCDvQ >>268の方法は難しそうだったので >>269の方法で試してみました。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ken_furu : MonoBehaviour { //public AudioClip[] _SE;//配列 public List<AudioClip> _SE;//リスト型に変更 private AudioSource audioSourse; Animator animator; void Start() { animator = GetComponent<Animator>(); audioSourse = GetComponent<AudioSource>(); } public void SE()
{ int a = Random.Range(0, _SE.Count);//_SE.Count リストの中の要素の個数 audioSourse.PlayOneShot(_SE[a]); _SE.RemoveAt(a); //一度鳴ったSEを削除 } } SEの配列を、リスト型に変更して、一度なったSEを削除するところまでは出来たのですが 消したリストを次のSEを鳴らすときに元に戻すやり方が分かりませんでした。 どうすれば消したリストを元に戻すことができるでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/270
271: 名前は開発中のものです。 [sage] 2020/04/25(土) 15:01:53.19 ID:Bwa2wt20 >>270 嘘だろぉ、おい!w http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/271
272: くまじょ [sage] 2020/04/25(土) 15:23:53.23 ID:z5N+YfUG 俺なら前回の覚えておいて 乱数が同じものだったら+1 わずかに乱数に偏りが起こるけど http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/272
273: くまじょ [sage] 2020/04/25(土) 15:30:30.75 ID:z5N+YfUG 乱数が選んだものをリストから抜いてリストの最後に追加しておくとか 乱数の範囲は要素数-1で最後の要素(前回選んだもの)を避ける 初回は必ずリストの最後が選ばれないことになるけど http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/273
274: 名前は開発中のものです。 [sage] 2020/04/25(土) 15:38:16.06 ID:DiGw5Kl0 横から失礼します 特定のAudioClipが再生中かどうかを検出するとかってできますか? 例) if(Audioclip(ジャンプ音)が再生中){ 処理 } みたいなことがやりたいのですが http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/274
275: 名前は開発中のものです。 [sage] 2020/04/25(土) 15:47:10.29 ID:a3TA/N7F 乱数記憶用の変数を用意 初期値は999などの有り得ない数 または一番目に鳴らしたくない音と同じ数 ランダムで出した乱数を変数と比較 もし同じ数字なら+1または-1して処理 (このスクリプトだと3の場合のみ-1) また乱数(または処理後の数値)を変数に入れる 自分ならこれにするけど何せ初心者なので もっとスマートなやり方があるならそっちで http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/275
276: 名前は開発中のものです。 [sage] 2020/04/25(土) 16:04:41.65 ID:2pXFtKle >>273の再生したSEをリストの最後に追加してランダムのレンジに含めないがスマートで実用的かもしれませんね。 +1などで処理すると結局順番に再生されるだけでランダムにならないから質問者の意図する挙動とは違ってしまうんじゃないでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/276
277: くまじょ [sage] 2020/04/25(土) 16:59:40.05 ID:z5N+YfUG >>276 乱数が前回と同じ値だったら 1足して剰余でオーバーラン回避だよ 剰余のこと説明不足だった http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/277
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 725 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.020s