[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild4 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
354
(1): 2020/05/03(日)00:46 ID:3PYqNA60(1/2) AAS
>>352>>353
どうも有難うございます。
GameObject.FindからParent.Findに変更したことで挙動が一歩先に進みました。
画像リンク

「赤い人」が表示されるようになりましたが、
「赤い人」に付いているスタート関数通りに動いていません。
「赤い人になるボタン」が非表示になり「青い人になるボタン」が表示されるはず(ループする)なのですが、「赤い人になるボタン」が残ったままです。

赤い人に付いているスタート関数
using UnityEngine;
public class RedMan : MonoBehaviour
{
void Start()
{
Transform Parent = GameObject.Find("Canvas").GetComponent<Transform>();//キャンバスを参照
Parent.transform.Find("BlueButton").gameObject.SetActive(true);//「青い人になるボタン」表示
Parent.transform.Find("RedButton").gameObject.SetActive(false);//「赤い人になるボタン」非表示
}
}
「赤い人」が表示されて最初の状態に戻ったのでループするはずですが、「赤い人」が表示されているのに↑のスタート関数通りに動いていません。ゲームスタート時はRedManが表示、BlueManが非表示の状態から始まりました。
Parent.transform.Findにしているのでたぶん間違っていないと思うのですが。
どのような原因が考えられるでしょうか。
355
(1): 2020/05/03(日)01:05 ID:mGAguN+2(2/2) AAS
>>354
Start関数は1回目にインスタンス化したときにしか呼ばれないから、アクティブ化したとき毎回呼びたいなら
OnEnable関数に入れると解決すると思います
356: 2020/05/03(日)01:20 ID:3PYqNA60(2/2) AAS
>>355
どうもありがとうございます!
ずっと行き詰っていたので質問してよかったです!
357
(1): 2020/05/04(月)11:48 ID:J4ms5P/o(1/2) AAS
ヒエラルキー
Canvas
image

もし、Canvasの子のimageに付いているimage.csの中にあるbool型の変数 isBool が false だったら

処理

それ以外

処理


というif文のコードを続けて書くことは出来るでしょうか?
階層をたどって行ってスクリプトの中にある変数がfalseかtrueかを知りたいコードです。
こういう書き方が出来るのであれば教えてください、丸投げで申し訳ないのですがどうぞよろしくお願いします。
358
(1): 2020/05/04(月)11:59 ID:FDckzKji(1) AAS
子の取得
イメージの取得
スクリプトの取得からの変数を取得
の複合となります。
359
(1): 2020/05/04(月)16:56 ID:4sVluEfA(1) AAS
なんでもかんでも、public にするのは良くないと
よく言われますが、
その理由は、思いがけず他のスクリプトから変更されるリスクがあるから
という認識で大丈夫でしょうか?

そうであるとすれば、個人制作であれば
それほど気にしなくていいですか?
360: くまじょ 2020/05/04(月)17:27 ID:AIvgNpPa(1) AAS
>>359
いいよ
でも何でもかんでもpublic メンバ変数は良くないと知ったうえで
361: 357 2020/05/04(月)20:12 ID:J4ms5P/o(2/2) AAS
>>358
どうもありがとうございます。
別スクリプトの変数の値を取得することが出来ました。

もし、Canvasの子のimageに付いているimageScriptの中にあるbool型の変数 isBool が false だったら

GameObject _image; //スクリプトが付けているオブジェimageを変数に入れる
BigModeScript _imageScript; //imageのコンポーネントimageScriptを変数に入れる

_image = GameObject.Find("image");
_imageScript = _BigModeScript.GetComponent<imageScript>();
bool _isBool = _imageScript.isBool;
if (!_isBool)
{
      処理
}
    else
{
   処理
}

ifの()の中に全部入れるようにするのかと思っていましたがそうではなかったです。
362
(1): 2020/05/05(火)13:51 ID:9nXMWD0/(1/2) AAS
画像リンク

画像リンク


初歩的な質問ですみません。カメラの撮影範囲を表示している?の線に背景が触れると、?のように表示されます。
?のようにならず正常に表示するにはどうすればよいのでしょうか。
分かる方がいましたら回答お願いします。
363: 2020/05/05(火)15:36 ID:9Qg9BbaI(1) AAS
>>362
その線は、カメラに表示させる範囲をあらわしてるんよ。

カメラに映る範囲の距離を伸ばせばいいだけだから、
カメラのインスペクタの"Clipping Planes"のFarの値を増やせばいいよ。
364: 2020/05/05(火)15:56 ID:M7CVA2SC(1) AAS
手前だからNearだな
365: 2020/05/05(火)16:28 ID:9nXMWD0/(2/2) AAS
ありがとうございました!これで作業が進みます!
366: 2020/05/05(火)20:21 ID:yqNxCZ2T(1) AAS
ユニットが選択されたらステータスに顔画像を表示する部分を作っています。

1.ユニットの子オブジェクトのImageに画像をロード(ユニット生成時に一度だけ)
2.ユニットが選択されたとき、ステータスUIのImageを選択ユニットの子オブジェクトImageに置換

というやり方で実装しました。

ここでゲーム実行中に1の画像ファイルを別なものに置き換えたところ、
2のステータスUIの画像までリアルタイムで(正確にはUnityをActive windowにしたときに)変わりました。

ユニットが選択されるたびにファイルアクセスが発生しないように上記のような実装にしたのですが
ステップ1で予め画像をロードしておく処理は無駄なんでしょうか?
367: 2020/05/05(火)21:14 ID:GfNu4m3E(1) AAS
質問失礼いたします。
カメラにアニメーションキーを打って再生しているのですが、
1フレーム間の移動を大きくすると、再生時に正常に再生されない(キー前後で補完のようなものがはいる)のですが、原因や対処法などございますでしょうか。
宜しくお願い致します。
368: 2020/05/05(火)21:20 ID:ENVyAp/N(1) AAS
マルチっすか……
369: 2020/05/06(水)06:05 ID:N50fTHgp(1) AAS
マルチだね
370: 2020/05/06(水)17:25 ID:tuJN3eof(1) AAS
Unity AIPの詳しい解説が掲載されている教本があれば教えてください
371: 2020/05/06(水)17:35 ID:+0FT+A2D(1) AAS
そんな物は無い
372: 2020/05/06(水)18:46 ID:oYW9vXG2(1) AAS
垢付きさんはUnityの教本一冊も読んでないでしょ〜
373
(2): 2020/05/06(水)20:30 ID:7QaDuGGA(1/2) AAS
カメラをズームしてもぼやけないよう予め大きめのpng画像でPlayerキャラを用意し、Scale縮小して表示したいと思います。この場合、

・一番親のオブジェクトでまとめて縮小する、
・キャラを描画するレンダラーコンポーネントを付けた子オブジェクトを縮小する

どちらのパターンが無難でしょうか?
親オブジェクトにはRigidbody2Dと接地用のコライダー、メイン処理用のスクリプトが付いており、
子はレンダラー用、レンダラーに追従する当たり判定用などのオブジェクトが3つぐらいあります。

どちらも今のところは大丈夫なんですが、後々物理演算のかみ合わせとかなにか問題出てくる要素あるのではと決めかねています。
なんかふわっと質問で申し訳ないですが、アドバイスください。
374
(1): 2020/05/06(水)20:42 ID:DpeqSzMx(1) AAS
>>373
後々がどういう仕様になるか、ご本人がわからなければ第三者はもっとわかりません。未来の話は置いといて作れば良いかと。
あと、気になったのは大きい画像とありますが、2dでドット絵なら、主スケールの時に1対1ドットにすべきかと思います。縮小すると線が消えますので。
375
(1): 2020/05/06(水)23:57 ID:7QaDuGGA(2/2) AAS
>>374
ありがとうございます。あまり考えても仕方がないとは思うのですが、
オブジェクトの物理演算の動きを阻害させずにグラフィックだけ動かす必要が出て、オブジェクトのプレハブの親子関係全修正になってしまったので、
後々融通の効くオブジェクト構造とはどういうものなのだろうかと気になっています。

例えば炎がキャラの位置に追随しながら周囲を回転する魔法を実装したい、となった際にはキャラの子オブジェクトとしてインスタンスするのが良さそうですが、
親のルートオブジェクトがキャラによってまちまちの縮小だと汎用的に実装できるのだろうか…とかですかね。

主スケールのときに1対1ドットとは、基準となるカメラのscaleで原寸画像で表示できるサイズにすべき、ということでしょうか?
キャラ画像はドット絵のスプライトアニメではなくアニメ塗りスプライトのボーンアニメを実装しているのですが、カメラを引いた時のガタつきが気になります
376
(1): 2020/05/07(木)00:20 ID:5v92ATly(1) AAS
>>373
一番無難なのは、画像アセットの「ユニットごとのピクセル数」を設定する方法かな。
377: 2020/05/07(木)01:19 ID:kT1fPxaV(1) AAS
>>376
SpriteModeのPixel Per Unit の項目ですかね。うろ覚えになって以降意識の外にあったので調べ直してみます。
378: 2020/05/07(木)11:15 ID:dcpSlS2D(1) AAS
>>375
ドット絵と思い込んでましたので、そうでない、拡大にも耐えられる絵なら、主スケールは忘れてください。失礼しました。
379
(1): 2020/05/07(木)16:07 ID:VHUNtNMf(1) AAS
マルチってどういう意味ですか?
380: くまじょ 2020/05/07(木)18:45 ID:x1GQ3H70(1) AAS
>>379
複数

掲示板などでは嫌われる行為
回答を速く得るために多数の掲示板に書き込む
そういう人はどれかひとつの掲示板に回答があれば他の掲示板住民のことは無視するというかどこに書き込んだか覚えてもいない
自己解決すればすべての回答を放置する確率が高い
最初に説明をすれば許されることがある
急いでたからと言うと炎上する
381
(3): 2020/05/08(金)10:10 ID:UflBmPCI(1/4) AAS
>>349
質問させて下さい。
ターン制バトルのRPGなどで敵ABCが居たとして、
それぞれの攻撃の処理にモーションを含めて1秒ずつかかるとします。

Aの攻撃が終わったらBの攻撃〜とする時にコルーチンなどで1秒毎に行動させる方法が思い浮かびます。

しかし、ゲームを作っているうちにAのモーションは2秒かかるという状況もでてくると思います。

その場合はAの行動が終わった事をフラグにして、アップデート関数でif(A行動済み==true)という風に作るのでしょうか?
それとも、Aの行動が終わった時に呼び出す〜みたいな関数があるのでしょうか?

アップデートを極力使わずにプログラミングしているのですが、アクションゲームなどは常にアップデート多様していると思うのであまり気にしないで使っていいのでしょうか?

ご指導頂ければと思います。
よろしくお願い致します。
382: 2020/05/08(金)10:11 ID:UflBmPCI(2/4) AAS
すみません、予測変換で謎のアンカーがついてしまいました・・・。
383: 2020/05/08(金)10:28 ID:vnSLXTuW(1/4) AAS
>>381
いろんな作り方があるので間違いじゃないです。
1-
あと 619 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.016s