[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild4 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
267(3): 2020/04/25(土)13:09 ID:c8LTCDvQ(1/3) AAS
動画リンク[YouTube]
アニメーションクリップに効果音を付けて4種類のSEの中からランダムで音が出るようにしているのですが、
二回続けて同じ音が出ないようにする方法はないでしょうか。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ken_furu : MonoBehaviour
省18
268(1): 2020/04/25(土)13:34 ID:Bwa2wt20(1/3) AAS
aの値を保持して、次の乱数時に比較する
269(1): 2020/04/25(土)13:40 ID:2pXFtKle(1/2) AAS
>>267
色んな方法があると思いますが、
再生する度に再生したSEを除外し、除外されていたSEが存在すれば戻すという処理を入れるのはどうですか?
ランダムのレンジにはLengthやCountが使えますので実装自体は数行済むと思います。
配列をリストにした方が簡単だと思います。
270(1): 267 2020/04/25(土)14:39 ID:c8LTCDvQ(2/3) AAS
>>268の方法は難しそうだったので
>>269の方法で試してみました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ken_furu : MonoBehaviour
{
省19
271: 2020/04/25(土)15:01 ID:Bwa2wt20(2/3) AAS
>>270
嘘だろぉ、おい!w
272: くまじょ 2020/04/25(土)15:23 ID:z5N+YfUG(1/6) AAS
俺なら前回の覚えておいて
乱数が同じものだったら+1
わずかに乱数に偏りが起こるけど
273(2): くまじょ 2020/04/25(土)15:30 ID:z5N+YfUG(2/6) AAS
乱数が選んだものをリストから抜いてリストの最後に追加しておくとか
乱数の範囲は要素数-1で最後の要素(前回選んだもの)を避ける
初回は必ずリストの最後が選ばれないことになるけど
274: 2020/04/25(土)15:38 ID:DiGw5Kl0(1) AAS
横から失礼します
特定のAudioClipが再生中かどうかを検出するとかってできますか?
例)
if(Audioclip(ジャンプ音)が再生中){ 処理 }
みたいなことがやりたいのですが
275: 2020/04/25(土)15:47 ID:a3TA/N7F(1) AAS
乱数記憶用の変数を用意
初期値は999などの有り得ない数
または一番目に鳴らしたくない音と同じ数
ランダムで出した乱数を変数と比較
もし同じ数字なら+1または-1して処理
(このスクリプトだと3の場合のみ-1)
また乱数(または処理後の数値)を変数に入れる
省2
276(1): 2020/04/25(土)16:04 ID:2pXFtKle(2/2) AAS
>>273の再生したSEをリストの最後に追加してランダムのレンジに含めないがスマートで実用的かもしれませんね。
+1などで処理すると結局順番に再生されるだけでランダムにならないから質問者の意図する挙動とは違ってしまうんじゃないでしょうか?
277: くまじょ 2020/04/25(土)16:59 ID:z5N+YfUG(3/6) AAS
>>276
乱数が前回と同じ値だったら
1足して剰余でオーバーラン回避だよ
剰余のこと説明不足だった
278: 267 2020/04/25(土)17:19 ID:c8LTCDvQ(3/3) AAS
皆さんから助言を頂いて有難うございました。
>>273の方のやり方で、ずっと試していました。先ほどエラーが全部消えてやっと動くようになりました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ken_furu : MonoBehaviour
{
省20
279(4): 2020/04/25(土)17:57 ID:P2OYyiKX(1/2) AAS
Unityで2Dゲームを作ろうとしていますが、小さい表示枠と大きい表示枠について教えて下さい。
画像をSceneに配置すると小さい枠の中に置いたものが実行時に表示され、座標はたとえば-2〜+2です。
ヒエラルキーからUIのButtonを配置すると大きい枠の中に置かれ、座標は0-1000などの設定した画面サイズの値になります。
2つの座標系があるようなのですが、Sceneで見ると重なっていないのに実行すると上記の2つ枠は重なって表示されるようです。
なんでこんなことになってるんでしょうか?
両者を混在して使ってると実行環境によってずれが生じそうですが大丈夫なんでしょうか?
また「Unityの教科書 Unity 2019完全対応版」を読みましたが、次に読むと良さそうな本があったら教えて下さい。
280(1): くまじょ 2020/04/25(土)18:16 ID:z5N+YfUG(4/6) AAS
>>279
それな
俺はunity初心者
座標面倒
キャンバスにイメージとスプライト混在したり一貫性ないなあ
281(1): くまじょ 2020/04/25(土)18:23 ID:z5N+YfUG(5/6) AAS
>>279
シーンで見ると大きさが違うのと位置がずれてるのが邪魔で仕方ない
シーンで同じ位置同じ大きさ(見た目のことで座標の数値は違う)にするか
いっそのことシーンでは離れているが実行時に同じにしてみたり
重なってると邪魔なので
キャンバスのインスペクタを弄れば見た目の大きさは揃うよ
座標は-2とかのままがイイみたい
省1
282(1): くまじょ 2020/04/25(土)18:23 ID:z5N+YfUG(6/6) AAS
詳しいことは俺も知りたい
283(1): 2020/04/25(土)18:32 ID:Bwa2wt20(3/3) AAS
>>279
1冊読んで1本作れたなら、漠然とした指南は必要ないかなぁ。
あとは、ネットやるならオンライン系とか、作りたいものに合わせて選ぶだけだよ。
まだ1本も完成させてないなら、本より作り上げることかな。
284: 279 2020/04/25(土)20:19 ID:P2OYyiKX(2/2) AAS
>>280-282
やっぱりわかりづらいですよね
作りながら学んでいくしかないですかね
>>283
いま最初の一本を作ってるところです。
とりあえずわかる範囲で動くものを作ってみることにします。
285: 2020/04/26(日)17:01 ID:0LPIhU5v(1) AAS
・シーンにオブジェクトAとBを作る
・Bをプレハブ化
・GetComponentを記したスクリプトをBにアタッチ、そのインスペクタ内でAをアタッチ
・いざ実行すると、後者からAが消えておりnullが入ってる
これはどういうカラクリ?
GetComponentで保持できるのは同一シーン内のオブジェクトだけで、
プレハブは別シーン扱いだから不可ってこと?
286: 2020/04/26(日)20:07 ID:y6nEuqYj(1) AAS
初心者すぎる質問で申し訳ない
自分の街の地図データ(OSM)をUnityに取り込みたい
OSM2World(外部リンク:osm2world.org)をダウンロードして
以下の記事を参考に頑張っているのだけど、
外部リンク:qiita.com
使い方wiki(外部リンク:wiki.openstreetmap.org)に書いてあるGUI操作というものが分からずOSM2World を実行できずにいる
ダウンロードした中にアプリケーションらしきファイルはないし、どうやって実行するのか分からない
287: 2020/04/27(月)07:09 ID:bdPBx+if(1) AAS
垢付き無視されてて草
288: 2020/04/27(月)15:39 ID:slOrZu1n(1) AAS
エアプババアこと?橋聖子さーん!
Unity 触ったこともないくせにググって出てきたブログの内容をパクってスレに書き込まないでくださーい!
289: 2020/04/27(月)19:31 ID:S31Ss8MO(1) AAS
画面をドラッグしたらそれに合わせて
画面中心に置いてあるキューブのオブジェクトが回転するようにしたのですが、
例外的に画面のUI部分をドラッグしても何も起きないようにしたいです。
試しに画面内にボタンを配置してみますと、
ボタン部分をドラッグしてもキューブは回転しませんでした。
ですが、ボタンではなくスクロールビューを配置しますと、
スクロールビュー内で中身をスクロールさせる際に
省4
290: 2020/04/27(月)22:29 ID:BsJwJx+j(1) AAS
ローグライクゲームで使われるようなテキストボックスの作り方を教えてください
具体的にはテキストボックスは4行目まで表示可能で
5行以上のテキストは初めに上4行が表示され、時間経過で下4行まで
スライドするようなものです
文字のフォントサイズとスライドの幅の関係がわからず
行数が増えてしまうと文字が見切れてしまうのですが
どうしたらよいでしょうか
291: 2020/04/28(火)08:42 ID:UBexnHTQ(1) AAS
アセットストアで探すのはダメか?
292: 2020/04/28(火)08:57 ID:NcdKxY7p(1) AAS
ありよ
293(1): くまじょ 2020/04/28(火)10:45 ID:9EVv0REZ(1) AAS
UIのTextではなくて
GameObjectの子要素として文字や数字を表示したいときどうするのでしょうか
294: 帝王 2020/04/28(火)19:39 ID:+kIsn7nO(1) AAS
TextMeshProとかでできるんじゃないのーー?
(適当)
295(2): 2020/04/28(火)20:05 ID:g/IoFmi8(1) AAS
UGUIのイメージをドラッグして移動させたいのですが、
canvasの設定をscreenspace overlayからcameraに変更するとドラッグ中に描画されなくなってしまいます。
パーティクルを前面に表示させるためにcanvasの設定を変えました。
考えられる原因はありますか?
296(1): 2020/04/29(水)02:19 ID:QIimNiIX(1) AAS
なぁ
初心者じゃないよな?
297: 2020/04/29(水)02:25 ID:0hW05Uib(1) AAS
上級者ばかりやんけ
298(2): 295 2020/04/29(水)05:03 ID:AYSL0fpT(1/3) AAS
>>296
自分の事でしょうか?
練習でトランプを作っていて、初心者なので全てUIで作ってしまいました。
アセットセールで初めて買ったパーティクルをエフェクトとして表示したかったのですが、UIが最前面に来るので表示できませんでした。
自分で調べてcanvasの設定を変えることでパーティクルは表示されたのですが、カードをドラッグすると消えてしまう様になりました。
2Dのゲームを作る時のカードの絵?オブジェクト?というのはどうやって表示させるのが正しいのでしょうか?
いつもcanvasを1つ作って全てその中にUIで作ってしまっています。。
299(1): 2020/04/29(水)05:22 ID:sJVhQ7Za(1) AAS
エディタ拡張を使ってゲームオブジェクトの変数をいじってみたのですが、実行してみると、
↓のような感じで、inspector上で直接打ち込んだ数字に戻ってしまいます
画像リンク[png]:i.imgur.com
どうにか保持する方法はないでしょうか?
300(1): くまじょ 2020/04/29(水)06:37 ID:2WIq4ayc(1/2) AAS
>>299
俺と似たような現象だな
解決策は知らない
301(3): 2020/04/29(水)07:31 ID:C9mEi4oT(1/2) AAS
>>298
自分も初心者だけど(しかも始めたばかり)
教本のサンプルスクリプトを改変しながら一本作ったところ
2Dの画像はUIから作る他にヒエラルキーに直接ドラッグ&ドロップする方法があってこの方法で作ったゲームオブジェクトはUIから作ったimageとは仕様が違うということがわかった
全く同じスクリプトを関連づけても動作しなかったり
等倍のはずなのに画像の表示サイズが微妙に大きかったり
UIキャンバスに入れると表示されなくなったり
省3
302: 301 2020/04/29(水)07:40 ID:C9mEi4oT(2/2) AAS
投稿してから思い出したけど
同じ著者の別の教本のアプリではUIから作った2D画像にCollider2Dで衝突判定付けてたなぁ
実際に作ってみたけど問題なく動いたし
違うものだということは把握したけど違いがよくわからない
303(1): 2020/04/29(水)08:25 ID:IMZ53Uaz(1/2) AAS
>>295
ドラッグ中のオブジェクトの座標見るとどっか遠いところに行ってるんじゃないの
304: 2020/04/29(水)08:30 ID:AYSL0fpT(2/3) AAS
>>301
トランスフォームの違いが一番のポイントかと思いますが、仰る通りそれによってサイズや座標違ったりするのが初心者には辛いですね。
シーン画面だとスケール1のスプライトがキャンバスに対して点みたいなサイズになったりしてわけがわかりません。。
初心者がUnityを覚えるには興味が無くても3Dからやった方が良いですね。
自分みたいにカメラや座標の概念が無いまま画像を表示するにはUIからイメージを作りましょう〜みたいな入門を見てしまったら終わりです。
最初にさせてもらった質問についてはいくつか解決案が見つかったのでもう少し頑張ってみます。
305: 2020/04/29(水)08:38 ID:AYSL0fpT(3/3) AAS
>>303
予想ですがドラッグしてる位置の座標がoverlayの時はrecttransformだったのに対して、ワールド座標になったために遥か彼方に飛んでいってしまったんだと思います。
これをどうにかすれば良いと言う事はなんとなくわかったので調べてやってみます。
無理そうならoverlayのまま意図した動作になる様に仕様を変更する方向でも考えてみます。
306: 301 2020/04/29(水)10:10 ID:eQSMcd5l(1) AAS
3Dから初めて挫折した垢付きみたいなガイジもおるからなぁ
座標の概念はパース定規使ったことがあれば2Dから入ってもすぐ慣れるやろ
あかんかどうかはその人次第やな
垢付きは何をやっても駄目やけどな
UIオブジェクトを複製したらUIキャンバスの外に出て座標めちゃくちゃ
座標いじらずにUIキャンバスに戻したら座標は元に戻るもののスケールが微妙におかしい
なんやその0.99なんちゃらかんちゃらっていうのは
省2
307: 2020/04/29(水)10:58 ID:Ge+X1sPh(1/2) AAS
>>298
動かしたりエフェクト出したりするならスプライトでやったほうが多少処理が軽いけど、
canvsはcanvasでレイアウトが楽とかメリットもあるので好きなやり方でいいと思う。
試しに別のやり方で実装してみたりするといろいろ発見があるかと。
308(2): くまじょ 2020/04/29(水)11:00 ID:2WIq4ayc(2/2) AAS
>>300
今は家にいないからunity弄れない
ググってみたところ
Undo.RecordObjectとか使えばいいのかなあ
俺の場合は拡張とかわかんないので違う方法[ExecuteinEditMode]だけど
309: 2020/04/29(水)11:41 ID:gkpKVPrd(1) AAS
visual studio2019でunityのGameobjectとかスニペット使えないんだけど
どうやったら使えますか?
310(1): くまじょ 2020/04/29(水)12:06 ID:JSWzrUs2(1/6) AAS
>>293
納得いくものではないが自己解決
プレハブにキャンバス置いてUIのテキスト置いた
そのキャラクタを大量にシーンに置いたから
キャンバスの枠が表示されてうざいのでキャンバスのサイズ0にした
unityだけでなく別のツールでも思ったのだが
UIにできて非UIではできないこと
省2
311: くまじょ 2020/04/29(水)12:07 ID:JSWzrUs2(2/6) AAS
>>308
俺の場合は解決した
まだ十分な確認はしていないがたぶんok
312: 2020/04/29(水)13:00 ID:7X6Qdfy+(1) AAS
>>310
それぞれの役割があるからしっかり理解して使いこなすしかない
間違って使うから後で困る
マニュアルみて速攻理解する天才エスパーでも無い限り、何度も失敗して理解するしかないかも
313(1): くまじょ 2020/04/29(水)13:47 ID:JSWzrUs2(3/6) AAS
キャンバス以外にも文字書きたいんだよおおお
314: 2020/04/29(水)16:06 ID:RT7RiZcP(1/2) AAS
>>313
板に文字書いたビットマップ貼ったのじゃだめですか?
315: 弟子 2020/04/29(水)16:24 ID:j5yLLvLF(1) AAS
外部リンク[html]:docs.unity3d.com
316(1): くまじょ 2020/04/29(水)20:06 ID:JSWzrUs2(4/6) AAS
文字の件はプレハブにキャンバス持たせて表示はできたんだけど
たとえばダメージ受けると数字がこぼれ落ちる演出などはどうするんだろう
自キャラ見方キャラ敵キャラに付けたキャンバスにテキストなのだろうか
今回はそういう用途ではない
317: くまじょ 2020/04/29(水)20:09 ID:JSWzrUs2(5/6) AAS
>>316
俺が今やってるのは2Dなのでカメラの方を向く必要ないからキャンバスである必要ないけど
3Dだとキャンバスの方が楽なのかな
座標とかオーダーとかどうなるのか知らんけど
318: 2020/04/29(水)21:23 ID:Ge+X1sPh(2/2) AAS
他の人も書いてるけど
TextMeshProじゃだめなの?
ヒエラルキー右クリ→
3Dオブジェクト→Text-TextMeshPro
319: くまじょ 2020/04/29(水)21:36 ID:JSWzrUs2(6/6) AAS
俺には使い方わからなかったがそれで可能ならそれが正解なのかな
記憶の片隅に置いておくよ
320(1): 2020/04/29(水)21:55 ID:GicUwo7y(1) AAS
プログラム未経験です。
1年を目途にゲーム制作し、1作目でまずは100万の利益を狙いたいと思いますが
何から始めたらいいでしょうか。
321: 2020/04/29(水)22:03 ID:RT7RiZcP(2/2) AAS
>>320
初心者向けの本でも買ってチュートリアルやるとかから始めたほうがいいんじゃないですか。
322: 2020/04/29(水)23:21 ID:IMZ53Uaz(2/2) AAS
釣りはよそでどうぞ
323: 2020/04/30(木)00:32 ID:hTGJdOAW(1) AAS
テストプレイ中(UNITYで再生中)に
VisualStudioでコード編集するとテストプレイが一時停止になってしまいます。
前は動作させたままコード編集できたような気がします。(気のせいでしょうか?)
324: 2020/04/30(木)03:18 ID:uP6BsH0v(1/3) AAS
はい、気のせいです。
スクロールはできるが、記入した時点でフォーカスがVSになってunityは止まる
325: 2020/04/30(木)03:33 ID:yZzY0I2t(1/2) AAS
>>308
Undo.RecordObjectは上手く使えなかったのですが、
それの関連で出てきたプロパティ操作とやらを使ったらできました!
ありがとうございました
326(1): 2020/04/30(木)05:33 ID:rTPsa1+b(1/3) AAS
ユニットをクリックすると移動できる範囲の色を変えるという実装を作ろうとしています。
UIのオブジェクトでマップを作った場合、
マップのタイルにUIのImageをアタッチしてこれを半透明にし、後はON/OFFにすることで表現できるようです。
ところがいまヒエラルキーに画像をドラッグ&ドロップで作り出したオブジェクトをベースにマップを作っているので
このやり方ができません。
半透明のマスクのようなものを上から適用したいのですがやる方法があるでしょうか?
すべてを諦めてマップをUIで実装しなすことも考えています。
327: 2020/04/30(木)05:55 ID:rTPsa1+b(2/3) AAS
>>326
自己解決しました。
元のオブジェクトの下に子オブジェクトを追加して、
この子オブジェクトをON/OFFすればできました。
328: 2020/04/30(木)06:48 ID:XHyCB/e1(1) AAS
UnityでFE風のSRPGを作ってる人のブログを前に見たな
自分が見たときはちょうど行動可能範囲に色をつけたところで終わってた
329(3): 2020/04/30(木)11:41 ID:V6Pk2JwW(1/3) AAS
画像リンク[png]:s.kota2.net
ボタンを押すと5の星だけが表示されるスクリプトなのですが、
親になっている星のオブジェクトをpublicで参照するやり方ではなくて
Findでヒエラルキーから探してくるやり方に変更したら動かなくなりました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
省16
330(1): 2020/04/30(木)12:26 ID:uP6BsH0v(2/3) AAS
どう動かなくなるのか…
331: 329 2020/04/30(木)12:40 ID:V6Pk2JwW(2/3) AAS
>>330
ボタンを押しても何も反応しなくなりました。
publicで外部から親を参照していた時はうまく動いていたのですが、
Findで探すようにしたらボタンが反応しなくなった感じです。
332(1): 2020/04/30(木)12:44 ID:fCNBU+9B(1) AAS
>>329
というかこれエラー出てない?
Findはメンバー変数の宣言時には使えない。
こうすればいけるはず。
Transform STARParent; // = GameObject.Find("starParent").GetComponent<Transform>();//Findで探したい
void Start()
{
省2
333: 2020/04/30(木)12:44 ID:yZzY0I2t(2/2) AAS
簡略化してるのかと思ってたけど
もしかしてStart()とかの関数の外でGetComponentしてる?
334: 329 2020/04/30(木)13:01 ID:V6Pk2JwW(3/3) AAS
>>332 333
どうもありがとうございました。
スタート関数の中でGetComponentを書かなくてはいけなかったのが分かっていませんでした。
publicで親を参照していた時はなぜかエラーが出ていなくてボタンも動いていました。
335: ダーク王鍬大使 ◆SoVpkB15jY 2020/04/30(木)17:20 ID:sYkR1Hoa(1) AAS
僕もガチ初心者の頃にメソッドの外でGetComponentしようとしたことがありまひた(^^
誰もが通る道なのでふね(^^
ボッキング!(^^
336: 2020/04/30(木)17:46 ID:Svx3VR2I(1/2) AAS
昨日screenspace.cameraでのUGUIのドラッグについて質問した者ですが、やっと画面に表示される様になったもののクリックした位置のかなり左にオブジェクトがワープしてしまう様になりました。
もうお手上げです\(^o^)/
337: 2020/04/30(木)20:54 ID:dWqwrf+A(1/2) AAS
原因が同じかどうかはともかく
自分もドラッグで位置を変更できるようにしたオブジェクトがわけのわからない挙動になったことがあるわ
既存のSceneを大量にコピーして増やしたうちの一つだけがそうなったから頭を抱えた
結局原因はヒエラルキーに登録したスクリプトのGameObjectにmissingがあることだった
そんなことでも挙動がおかしくなるんだな
338: 2020/04/30(木)20:54 ID:uP6BsH0v(3/3) AAS
クリックした時の座標データを表示して、見る。
339(1): 2020/04/30(木)21:02 ID:OfoKVMka(1) AAS
質問時にエラーが出てる時は必ず言って欲しいわ
340: 2020/04/30(木)21:28 ID:Svx3VR2I(2/2) AAS
ワープ現象は手札置き場パネルのホリゾンタルレイアウトがカードオブジェクトのアンカー?を左上にセットしていたのが原因っぽいです。
ドラッグ開始時に一度コンポーネントをオフにし、アンカーをスクリプトから中心に移動する事で解決しました。
screenspaceの問題についてはRectTransformUtilityを使って座標を変換する事で解決しました。
同じ現象で困る人が後から救われる様に書き残しておきます。
ありがとうございました!
>>339
エラーが出れば自分でも調べられるから楽なんですけどね・・・。
341: 2020/04/30(木)21:28 ID:dWqwrf+A(2/2) AAS
そういえば自分の時はコンソールに何かエラーメッセージが出てたな
342: 2020/04/30(木)21:34 ID:rTPsa1+b(3/3) AAS
ここで質問していろいろ弄ってわかったことのメモを置いておきます。
【uGUIのImage】と【SpriteRenderer】について
Unityで画像オブジェクトを表示する方法として、uGUIのImageとSpriteRendererの2つがあるようです。
どちらを使っても似たようなことをできるようですが、やり方が多少異なります。
?uGUIのImageを使う場合
uGUIのオブジェクトはヒエラルキーのCanvas以下に置く必要があり、座標系はピクセル(例:-375〜375)。
画像はUI→Imageをオブジェクトにアタッチして設定(あるいは最初からUI→Imageでオブジェクト作成)。
省11
343: 2020/05/01(金)00:44 ID:YDQCTUGy(1/2) AAS
UGUIではUIを作りましょうって事なんだろうけど、レイヤーを指定して最前面以外に描画できるだけで初心者にはありがたいのになぁ。
344(3): 2020/05/01(金)20:23 ID:HXkpQ0jK(1) AAS
おすすめのアセット教えてください(´・ω・`)
345: 2020/05/01(金)20:37 ID:KuaWU/nQ(1) AAS
何が欲しいねん2Dキャラ欲しいのにSE集いらないやろ
346(1): 2020/05/01(金)22:22 ID:YDQCTUGy(2/2) AAS
>>344
セール終わったばっかりじゃん!
初参戦でdotweenとeasysaveとSE集3個買いました。
347: 2020/05/02(土)00:55 ID:d/s8ZDya(1) AAS
宴を買ったけど今すぐ使いたいのはダイヤローグシステムの方だった
次のセールでも半額になっていますように
上下前次1-新書関写板覧索設栞歴
あと 655 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.026s