ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止
初心者が親身になって初心者に教える。
又ググレの場合、何のキーワードでググるのか書いてね
●リンク
・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初心者質問スレBuild3
https://itest.5ch.net/mevius/test/read.cgi/gamedev/1578720539
探検
【ゲームエンジン】Unity初心者質問スレBuild4
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2020/03/29(日) 19:35:12.24ID:mirhKW7D182名前は開発中のものです。
2020/04/19(日) 10:03:59.90ID:VkHE7jHb183名前は開発中のものです。
2020/04/19(日) 12:03:44.34ID:iMvDFyAq 位置とスケールは簡単なのに角度になると急に面倒に…
0〜180、0〜 -180、0〜360とかぁ〜
0〜180、0〜 -180、0〜360とかぁ〜
184名前は開発中のものです。
2020/04/19(日) 18:44:44.40ID:XRjxy4OE 他オブジェクトにつけたスクリプトを参照できるようなスクリプトを書きたいのですがどのように書けばいいんでしょうか…
プレイヤーキャラのスクリプトから向きの情報を得て弾の進行方向を変えるような感じをイメージしているんですが。
プレイヤーキャラのスクリプトから向きの情報を得て弾の進行方向を変えるような感じをイメージしているんですが。
185名前は開発中のものです。
2020/04/19(日) 20:06:29.04ID:+eR6EvBT186名前は開発中のものです。
2020/04/19(日) 20:26:54.21ID:NPwmi6aX animatorについてなんだけど、3dモデルに他のキャラのアニメーション付けてもちゃんと動いてくれるの?
VRMとかにモーションつける時とか違うキャラの付けてもちゃんと動いてるのが不思議で
VRMとかにモーションつける時とか違うキャラの付けてもちゃんと動いてるのが不思議で
187名前は開発中のものです。
2020/04/19(日) 23:55:02.39ID:1PPWw4FK188名前は開発中のものです。
2020/04/20(月) 13:43:13.94ID:u07mKJre Youtubeの画面下の横長動画プレイヤーみたいなのを作ろうとしているのですが、うまくいきません。
1.空オブジェクト(A)を作成。各種UI Buttonをその子として入れる。
2.別途UI Panelオブジェクト(B)を作成。Aには入れない。
3.Bに「イベントトリガー」コンポーネントをつけ、Pointer EnterでAのSetActiveをONに。Pointer ExitでOFFに。
4.BをAよりも画面手前に置くと、Aのボタンが反応しなくなる
5.BをAよりも画面奥に置くと、AのボタンにマウスーオーバーしたときABともに高速点滅する
1.空オブジェクト(A)を作成。各種UI Buttonをその子として入れる。
2.別途UI Panelオブジェクト(B)を作成。Aには入れない。
3.Bに「イベントトリガー」コンポーネントをつけ、Pointer EnterでAのSetActiveをONに。Pointer ExitでOFFに。
4.BをAよりも画面手前に置くと、Aのボタンが反応しなくなる
5.BをAよりも画面奥に置くと、AのボタンにマウスーオーバーしたときABともに高速点滅する
189名前は開発中のものです。
2020/04/20(月) 14:32:09.13ID:u07mKJre >>188自己解決しました。
BをAに被せず、3のオンオフを逆にしたらOKでした
BをAに被せず、3のオンオフを逆にしたらOKでした
190名前は開発中のものです。
2020/04/20(月) 14:42:58.66ID:zd2flDEV191名前は開発中のものです。
2020/04/20(月) 14:46:13.15ID:7TeDGIGu >>190
角度取得をstartじゃなく、updateにでもいれてるんだろうね。
角度取得をstartじゃなく、updateにでもいれてるんだろうね。
192名前は開発中のものです。
2020/04/20(月) 15:01:19.48ID:Z9e9J0rW ゲームにはよくパワーアップやパワーダウンの効果をもつバフ、デバフがあると思います
こういったものというのは、先に計算を行って置き、実数を変更しておくのが一般的なのでしょうか
それとも、効果を発揮する状況になったとき(たとえば攻撃時、攻撃力の値が必要になったとき)に毎回算出するのが一般的なのでしょうか
前者の場合だと計算は完了しているため後は値を参照すればパワーアップ状態での行動に反映でき、負荷が軽くなるとは思うのですが、
パブ、デバフの効果切れの際に、特に乗算等で計算していた場合、パワーアップ中にレベルアップや装備変更などで元の値が変化してしまうと
効果切れの処理のときに元の値が狂ってしまうバグが発生してしまいます
後者の場合だと前述のバグは発生しにくいとは思いますが、攻撃のたびにパワーアップ分を計算しなくてはならず、
簡単な計算とはいえ毎回負荷がかかってしまいます
今作っているのは3Dでリアルタイムで動くRPGのようなもので将来オンライン化を目指していますが、
バグの回避と拡張性の問題から後者の手段を取ろうと思っているのですが、処理負荷がどう響くのか分かりません
とりあえず一般的な手法ならそれなりに実績もあるだろうということで、どちらが一般的でしょうか
こういったものというのは、先に計算を行って置き、実数を変更しておくのが一般的なのでしょうか
それとも、効果を発揮する状況になったとき(たとえば攻撃時、攻撃力の値が必要になったとき)に毎回算出するのが一般的なのでしょうか
前者の場合だと計算は完了しているため後は値を参照すればパワーアップ状態での行動に反映でき、負荷が軽くなるとは思うのですが、
パブ、デバフの効果切れの際に、特に乗算等で計算していた場合、パワーアップ中にレベルアップや装備変更などで元の値が変化してしまうと
効果切れの処理のときに元の値が狂ってしまうバグが発生してしまいます
後者の場合だと前述のバグは発生しにくいとは思いますが、攻撃のたびにパワーアップ分を計算しなくてはならず、
簡単な計算とはいえ毎回負荷がかかってしまいます
今作っているのは3Dでリアルタイムで動くRPGのようなもので将来オンライン化を目指していますが、
バグの回避と拡張性の問題から後者の手段を取ろうと思っているのですが、処理負荷がどう響くのか分かりません
とりあえず一般的な手法ならそれなりに実績もあるだろうということで、どちらが一般的でしょうか
193名前は開発中のものです。
2020/04/20(月) 15:10:33.56ID:zd2flDEV194名前は開発中のものです。
2020/04/20(月) 15:49:24.30ID:BqIKHtjL195名前は開発中のものです。
2020/04/20(月) 16:27:38.06ID:hAG3HiSQ scriptを用いて指定オブジェクトの色をGetComponent<Image>().material.color で変更しようとしたところ
指定したオブジェクト以外の色も変更されてしまいます。
指定したオブジェクトのみ変更させたい場合どうしたらよいでしょうか
Default UI Material というのが指定した色になっていました。
指定したオブジェクト以外の色も変更されてしまいます。
指定したオブジェクトのみ変更させたい場合どうしたらよいでしょうか
Default UI Material というのが指定した色になっていました。
196名前は開発中のものです。
2020/04/20(月) 16:35:21.10ID:7TeDGIGu197名前は開発中のものです。
2020/04/20(月) 16:36:35.22ID:7TeDGIGu198名前は開発中のものです。
2020/04/20(月) 16:46:25.44ID:hAG3HiSQ 返答ありがとうございます。
指定したImageオブジェクト(ほかのオブジェクトも)のmaterialを設定していませんでした。
指定オブジェクトのmaterialを「Sprites-Default」に設定したところ
指定したオブジェクトのみ色を変えることができました。ありがとうございます。
指定したImageオブジェクト(ほかのオブジェクトも)のmaterialを設定していませんでした。
指定オブジェクトのmaterialを「Sprites-Default」に設定したところ
指定したオブジェクトのみ色を変えることができました。ありがとうございます。
199名前は開発中のものです。
2020/04/20(月) 17:10:09.14ID: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関数の中にプレイヤーの向きの情報が入っているので、弾が常にそれに連動してしまうのはわかるんですが…
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関数の中にプレイヤーの向きの情報が入っているので、弾が常にそれに連動してしまうのはわかるんですが…
200名前は開発中のものです。
2020/04/20(月) 17:33:02.98ID:QzIkkg0M unity(2D)って、ひょっとしてそれほど画像の大きさは気にしなくていいですか?
カメラサイズとかで調整して、カメラで見えたものがそのまま映像として出る感じ?
カメラサイズとかで調整して、カメラで見えたものがそのまま映像として出る感じ?
201名前は開発中のものです。
2020/04/20(月) 17:40:40.58ID:5Q+qVe+b >>199
leftをメンバ変数にしてstart()で向きを代入すればいい
leftをメンバ変数にしてstart()で向きを代入すればいい
202名前は開発中のものです。
2020/04/20(月) 17:55:39.99ID:zd2flDEV203名前は開発中のものです。
2020/04/20(月) 19:41:13.85ID:7TeDGIGu >>202
そんで、left=render…をスタートにね。
そんで、left=render…をスタートにね。
204名前は開発中のものです。
2020/04/20(月) 20:05:15.73ID:vPtvjXeA インスペクターの変数表示を折りたたみしたくて、
「InspectorFoldoutGroup」というのを見つけたのですが導入方法がわかりません。
やり方教えてほしいです。
「InspectorFoldoutGroup」というのを見つけたのですが導入方法がわかりません。
やり方教えてほしいです。
205名前は開発中のものです。
2020/04/20(月) 20:50:29.55ID:bEPCXYQk >>204
Homebrewフォルダを自分のプロジェクトのAssetsに置く
折りたたみを使いたいスクリプトの一番上の部分に
using Pixeye.Unity;
を追加
あとは添付されてる
README.md
見ればわかるはず。
.mdファイルが開けなかったらブラウザにドラッグ&ドロップすれば見れる
Homebrewフォルダを自分のプロジェクトのAssetsに置く
折りたたみを使いたいスクリプトの一番上の部分に
using Pixeye.Unity;
を追加
あとは添付されてる
README.md
見ればわかるはず。
.mdファイルが開けなかったらブラウザにドラッグ&ドロップすれば見れる
206名前は開発中のものです。
2020/04/20(月) 21:03:41.06ID: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);
}
とにかく手探りで書いてみました。
実行したところ、やはり弾が生成された地点で止まってしまいます。
どこを直せばいいのでしょうか…
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);
}
とにかく手探りで書いてみました。
実行したところ、やはり弾が生成された地点で止まってしまいます。
どこを直せばいいのでしょうか…
207タワー ◆j2ZL4YtpzY
2020/04/20(月) 21:16:59.91ID:IQn62GFy208名前は開発中のものです。
2020/04/20(月) 21:28:27.99ID:vPtvjXeA >>205
おかげさまで導入することができました
ちなみに自分がひっかかってたのはダウンロードの仕方からわからなかったのですが
サイトの Clone or download → Download ZIP から落とせました。
たぶんダウンロード出来てたとしても導入でつまづいてたと思うので(英語わからない)
助かりました ありがとうございます!
おかげさまで導入することができました
ちなみに自分がひっかかってたのはダウンロードの仕方からわからなかったのですが
サイトの Clone or download → Download ZIP から落とせました。
たぶんダウンロード出来てたとしても導入でつまづいてたと思うので(英語わからない)
助かりました ありがとうございます!
209名前は開発中のものです。
2020/04/20(月) 22:10:13.03ID:zd2flDEV210名前は開発中のものです。
2020/04/20(月) 22:15:09.57ID: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);
}
}
これでどうだ
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);
}
}
211名前は開発中のものです。
2020/04/20(月) 22:26:02.98ID:j+CwVrdp 発射後には方向動かしたくないのか 失礼
212名前は開発中のものです。
2020/04/20(月) 22:30:08.28ID:zd2flDEV213名前は開発中のものです。
2020/04/20(月) 22:47:15.92ID:7TeDGIGu214タワー ◆j2ZL4YtpzY
2020/04/20(月) 23:01:34.95ID:IQn62GFy >>209
あ、分かった二ヶ所です
まずStart()にある
if(left == true)
…
をUpdate()へ移動
んで加算減算ですが
x = -0.5f
ではなく
x -= 0.5fとx += 0.5f
これならどうだっ!?
あ、分かった二ヶ所です
まずStart()にある
if(left == true)
…
をUpdate()へ移動
んで加算減算ですが
x = -0.5f
ではなく
x -= 0.5fとx += 0.5f
これならどうだっ!?
215名前は開発中のものです。
2020/04/21(火) 00:16:51.48ID:VK5HUOlH216名前は開発中のものです。
2020/04/21(火) 01:34:28.12ID: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);
}
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);
}
217名前は開発中のものです。
2020/04/21(火) 02:35:32.80ID:eGonr+6D >>213
このスクリプトは弾についてるやつです
これだと生成された場所で弾が止まってしまいます…
transform.Translate(0.5f,0,0)でいい感じだったので数値はこれでいいはずなんですが…。
このスクリプトは弾についてるやつです
これだと生成された場所で弾が止まってしまいます…
transform.Translate(0.5f,0,0)でいい感じだったので数値はこれでいいはずなんですが…。
218名前は開発中のものです。
2020/04/21(火) 02:39:51.81ID:eGonr+6D219名前は開発中のものです。
2020/04/21(火) 07:56:58.30ID:lxHdAL0J220名前は開発中のものです。
2020/04/21(火) 10:03:30.31ID:eGonr+6D221タワー ◆j2ZL4YtpzY
2020/04/21(火) 10:10:06.23ID:NfJnlsa5222名前は開発中のものです。
2020/04/21(火) 11:36:12.60ID:K2oy6SXi androidでrun and buildしようとしてgradleでエラーが出る
gradleのアップデートしようにもexportの仕方がわかんねえ…
gradleのアップデートしようにもexportの仕方がわかんねえ…
223名前は開発中のものです。
2020/04/21(火) 22:53:53.72ID:csf8LLL0 使い方がイマイチわからないところがあるので質問させてください
AオブジェクトにスクリプトAを接続
スクリプトAでパブリックGameObject Bを宣言
すると
AオブジェクトのインスペクタにGameObject Bの項目が追加されますが、
スクリプトAのインスペクタにもGameObject Bの項目が追加されています。
AオブジェクトのインスペクタのGameObject Bには他のオブジェクトをドラッグドロップで
接続できますが、
スクリプトAのインスペクタのGameObject Bには同じように接続できません。
None(Game Object)となっています。
特に問題なく想定したとおり動いてるのでいいのですがちょっとだけ気になります。
スクリプトAのインスペクタにはどんな意味があるのでしょうか?
AオブジェクトにスクリプトAを接続
スクリプトAでパブリックGameObject Bを宣言
すると
AオブジェクトのインスペクタにGameObject Bの項目が追加されますが、
スクリプトAのインスペクタにもGameObject Bの項目が追加されています。
AオブジェクトのインスペクタのGameObject Bには他のオブジェクトをドラッグドロップで
接続できますが、
スクリプトAのインスペクタのGameObject Bには同じように接続できません。
None(Game Object)となっています。
特に問題なく想定したとおり動いてるのでいいのですがちょっとだけ気になります。
スクリプトAのインスペクタにはどんな意味があるのでしょうか?
224名前は開発中のものです。
2020/04/21(火) 23:37:01.59ID:UQ97M8GL >>223
スクリプトAのインスペクタ
というのは、プロジェクトタブ内でスクリプトを選択したときに表示されるもののことでしょうか?
であれば、設定できるのはプロジェクト内にあるゲームオブジェクトだけです。
プロジェクト内にあるプレハブを初期値として持たせておきたい場合はそこで設定するといいと思います。
スクリプトAのインスペクタ
というのは、プロジェクトタブ内でスクリプトを選択したときに表示されるもののことでしょうか?
であれば、設定できるのはプロジェクト内にあるゲームオブジェクトだけです。
プロジェクト内にあるプレハブを初期値として持たせておきたい場合はそこで設定するといいと思います。
225名前は開発中のものです。
2020/04/22(水) 01:06:31.31ID:KbfCVKCs >>224
そうです Projectタブ内のスクリプト選択時に表示されるものです
おっしゃるとおりAssets内のプレファブからならドラッグドロップで登録できました
でもこれって
ゲームオブジェクト選択時に表示されるインスペクタのほうからでもプレファブ登録ってできますよね?
初期値に違いが出るんでしょうか?
そうです Projectタブ内のスクリプト選択時に表示されるものです
おっしゃるとおりAssets内のプレファブからならドラッグドロップで登録できました
でもこれって
ゲームオブジェクト選択時に表示されるインスペクタのほうからでもプレファブ登録ってできますよね?
初期値に違いが出るんでしょうか?
226名前は開発中のものです。
2020/04/22(水) 01:27:55.05ID:sLe2iYSZ スクリプトをアタッチした時点での初期値、という意味です。
227名前は開発中のものです。
2020/04/22(水) 01:43:37.40ID:KbfCVKCs228名前は開発中のものです。
2020/04/22(水) 02:29:38.60ID:sLe2iYSZ ただ単純に手間を省ける場合があるってだけです。
例えばプレハブに8割の確率で同じものを使う、という場合で、
100回スクリプトをアタッチしたとします。
初期値が空なら、100回プレハブを設定しなければなりません。
初期値に80回使うプレハブがすでに設定済みなら、
設定するのは20回ですみます。
例えばプレハブに8割の確率で同じものを使う、という場合で、
100回スクリプトをアタッチしたとします。
初期値が空なら、100回プレハブを設定しなければなりません。
初期値に80回使うプレハブがすでに設定済みなら、
設定するのは20回ですみます。
229名前は開発中のものです。
2020/04/22(水) 07:29:50.06ID:idLW19fL やばいずっと何言ってるかわかんねえ
230名前は開発中のものです。
2020/04/22(水) 11:29:44.07ID: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をローカル座標として設定したい状態です。
すでに存在するオブジェクトに子としてプレハブを複製しようとしたときの座標がうまく設定できません。
スクリプトではこんな感じ記載しています
------------
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をローカル座標として設定したい状態です。
231名前は開発中のものです。
2020/04/22(水) 13:03:53.31ID:UU/VXGyk >>230
最後のlocal posで、100じゃなくて、0.0.0でいいんじ「ないの?
最後のlocal posで、100じゃなくて、0.0.0でいいんじ「ないの?
232名前は開発中のものです。
2020/04/22(水) 13:10:28.55ID:VQM8R+FC >>231
最後のlocalPosition の位置に設定をしたいのですがワールド座標の原点に設定されてしまう状態です
最後のlocalPosition の位置に設定をしたいのですがワールド座標の原点に設定されてしまう状態です
233名前は開発中のものです。
2020/04/22(水) 13:29:09.78ID:sLe2iYSZ >>230
Instantiate(obj, parent.position + new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent);
Instantiate(obj, parent.position + new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent);
234名前は開発中のものです。
2020/04/22(水) 13:36:29.55ID:KbfCVKCs >>228
説明で全くピンとこなかったのですが
実際UNITYで試してみて言葉の意味がようやく理解できました
「スクリプトをアタッチした時点での初期値」
ほんとそのとおりですね 複製するときに使えそうです
ありがとうございます!
説明で全くピンとこなかったのですが
実際UNITYで試してみて言葉の意味がようやく理解できました
「スクリプトをアタッチした時点での初期値」
ほんとそのとおりですね 複製するときに使えそうです
ありがとうございます!
235弟子 ◆rZPPjYuxmQ
2020/04/22(水) 13:37:39.18ID: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.position, transform.rotation);
それの値をいじります。
clone.velocity = transfor…
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.position, transform.rotation);
それの値をいじります。
clone.velocity = transfor…
236名前は開発中のものです。
2020/04/22(水) 13:54:05.92ID:KbfCVKCs237名前は開発中のものです。
2020/04/22(水) 13:54:31.83ID:NXwZj8K9 タッチの差だったな
238名前は開発中のものです。
2020/04/22(水) 14:37:58.42ID:VQM8R+FC239名前は開発中のものです。
2020/04/22(水) 14:44:13.38ID:Fjzhn+DL サイズが100メガ越えちゃってアップロードできないので
一部のシーンを自サーバに置こうと思うんですが
どうやればいいのでしょうか
一部のシーンを自サーバに置こうと思うんですが
どうやればいいのでしょうか
240名前は開発中のものです。
2020/04/22(水) 17:24:59.04ID:v683vmMZ 無料のFBX Exporterって無くなったんですか?
241名前は開発中のものです。
2020/04/22(水) 17:54:26.25ID:fzmr7DOF ゲーム作ってる場合じゃない!
242名前は開発中のものです。
2020/04/23(木) 18:03:45.48ID:h7v1P4FQ 関数名には、スペースと頭を数字にしてはいけないというのを知ったのですが、
「-」短いハイフンを含めても問題ないのでしょうか?
後で不具合が起こることはないでしょうか?
「-」短いハイフンを含めても問題ないのでしょうか?
後で不具合が起こることはないでしょうか?
244名前は開発中のものです。
2020/04/23(木) 19:54:56.09ID:VZYcAFmQ エディタに怒られる
245名前は開発中のものです。
2020/04/23(木) 22:11:41.12ID:B+z5addE Unityが壊れた
AndroidのBild settingのplayerの項目が表示されなくなった
最初は表示されていたのに項目の入力中におかしくなってそれっきり
心当たりがあるとすれば入力中にIMEの入力切り替えがおかしくなって半角入力できなくなっていたことくらい
別のプロジェクトファイルを開いても同じ不具合と同じエラーメッセージが出るからunityのファイルが壊れたのか
一旦アンインストールしてから入れ直した方がいいのかなあ
それとも新バージョンを上書きしていいのか
検索したらELT版?インストールで解決したという話が出てきたけど
二本同時に完成する直前にこれだよ泣きそう
AndroidのBild settingのplayerの項目が表示されなくなった
最初は表示されていたのに項目の入力中におかしくなってそれっきり
心当たりがあるとすれば入力中にIMEの入力切り替えがおかしくなって半角入力できなくなっていたことくらい
別のプロジェクトファイルを開いても同じ不具合と同じエラーメッセージが出るからunityのファイルが壊れたのか
一旦アンインストールしてから入れ直した方がいいのかなあ
それとも新バージョンを上書きしていいのか
検索したらELT版?インストールで解決したという話が出てきたけど
二本同時に完成する直前にこれだよ泣きそう
246名前は開発中のものです。
2020/04/23(木) 22:40:39.33ID:YqrHMQSi 基本的な操作がわからないのでしつもんさせてください
関数とかif文とかのカッコ }
がよく変な位置に行ってしまいます。(うっかり無駄にエンター押したりしてしまう)
DELETEキー長押しでカーソル位置まで動かして戻してるのですが
スマートに戻す方法とかもしありましたら教えてくださいm(_ _)m
関数とかif文とかのカッコ }
がよく変な位置に行ってしまいます。(うっかり無駄にエンター押したりしてしまう)
DELETEキー長押しでカーソル位置まで動かして戻してるのですが
スマートに戻す方法とかもしありましたら教えてくださいm(_ _)m
247名前は開発中のものです。
2020/04/23(木) 22:47:49.15ID:h7v1P4FQ アニメーションクリップが複数あるオブジェクトを非表示から表示に切り替えた時に
特定のアニメーションクリップから始めることはスクリプトで出来るでしょうか?
特定のアニメーションクリップから始めることはスクリプトで出来るでしょうか?
248名前は開発中のものです。
2020/04/23(木) 22:51:56.86ID:KKg8jFzb249名前は開発中のものです。
2020/04/23(木) 23:16:57.00ID:YqrHMQSi 具体的に言うとよくこんな感じになってしまいます
if(a==0){ 処理
}
この2パターンが理想です(場合によって使い分けています)
if(a==0){ 処理 }
if(a==1){
処理
}
設定どこをいじればいいんでしょうか?
if(a==0){ 処理
}
この2パターンが理想です(場合によって使い分けています)
if(a==0){ 処理 }
if(a==1){
処理
}
設定どこをいじればいいんでしょうか?
250名前は開発中のものです。
2020/04/23(木) 23:20:04.38ID:YqrHMQSi 間違えました
この2パターンが理想です(場合によって使い分けています)
if(a==0){ 処理 }
if(a==1){
スペース 処理
スペース }
この2パターンが理想です(場合によって使い分けています)
if(a==0){ 処理 }
if(a==1){
スペース 処理
スペース }
251名前は開発中のものです。
2020/04/24(金) 02:47:01.33ID:kDHtLuLX プロジェクト内のフォルダを誤って消してしまい、ゴミ箱から元に戻してもscriptがエラーから戻らない場合は復元出来ないのでしょうか……?
252名前は開発中のものです。
2020/04/24(金) 02:48:12.32ID:kDHtLuLX 拙い文ですみません、試してみて?という感じのアドバイスで良いのでお願いします…
253名前は開発中のものです。
2020/04/24(金) 03:32:53.73ID:Yn/wujOk submesh単位で分割する方法ないですかね...
http://onoty3d.hatenablog.com/entry/2015/12/09/000000
このスクリプトだとエラーが出て分割できません
http://onoty3d.hatenablog.com/entry/2015/12/09/000000
このスクリプトだとエラーが出て分割できません
254名前は開発中のものです。
2020/04/24(金) 03:52:09.99ID:Yn/wujOk 自己解決
255名前は開発中のものです。
2020/04/24(金) 07:49:35.90ID:mqgYLk8R256名前は開発中のものです。
2020/04/24(金) 13:11:03.27ID:TSbisyMR 1日の作業が終わったらプロジェクトフォルダごとバックアップ
NASなんかに保存するのが最高だけど
下手すると年単位の苦労が消し飛ぶから考えた方が良いよ
NASなんかに保存するのが最高だけど
下手すると年単位の苦労が消し飛ぶから考えた方が良いよ
257名前は開発中のものです。
2020/04/24(金) 13:39:06.03ID:e94QvqHL 自分も一日の終わりにプロジェクトフォルダごとバックアップしてる
Zip圧縮したファイル名の末尾に日付を入れて一定期間保存
大きな変更を加える直前のフォルダは長期保管してる
Zip圧縮したファイル名の末尾に日付を入れて一定期間保存
大きな変更を加える直前のフォルダは長期保管してる
258名前は開発中のものです。
2020/04/24(金) 15:11:35.58ID: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;
}
}
------
複製したプレハブそれぞれを別々の乱数で動作させたいのですがどのようにしたら良いでしょうか
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;
}
}
------
複製したプレハブそれぞれを別々の乱数で動作させたいのですがどのようにしたら良いでしょうか
259名前は開発中のものです。
2020/04/24(金) 15:29:16.14ID:hbCzfYWk staticじゃなくする
260名前は開発中のものです。
2020/04/24(金) 15:54:14.93ID: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を外すとエラーが出てしまいます。
-------
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を外すとエラーが出てしまいます。
261名前は開発中のものです。
2020/04/24(金) 16:51:57.34ID:hbCzfYWk staticをつけると、その変数は
そのクラスで共通のものになる。
だからこれだと複製したオブジェクト全員が、ある一つのオブジェクトを操作している状態。
そのクラスで共通のものになる。
だからこれだと複製したオブジェクト全員が、ある一つのオブジェクトを操作している状態。
262名前は開発中のものです。
2020/04/24(金) 17:53:17.83ID:mqgYLk8R staticを理解していない?
staticをつけると、簡単に言えばそのワールドで唯一の変数名になる。だから複数から参照操作はできるが、唯一を2つ存在させたら、どっちを参照するかわからんよね?
staticをつけると、簡単に言えばそのワールドで唯一の変数名になる。だから複数から参照操作はできるが、唯一を2つ存在させたら、どっちを参照するかわからんよね?
263名前は開発中のものです。
2020/04/24(金) 17:57:06.91ID:9IIgbh3E264弟子
2020/04/24(金) 19:36:00.79ID:X9i2PnLo >>263
>260のコードで動かすにはこのようにします
多分Staticの使い方というより、prefabの生成に問題あると思います
https://i.gyazo.com/9eea2661448b7a1af4e8291b55adfe25.png
https://imgur.com/dBRzNly
質問は検証できる弟子を指名してね!
>260のコードで動かすにはこのようにします
多分Staticの使い方というより、prefabの生成に問題あると思います
https://i.gyazo.com/9eea2661448b7a1af4e8291b55adfe25.png
https://imgur.com/dBRzNly
質問は検証できる弟子を指名してね!
265名前は開発中のものです。
2020/04/24(金) 21:22:53.35ID:WKjj9eyG266名前は開発中のものです。
2020/04/24(金) 21:26:22.99ID:9IIgbh3E >>264
わざわざソースまでありがとうございます!
わざわざソースまでありがとうございます!
267名前は開発中のものです。
2020/04/25(土) 13:09:23.62ID: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 プロジェクトファイル
アニメーションクリップに効果音を付けて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 プロジェクトファイル
268名前は開発中のものです。
2020/04/25(土) 13:34:15.67ID:Bwa2wt20 aの値を保持して、次の乱数時に比較する
269名前は開発中のものです。
2020/04/25(土) 13:40:39.58ID:2pXFtKle >>267
色んな方法があると思いますが、
再生する度に再生したSEを除外し、除外されていたSEが存在すれば戻すという処理を入れるのはどうですか?
ランダムのレンジにはLengthやCountが使えますので実装自体は数行済むと思います。
配列をリストにした方が簡単だと思います。
色んな方法があると思いますが、
再生する度に再生したSEを除外し、除外されていたSEが存在すれば戻すという処理を入れるのはどうですか?
ランダムのレンジにはLengthやCountが使えますので実装自体は数行済むと思います。
配列をリストにした方が簡単だと思います。
270267
2020/04/25(土) 14:39:00.19ID: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を鳴らすときに元に戻すやり方が分かりませんでした。
どうすれば消したリストを元に戻すことができるでしょうか。
>>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を鳴らすときに元に戻すやり方が分かりませんでした。
どうすれば消したリストを元に戻すことができるでしょうか。
271名前は開発中のものです。
2020/04/25(土) 15:01:53.19ID:Bwa2wt20 >>270
嘘だろぉ、おい!w
嘘だろぉ、おい!w
272くまじょ
2020/04/25(土) 15:23:53.23ID:z5N+YfUG 俺なら前回の覚えておいて
乱数が同じものだったら+1
わずかに乱数に偏りが起こるけど
乱数が同じものだったら+1
わずかに乱数に偏りが起こるけど
273くまじょ
2020/04/25(土) 15:30:30.75ID:z5N+YfUG 乱数が選んだものをリストから抜いてリストの最後に追加しておくとか
乱数の範囲は要素数-1で最後の要素(前回選んだもの)を避ける
初回は必ずリストの最後が選ばれないことになるけど
乱数の範囲は要素数-1で最後の要素(前回選んだもの)を避ける
初回は必ずリストの最後が選ばれないことになるけど
274名前は開発中のものです。
2020/04/25(土) 15:38:16.06ID:DiGw5Kl0 横から失礼します
特定のAudioClipが再生中かどうかを検出するとかってできますか?
例)
if(Audioclip(ジャンプ音)が再生中){ 処理 }
みたいなことがやりたいのですが
特定のAudioClipが再生中かどうかを検出するとかってできますか?
例)
if(Audioclip(ジャンプ音)が再生中){ 処理 }
みたいなことがやりたいのですが
275名前は開発中のものです。
2020/04/25(土) 15:47:10.29ID:a3TA/N7F 乱数記憶用の変数を用意
初期値は999などの有り得ない数
または一番目に鳴らしたくない音と同じ数
ランダムで出した乱数を変数と比較
もし同じ数字なら+1または-1して処理
(このスクリプトだと3の場合のみ-1)
また乱数(または処理後の数値)を変数に入れる
自分ならこれにするけど何せ初心者なので
もっとスマートなやり方があるならそっちで
初期値は999などの有り得ない数
または一番目に鳴らしたくない音と同じ数
ランダムで出した乱数を変数と比較
もし同じ数字なら+1または-1して処理
(このスクリプトだと3の場合のみ-1)
また乱数(または処理後の数値)を変数に入れる
自分ならこれにするけど何せ初心者なので
もっとスマートなやり方があるならそっちで
276名前は開発中のものです。
2020/04/25(土) 16:04:41.65ID:2pXFtKle >>273の再生したSEをリストの最後に追加してランダムのレンジに含めないがスマートで実用的かもしれませんね。
+1などで処理すると結局順番に再生されるだけでランダムにならないから質問者の意図する挙動とは違ってしまうんじゃないでしょうか?
+1などで処理すると結局順番に再生されるだけでランダムにならないから質問者の意図する挙動とは違ってしまうんじゃないでしょうか?
278267
2020/04/25(土) 17:19:22.65ID:c8LTCDvQ 皆さんから助言を頂いて有難うございました。
>>273の方のやり方で、ずっと試していました。先ほどエラーが全部消えてやっと動くようになりました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ken_furu : MonoBehaviour
{
public List<AudioClip> _SE;//リスト型 4つのSE
AudioClip DeleteClip; //選ばれて消えたSEを変数に入れる
private AudioSource audioSourse;
Animator animator;
void Start()
{
animator = GetComponent<Animator>();
audioSourse = GetComponent<AudioSource>();
}
public void SE()
{
int a = Random.Range(0, _SE.Count-1);//リストの最後の要素はランダムレンジから外す
audioSourse.PlayOneShot(_SE[a]);//選ばれたSEを鳴らす
AudioClip DeleteClip= _SE[a];//選ばれたSEをDeleteClipの変数に入れる
_SE.RemoveAt(a); //選ばれて鳴ったSEを削除
_SE.Add(DeleteClip); //選ばれて消えたSEをリストの最後に追加
}
}
もしかしたら変な部分があるかもしれませんが、ちゃんと動いているようです。
本当に有難うございました。助かりました。
>>273の方のやり方で、ずっと試していました。先ほどエラーが全部消えてやっと動くようになりました。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ken_furu : MonoBehaviour
{
public List<AudioClip> _SE;//リスト型 4つのSE
AudioClip DeleteClip; //選ばれて消えたSEを変数に入れる
private AudioSource audioSourse;
Animator animator;
void Start()
{
animator = GetComponent<Animator>();
audioSourse = GetComponent<AudioSource>();
}
public void SE()
{
int a = Random.Range(0, _SE.Count-1);//リストの最後の要素はランダムレンジから外す
audioSourse.PlayOneShot(_SE[a]);//選ばれたSEを鳴らす
AudioClip DeleteClip= _SE[a];//選ばれたSEをDeleteClipの変数に入れる
_SE.RemoveAt(a); //選ばれて鳴ったSEを削除
_SE.Add(DeleteClip); //選ばれて消えたSEをリストの最後に追加
}
}
もしかしたら変な部分があるかもしれませんが、ちゃんと動いているようです。
本当に有難うございました。助かりました。
279名前は開発中のものです。
2020/04/25(土) 17:57:08.46ID:P2OYyiKX Unityで2Dゲームを作ろうとしていますが、小さい表示枠と大きい表示枠について教えて下さい。
画像をSceneに配置すると小さい枠の中に置いたものが実行時に表示され、座標はたとえば-2〜+2です。
ヒエラルキーからUIのButtonを配置すると大きい枠の中に置かれ、座標は0-1000などの設定した画面サイズの値になります。
2つの座標系があるようなのですが、Sceneで見ると重なっていないのに実行すると上記の2つ枠は重なって表示されるようです。
なんでこんなことになってるんでしょうか?
両者を混在して使ってると実行環境によってずれが生じそうですが大丈夫なんでしょうか?
また「Unityの教科書 Unity 2019完全対応版」を読みましたが、次に読むと良さそうな本があったら教えて下さい。
画像をSceneに配置すると小さい枠の中に置いたものが実行時に表示され、座標はたとえば-2〜+2です。
ヒエラルキーからUIのButtonを配置すると大きい枠の中に置かれ、座標は0-1000などの設定した画面サイズの値になります。
2つの座標系があるようなのですが、Sceneで見ると重なっていないのに実行すると上記の2つ枠は重なって表示されるようです。
なんでこんなことになってるんでしょうか?
両者を混在して使ってると実行環境によってずれが生じそうですが大丈夫なんでしょうか?
また「Unityの教科書 Unity 2019完全対応版」を読みましたが、次に読むと良さそうな本があったら教えて下さい。
281くまじょ
2020/04/25(土) 18:23:08.63ID:z5N+YfUG >>279
シーンで見ると大きさが違うのと位置がずれてるのが邪魔で仕方ない
シーンで同じ位置同じ大きさ(見た目のことで座標の数値は違う)にするか
いっそのことシーンでは離れているが実行時に同じにしてみたり
重なってると邪魔なので
キャンバスのインスペクタを弄れば見た目の大きさは揃うよ
座標は-2とかのままがイイみたい
あれはメートルって意味らしい
シーンで見ると大きさが違うのと位置がずれてるのが邪魔で仕方ない
シーンで同じ位置同じ大きさ(見た目のことで座標の数値は違う)にするか
いっそのことシーンでは離れているが実行時に同じにしてみたり
重なってると邪魔なので
キャンバスのインスペクタを弄れば見た目の大きさは揃うよ
座標は-2とかのままがイイみたい
あれはメートルって意味らしい
282くまじょ
2020/04/25(土) 18:23:58.70ID:z5N+YfUG 詳しいことは俺も知りたい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【朗報】高市、中国からの日本行き空路49万件キャンセルを達成🤩オーバーツーリズム対策の手腕が光る [359965264]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 【スパイト行動】俺のコ,ードを入れれば1500円貰えるのに、俺に1500円をやりたくないからやらない ⇐これが日本人ってやつか… [201193242]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
