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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
154
(1): 2020/04/16(木)07:39 ID:f9bKhCih(2/5) AAS
>>152
Awake使ってるの今のところここしかないです…
155: くまじょ 2020/04/16(木)07:39 ID:/YRdqyfH(2/3) AAS
>>152
不完全というのは不適切でした
156
(1): くまじょ 2020/04/16(木)07:43 ID:/YRdqyfH(3/3) AAS
>>154
このシングルトンのオブジェクトを
このシングルトンを使うすべてのシーンに
一つ置いてますか?

このシングルトンのawakeが実行されていないと思われるのでスクリプトがあるだけでこのシングルトンのゲームオブジェクトが存在しないのではないかと思う
157: 2020/04/16(木)08:00 ID:f9bKhCih(3/5) AAS
>>156
すみません。テストをしているシーン上にDataをアタッチしたオブジェクトを置かれていませんでした…
シーンに配置したところエラーが出なくなりました。ご指摘ありがとうございます!
158
(1): 2020/04/16(木)08:09 ID:f9bKhCih(4/5) AAS
すいませんもう一つだけ教えてください。ついさっきDataがシーン上にない時に試行錯誤しているうち
シングルトンの public GameObject enemy1 = null; を public staticに変えて、
Data.btdata.enemy1 = ... の部分を Data.enemy1 =  ... という記述に変えたことでもエラーが出なくなった事に気づいたのですが、

これは普通のpublicだとbtdataをシーン上に配置してインスタンスしないとアクセスできないけど、
public static だとインスタンス無しでアクセスできる、ということなのでしょうか?
159
(1): くまじょ 2020/04/16(木)08:36 ID:8aea26m5(1) AAS
>>158
正確にどういうスクリプトになったのか曖昧なので俺にはわからないのでわかりません

staticつけたものはインスタンスとは独立してるからね
インスタンスがいくつでも0個でもstaticは一つ存在する

でもシングルトンのインスタンスを一つ作ることになるけどね
シングルトンの中身の全てにstaticをつけるとかしないから
160: 2020/04/16(木)08:51 ID:f9bKhCih(5/5) AAS
>>159
ありがとうございます。シングルトンの解説をしているサイトでメンバ変数にstaticがあるものとないものがあるのはなんでだろうと思ってたんですが、少し理解できました。
161: 2020/04/16(木)09:07 ID:kHeNh8ng(1) AAS
>>149
unity上で部品のように固定する感じですか、ありがとうございます☺
162
(1): 2020/04/17(金)05:57 ID:VOQWR+Wk(1/2) AAS
ゲームオブジェクトのプレハブを動的に切り替える事はできないのでしょうか?
共有のゲームオブジェクトを一つ作り、その中に複数のprefabをアタッチしておき、ゲームの状況に応じてprefabを切り替える…ということをやりたいのですが、上手くいきません。

instantiateをするとクローンの別オブジェクトは生成されるのですが、別オブジェクト生成ではなく自分自身のprefabを切り替えたいです
163
(1): 2020/04/17(金)08:33 ID:qsxXwaDY(1) AAS
>>162
2つ既にくっついてるなら、
gameObject.setactive(false)
で、消しては?
164: 2020/04/17(金)11:32 ID:VOQWR+Wk(2/2) AAS
>>163
SetActiveの存在をすっかり忘れてました…ありがとうございます
165: 2020/04/17(金)11:50 ID:ZJBJxQUO(1) AAS
アニメーションクリップを作るときに、
imageをまとめてSceneビューにドラッグ&ドロップして作るときと
アニメーションウィンドウに画像をドラッグ&ドロップして作るときとで
アニメーションの速度が全然違うのですが、どうしてでしょうか。
タイムラインの秒数は同じはずなのに速度が全然違います。
166: 2020/04/17(金)17:22 ID:SVOeOAOE(1) AAS
3Dのゲームなのですが、避雷針のようなものを設置して、それを中心に一定範囲内で発動した魔法はすべて避雷針に向かってしまい、
実質魔法が無効化される、というシステムを考えています

スフィアコライダを使ってその範囲を作り、接触した魔法を中央の避雷針に飛ぶように軌道修正させようとしましたが、
魔法自体何かに接触すると効果を発動して消えるものであるため、スフィアコライダに接触した時点で消えてしまいました

魔法を無力化する効果自体はこれでも十分ではあるのですが、できれば軌道が変わることで意外な場所に着弾したり、
魔法を受け続けた避雷針が破裂するか何かして周囲に被害をもたらしたりとかしてみたいので、消えてほしくはありません

何か良い方法はありませんでしょうか
167: 2020/04/17(金)21:00 ID:5qCFijOz(1) AAS
特定の名前とかタグ名で判別すれば良いのでは?
168: 2020/04/18(土)06:19 ID:cZRvWLJz(1) AAS
お前らどんなゲーム作ってんの?

動画リンク[YouTube]

169: 2020/04/18(土)07:04 ID:aB+KxVXg(1) AAS
無料版unityで作ったアプリをGoogleplayに出して遊んでみたらmade with unityのロゴが出なくなったんですが仕様ですか?
170: 2020/04/18(土)09:07 ID:ctOwdfD6(1/4) AAS
>>103
ありがとうございます。

WebViewを表示したときにAdMobを消して
WebViewを消したときにAdMobがまた出るようにしたくて、

まずAdMobのスクリプトで
public static BannerView bannerView;
にして

public void HideBanner()
{
bannerView.Hide();
}

public void ShowBanner()
{
bannerView.Show();
}

を追加して、

WebViewを出すためのボタンを押したときのスクリプトに
AdMob.bannerView.Hide();
を書いたら
WebViewを出すときにAdMobを消すことができました。

(続きます)
171: 2020/04/18(土)09:13 ID:ctOwdfD6(2/4) AAS
(続き)
そして、以下のWebViewのスクリプトに
-----------------------------------------------------
void Start()
{

     〜 (略)WebViewを表示させる部分 〜

webView.OnShouldClose += (view) =>
{
webView = null;
return true;
};

webView.OnMessageReceived += (view, message) => {
if (message.Path.Equals("close"))
{
Destroy(webView);
webView = null;
}
};
}

void Restart()
{
if (webView != null)
{
webView.Reload();
}
}
-----------------------------------------------------
(続きます)
172
(1): 97 2020/04/18(土)09:14 ID:ctOwdfD6(3/4) AAS
(続き)

自分で色々試してこれを追加すると、
void ShowBanner()
{
if (webView == null)
{
AdMob.bannerView.Show();
}
}
WebViewをバックボタンで消すときにAdMobを再表示させることができたのですが、
もう一度WebViewを出すと、AdMobが消えずに残ったままになってしまいます。
webView == nullがずっと影響してしまうのでしょうか
どうすればいいのか教えてください。
173: 2020/04/18(土)14:06 ID:ctOwdfD6(4/4) AAS
>>172は間違いでした。訂正です。
このUpdateの方を追加すると、

void Update()
{
if (webView == null)
{
AdMob.bannerView.Show();
}
}
>>172のような状態になります。
174
(2): 2020/04/18(土)14:11 ID:z8IRbjj0(1/2) AAS
if (Random.Range(1, 4) == 1 && 2)
{
Debug.Log("三分の二で入る");
}
と書くと
エラー CS0019 演算子 '&&' を 'bool' と 'int' 型のオペランドに適用することはできません
というエラーが出てしまうのですが、これと同じような処理をしたい場合どのように記述すればいいのでしょうか。
175
(1): 2020/04/18(土)14:38 ID:hYM46Tv/(1) AAS
>>174
if (Random.Range(1, 4) <3)
176: 174 2020/04/18(土)16:03 ID:z8IRbjj0(2/2) AAS
>>175どうも有難うございます!
177: 2020/04/18(土)17:40 ID:LRtmG8cA(1) AAS
simulationライブラリで純粋な関数式プログラミングをする
外部リンク[aspx]:x0000.net

UIライブラリ (C#, 2D) を作ったよ
外部リンク[aspx]:x0000.net

連続と離散を統一した!
外部リンク[aspx]:x0000.net

4Dエンジン
外部リンク[aspx]:x0000.net

matrixのライブラリ
外部リンク[aspx]:x0000.net

ある強力なFor関数
外部リンク[aspx]:x0000.net

SQLライブラリ
外部リンク[aspx]:x0000.net
178
(3): 2020/04/19(日)04:12 ID:1PPWw4FK(1/3) AAS
キーを押したら平行ライトの角度が変えられるスクリプトで質問したいです。
元のライトの角度が(50,-30,0)とかになっていてたとします。
リセットキーをつけようとQuaternion.identityをつかうと0,0,0
になってしまいます。
もとの(50,-30,0)にもどす(リセット)するにはどうしたらいいでしょうか?
よろしくお願いいたします。
-------------------------------
if (Input.GetKey(KeyCode.U))
{
transform.Rotate(50 * Time.deltaTime, 0, 0);
}
if (Input.GetKey(KeyCode.I))
{
transform.Rotate(-50 * Time.deltaTime, 0, 0);
}
if (Input.GetKey(KeyCode.O))
{
transform.Rotate(0, -50 * Time.deltaTime,0);
}
if (Input.GetKey(KeyCode.P))
{
transform.Rotate(0, 50 * Time.deltaTime,0 );

}
if (Input.GetKey(KeyCode.L))
{
transform.rotation = Quaternion.identity;

}
179: 2020/04/19(日)07:08 ID:g5SC/sTa(1/2) AAS
>>178
俺は初心者なので詳しいことは知らんが
角度って難しいね

回転(相対変化)じゃなくて角度を指定したいとか
検索しても話がかみ合わない
180: 2020/04/19(日)07:17 ID:g5SC/sTa(2/2) AAS
>>178
平行ライトは知らんので使えるか知らんが
eulerAnglesとかlocalEulerAngles
181
(1): 178 2020/04/19(日)09:29 ID:1PPWw4FK(2/3) AAS
ありがとうございます。
いろいろ試して
最後のリセットさせようとする文を

transform.rotation = Quaternion.Euler(50, -30, 0);

にしました。
初期値を自分で書いてそれに戻してるだけですが機能しました。
正しいやり方ではないと思いますが。
182: 2020/04/19(日)10:03 ID:VkHE7jHb(1) AAS
>>181
リセット時に向く方向を変数にして、
インスペクタから指定できるようにするとか、
start関数内で現在の向きを変数に格納しておく、
とかにすると使い勝手がいいかもしれません。
183: 2020/04/19(日)12:03 ID:iMvDFyAq(1) AAS
位置とスケールは簡単なのに角度になると急に面倒に…
0〜180、0〜 -180、0〜360とかぁ〜
1-
あと 819 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.014s