ゲームエンジン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:mirhKW7D132名前は開発中のものです。
2020/04/15(水) 12:15:26.63ID:yVr1KOQK >>129
例えば説明文が「敵に5ダメージ」だとして、
5の部分を変数にしてバフ等の効果によって変更可能にしたい場合どう管理すれば良いのかが思いつきません。
今はひとつひとつを関数にして表示しています。
public string Attack(int playerAttack)
{
var text = $"敵に{playerAttack}ダメージ";
}
こんな関数をたくさん書いたクラスから呼び出してtextに代入する感じです。
理想としては、ScriptableObjectにstring Descriptionを追加してインスペクターに「$"敵に{playerAttack}ダメージ";」の様に書き込めると非常に楽なのですが、記号なども含めてそのまま表示されてしまいました。
インスペクターのフォーム内で変数を使用する方法はあるのでしょうか?
この様に変化するテキストを管理したい場合もエクセルは向いているのでしょうか?
例えば説明文が「敵に5ダメージ」だとして、
5の部分を変数にしてバフ等の効果によって変更可能にしたい場合どう管理すれば良いのかが思いつきません。
今はひとつひとつを関数にして表示しています。
public string Attack(int playerAttack)
{
var text = $"敵に{playerAttack}ダメージ";
}
こんな関数をたくさん書いたクラスから呼び出してtextに代入する感じです。
理想としては、ScriptableObjectにstring Descriptionを追加してインスペクターに「$"敵に{playerAttack}ダメージ";」の様に書き込めると非常に楽なのですが、記号なども含めてそのまま表示されてしまいました。
インスペクターのフォーム内で変数を使用する方法はあるのでしょうか?
この様に変化するテキストを管理したい場合もエクセルは向いているのでしょうか?
133名前は開発中のものです。
2020/04/15(水) 12:24:48.80ID:yVr1KOQK >>130
物理挙動の話なら的外れかもしれませんが、
ttps://qiita.com/ryosebach/items/5bd90d4b464b9059f35d
ttps://qiita.com/pixelflag/items/e5ddf0160781170b671b
アニメーションの緩急はEasingと言うみたいです。
解決のヒントになれば良いですが。
物理挙動の話なら的外れかもしれませんが、
ttps://qiita.com/ryosebach/items/5bd90d4b464b9059f35d
ttps://qiita.com/pixelflag/items/e5ddf0160781170b671b
アニメーションの緩急はEasingと言うみたいです。
解決のヒントになれば良いですが。
134名前は開発中のものです。
2020/04/15(水) 13:15:37.54ID:lnHW68ZC 質問です
カメラを矢印キーで上下に動くようにしたいのですが…
下のスクリプトにtransform.Translate(0,1f,0)のように書き足してみたのですが、カメラが1f上を写すだけで移動しませんでした。
2Dです。
public GameObject Player;
void Update()
{
Vector3 PlayerPos = Player.transform.position;
transform.position=new Vector3(PlayerPos.x,0,-10);
}
カメラを矢印キーで上下に動くようにしたいのですが…
下のスクリプトにtransform.Translate(0,1f,0)のように書き足してみたのですが、カメラが1f上を写すだけで移動しませんでした。
2Dです。
public GameObject Player;
void Update()
{
Vector3 PlayerPos = Player.transform.position;
transform.position=new Vector3(PlayerPos.x,0,-10);
}
135名前は開発中のものです。
2020/04/15(水) 13:29:54.08ID:UUYKPDdG >>134
カメラのスクリプトじゃないのか?
カメラのスクリプトじゃないのか?
136名前は開発中のものです。
2020/04/15(水) 13:40:58.84ID:lnHW68ZC137名前は開発中のものです。
2020/04/15(水) 14:00:10.78ID:UUYKPDdG138帝王
2020/04/15(水) 14:02:51.23ID:PFjTS2Tn いや違うだろw
カメラを十字キーで上下だぞ
x座標をプレイヤーポジションに合わせているだけで
入力すらとってないじゃないか
カメラを十字キーで上下だぞ
x座標をプレイヤーポジションに合わせているだけで
入力すらとってないじゃないか
139帝王
2020/04/15(水) 14:08:21.41ID:PFjTS2Tn よくわかんないから
きちんと書いてくれないか?
x軸はいいからy軸をどうしているのか
きちんと書いてくれないか?
x軸はいいからy軸をどうしているのか
140名前は開発中のものです。
2020/04/15(水) 14:08:31.08ID:lnHW68ZC >>138
一応
if(Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(0,1f,0)
}
のような形でキー入力は入れてみたんですが、これだと上キーを押した時にカメラが1フレーム上に移動するだけでした…
一応
if(Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(0,1f,0)
}
のような形でキー入力は入れてみたんですが、これだと上キーを押した時にカメラが1フレーム上に移動するだけでした…
141名前は開発中のものです。
2020/04/15(水) 14:09:48.32ID:lnHW68ZC142名前は開発中のものです。
2020/04/15(水) 14:17:38.35ID:PFjTS2Tn 毎フレームy座標が0に戻ってるのでは?
yもプレイヤーに合わせるからなるんじゃないのかな
transform.position.xでx座標だけプレイヤーのx座標にしたらどうだ?
yもプレイヤーに合わせるからなるんじゃないのかな
transform.position.xでx座標だけプレイヤーのx座標にしたらどうだ?
143名前は開発中のものです。
2020/04/15(水) 14:28:05.74ID:lnHW68ZC ありがとうございます
transform.position.xはどこに入れるのが正しいんでしょうか…
いろいろと試してみたのですがことごとくエラーを吐かれてしまいまして
transform.position.xはどこに入れるのが正しいんでしょうか…
いろいろと試してみたのですがことごとくエラーを吐かれてしまいまして
144名前は開発中のものです。
2020/04/15(水) 14:31:19.37ID:JTV4iwjm >>142
これやると何故かエラー出るんだよなぁ
var x = Player.transform.position.x;
var y = transform.position.y;
if(Input.GetKey(KeyCode.UpArrow))
y+=1;
else if(Input.GetKey(KeyCode.DownArrow))
y-=1;
transform.position = new Vector3(x,y,-10);
これで
これやると何故かエラー出るんだよなぁ
var x = Player.transform.position.x;
var y = transform.position.y;
if(Input.GetKey(KeyCode.UpArrow))
y+=1;
else if(Input.GetKey(KeyCode.DownArrow))
y-=1;
transform.position = new Vector3(x,y,-10);
これで
145名前は開発中のものです。
2020/04/15(水) 14:38:32.35ID:lnHW68ZC146名前は開発中のものです。
2020/04/15(水) 14:39:29.09ID:lnHW68ZC お二方ともご丁寧にありがとうございました!
147名前は開発中のものです。
2020/04/15(水) 15:48:30.60ID:bwJYFlmz simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
148名前は開発中のものです。
2020/04/15(水) 20:56:57.45ID:8YH6OY1K rigidbodyにおいて、質量(密度?)を不均一にしたい(おきあがりこぼしのように一部は重く、一部は軽いというような)のですがやり方を御教授頂けないでしょうか。
149帝王
2020/04/15(水) 22:58:43.68ID:PFjTS2Tn フリーズローテーションとかじゃダメな気がするので
blender等でならオブジェクトのピボット中心点を移動できる
でもrigidbodyをつけるなら形の通りに動くのだろうか
マトリョーシカ(ロシアの人形ね)みたいな卵型を使うとして
オブジェクトを5分割とかにしてみて別々(もとは同じ)のオブジェクトを装備しているような感じにして
fbxで一緒にくっつけて書き出して
メッシュコライダー入れてリジットボディでmassでそれぞれの部位に重さを設定すれば
いけるんじゃないか
物理でバラバラにはならないと思うけどなるなら
blender等で全選択して押し出しでオブジェクトの膜を作って
バラバラにならないように外側を固めるとか
>>148さんが言うような機能は
たしかにblenderとかではウェイトペイントという機能はあるが
あれはボーンにどのくらい追従するかを設定するだけだから違う
無知ですまん
blender等でならオブジェクトのピボット中心点を移動できる
でもrigidbodyをつけるなら形の通りに動くのだろうか
マトリョーシカ(ロシアの人形ね)みたいな卵型を使うとして
オブジェクトを5分割とかにしてみて別々(もとは同じ)のオブジェクトを装備しているような感じにして
fbxで一緒にくっつけて書き出して
メッシュコライダー入れてリジットボディでmassでそれぞれの部位に重さを設定すれば
いけるんじゃないか
物理でバラバラにはならないと思うけどなるなら
blender等で全選択して押し出しでオブジェクトの膜を作って
バラバラにならないように外側を固めるとか
>>148さんが言うような機能は
たしかにblenderとかではウェイトペイントという機能はあるが
あれはボーンにどのくらい追従するかを設定するだけだから違う
無知ですまん
150名前は開発中のものです。
2020/04/16(木) 01:37:50.84ID:TrwSK5Ca UNITYの教科書って本には、
プレファブ作ってスクリプトから生成するとき
GameObject obj=Instantiate(prefab) as GameObject;
と記述するとあるのですが、
これの「as GameObject」付けなくても生成してくれるんですが、
省略してもいいんでしょうか?
プレファブ作ってスクリプトから生成するとき
GameObject obj=Instantiate(prefab) as GameObject;
と記述するとあるのですが、
これの「as GameObject」付けなくても生成してくれるんですが、
省略してもいいんでしょうか?
151名前は開発中のものです。
2020/04/16(木) 06:07:39.54ID:f9bKhCih staticのシングルトンで作ったDataクラスに GameObject型のenemy1を宣言し、
別のスクリプトからプレハブをロードしてインスタンスしたところ、シーン上ではプレハブが表示されたもののなぜかnullエラーが出てしまいます。
同じプレハブをstaticでない通常の変数で宣言してインスタンスするとエラーは出ないのですが何が原因でしょうか?
//========■シングルトンのDataクラス↓
public class Data : MonoBehaviour
{
public static Data btdata = null;
private void Awake()
{
if (btdata == null)
{
btdata = this;
DontDestroyOnLoad(this.gameObject);
}
else
{
Destroy(this.gameObject);
}
}
public GameObject enemy1 = null;
//========■別のスクリプト↓
GameObject obj = (GameObject)Resources.Load("Enemy_Chinpira");
Data.btdata.enemy1 = (GameObject)Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity); ←NULLエラーは出る
GameObject hoge = (GameObject)Instantiate(obj, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity); ←こっちだとエラーは起きなかった
別のスクリプトからプレハブをロードしてインスタンスしたところ、シーン上ではプレハブが表示されたもののなぜかnullエラーが出てしまいます。
同じプレハブをstaticでない通常の変数で宣言してインスタンスするとエラーは出ないのですが何が原因でしょうか?
//========■シングルトンのDataクラス↓
public class Data : MonoBehaviour
{
public static Data btdata = null;
private void Awake()
{
if (btdata == null)
{
btdata = this;
DontDestroyOnLoad(this.gameObject);
}
else
{
Destroy(this.gameObject);
}
}
public GameObject enemy1 = null;
//========■別のスクリプト↓
GameObject obj = (GameObject)Resources.Load("Enemy_Chinpira");
Data.btdata.enemy1 = (GameObject)Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity); ←NULLエラーは出る
GameObject hoge = (GameObject)Instantiate(obj, new Vector3(0.0f, 0.0f, 0.0f), Quaternion.identity); ←こっちだとエラーは起きなかった
153くまじょ
2020/04/16(木) 07:38:25.42ID:/YRdqyfH154名前は開発中のものです。
2020/04/16(木) 07:39:07.03ID:f9bKhCih >>152
Awake使ってるの今のところここしかないです…
Awake使ってるの今のところここしかないです…
156くまじょ
2020/04/16(木) 07:43:52.45ID:/YRdqyfH >>154
このシングルトンのオブジェクトを
このシングルトンを使うすべてのシーンに
一つ置いてますか?
このシングルトンのawakeが実行されていないと思われるのでスクリプトがあるだけでこのシングルトンのゲームオブジェクトが存在しないのではないかと思う
このシングルトンのオブジェクトを
このシングルトンを使うすべてのシーンに
一つ置いてますか?
このシングルトンのawakeが実行されていないと思われるのでスクリプトがあるだけでこのシングルトンのゲームオブジェクトが存在しないのではないかと思う
157名前は開発中のものです。
2020/04/16(木) 08:00:07.67ID:f9bKhCih158名前は開発中のものです。
2020/04/16(木) 08:09:37.51ID:f9bKhCih すいませんもう一つだけ教えてください。ついさっきDataがシーン上にない時に試行錯誤しているうち
シングルトンの public GameObject enemy1 = null; を public staticに変えて、
Data.btdata.enemy1 = ... の部分を Data.enemy1 = ... という記述に変えたことでもエラーが出なくなった事に気づいたのですが、
これは普通のpublicだとbtdataをシーン上に配置してインスタンスしないとアクセスできないけど、
public static だとインスタンス無しでアクセスできる、ということなのでしょうか?
シングルトンの public GameObject enemy1 = null; を public staticに変えて、
Data.btdata.enemy1 = ... の部分を Data.enemy1 = ... という記述に変えたことでもエラーが出なくなった事に気づいたのですが、
これは普通のpublicだとbtdataをシーン上に配置してインスタンスしないとアクセスできないけど、
public static だとインスタンス無しでアクセスできる、ということなのでしょうか?
159くまじょ
2020/04/16(木) 08:36:18.21ID:8aea26m5 >>158
正確にどういうスクリプトになったのか曖昧なので俺にはわからないのでわかりません
staticつけたものはインスタンスとは独立してるからね
インスタンスがいくつでも0個でもstaticは一つ存在する
でもシングルトンのインスタンスを一つ作ることになるけどね
シングルトンの中身の全てにstaticをつけるとかしないから
正確にどういうスクリプトになったのか曖昧なので俺にはわからないのでわかりません
staticつけたものはインスタンスとは独立してるからね
インスタンスがいくつでも0個でもstaticは一つ存在する
でもシングルトンのインスタンスを一つ作ることになるけどね
シングルトンの中身の全てにstaticをつけるとかしないから
160名前は開発中のものです。
2020/04/16(木) 08:51:29.56ID:f9bKhCih >>159
ありがとうございます。シングルトンの解説をしているサイトでメンバ変数にstaticがあるものとないものがあるのはなんでだろうと思ってたんですが、少し理解できました。
ありがとうございます。シングルトンの解説をしているサイトでメンバ変数にstaticがあるものとないものがあるのはなんでだろうと思ってたんですが、少し理解できました。
161名前は開発中のものです。
2020/04/16(木) 09:07:29.78ID:kHeNh8ng >>149
unity上で部品のように固定する感じですか、ありがとうございます☺
unity上で部品のように固定する感じですか、ありがとうございます☺
162名前は開発中のものです。
2020/04/17(金) 05:57:19.40ID:VOQWR+Wk ゲームオブジェクトのプレハブを動的に切り替える事はできないのでしょうか?
共有のゲームオブジェクトを一つ作り、その中に複数のprefabをアタッチしておき、ゲームの状況に応じてprefabを切り替える…ということをやりたいのですが、上手くいきません。
instantiateをするとクローンの別オブジェクトは生成されるのですが、別オブジェクト生成ではなく自分自身のprefabを切り替えたいです
共有のゲームオブジェクトを一つ作り、その中に複数のprefabをアタッチしておき、ゲームの状況に応じてprefabを切り替える…ということをやりたいのですが、上手くいきません。
instantiateをするとクローンの別オブジェクトは生成されるのですが、別オブジェクト生成ではなく自分自身のprefabを切り替えたいです
163名前は開発中のものです。
2020/04/17(金) 08:33:03.18ID:qsxXwaDY164名前は開発中のものです。
2020/04/17(金) 11:32:53.20ID:VOQWR+Wk >>163
SetActiveの存在をすっかり忘れてました…ありがとうございます
SetActiveの存在をすっかり忘れてました…ありがとうございます
165名前は開発中のものです。
2020/04/17(金) 11:50:59.54ID:ZJBJxQUO アニメーションクリップを作るときに、
imageをまとめてSceneビューにドラッグ&ドロップして作るときと
アニメーションウィンドウに画像をドラッグ&ドロップして作るときとで
アニメーションの速度が全然違うのですが、どうしてでしょうか。
タイムラインの秒数は同じはずなのに速度が全然違います。
imageをまとめてSceneビューにドラッグ&ドロップして作るときと
アニメーションウィンドウに画像をドラッグ&ドロップして作るときとで
アニメーションの速度が全然違うのですが、どうしてでしょうか。
タイムラインの秒数は同じはずなのに速度が全然違います。
166名前は開発中のものです。
2020/04/17(金) 17:22:44.21ID:SVOeOAOE 3Dのゲームなのですが、避雷針のようなものを設置して、それを中心に一定範囲内で発動した魔法はすべて避雷針に向かってしまい、
実質魔法が無効化される、というシステムを考えています
スフィアコライダを使ってその範囲を作り、接触した魔法を中央の避雷針に飛ぶように軌道修正させようとしましたが、
魔法自体何かに接触すると効果を発動して消えるものであるため、スフィアコライダに接触した時点で消えてしまいました
魔法を無力化する効果自体はこれでも十分ではあるのですが、できれば軌道が変わることで意外な場所に着弾したり、
魔法を受け続けた避雷針が破裂するか何かして周囲に被害をもたらしたりとかしてみたいので、消えてほしくはありません
何か良い方法はありませんでしょうか
実質魔法が無効化される、というシステムを考えています
スフィアコライダを使ってその範囲を作り、接触した魔法を中央の避雷針に飛ぶように軌道修正させようとしましたが、
魔法自体何かに接触すると効果を発動して消えるものであるため、スフィアコライダに接触した時点で消えてしまいました
魔法を無力化する効果自体はこれでも十分ではあるのですが、できれば軌道が変わることで意外な場所に着弾したり、
魔法を受け続けた避雷針が破裂するか何かして周囲に被害をもたらしたりとかしてみたいので、消えてほしくはありません
何か良い方法はありませんでしょうか
167名前は開発中のものです。
2020/04/17(金) 21:00:16.16ID:5qCFijOz 特定の名前とかタグ名で判別すれば良いのでは?
168名前は開発中のものです。
2020/04/18(土) 06:19:18.41ID:cZRvWLJz169名前は開発中のものです。
2020/04/18(土) 07:04:01.39ID:aB+KxVXg 無料版unityで作ったアプリをGoogleplayに出して遊んでみたらmade with unityのロゴが出なくなったんですが仕様ですか?
170名前は開発中のものです。
2020/04/18(土) 09:07:20.83ID:ctOwdfD6 >>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を消すことができました。
(続きます)
ありがとうございます。
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:51.88ID:ctOwdfD6 (続き)
そして、以下の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();
}
}
-----------------------------------------------------
(続きます)
そして、以下の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();
}
}
-----------------------------------------------------
(続きます)
17297
2020/04/18(土) 09:14:48.69ID:ctOwdfD6 (続き)
自分で色々試してこれを追加すると、
void ShowBanner()
{
if (webView == null)
{
AdMob.bannerView.Show();
}
}
WebViewをバックボタンで消すときにAdMobを再表示させることができたのですが、
もう一度WebViewを出すと、AdMobが消えずに残ったままになってしまいます。
webView == nullがずっと影響してしまうのでしょうか
どうすればいいのか教えてください。
自分で色々試してこれを追加すると、
void ShowBanner()
{
if (webView == null)
{
AdMob.bannerView.Show();
}
}
WebViewをバックボタンで消すときにAdMobを再表示させることができたのですが、
もう一度WebViewを出すと、AdMobが消えずに残ったままになってしまいます。
webView == nullがずっと影響してしまうのでしょうか
どうすればいいのか教えてください。
173名前は開発中のものです。
2020/04/18(土) 14:06:29.92ID:ctOwdfD6174名前は開発中のものです。
2020/04/18(土) 14:11:33.53ID:z8IRbjj0 if (Random.Range(1, 4) == 1 && 2)
{
Debug.Log("三分の二で入る");
}
と書くと
エラー CS0019 演算子 '&&' を 'bool' と 'int' 型のオペランドに適用することはできません
というエラーが出てしまうのですが、これと同じような処理をしたい場合どのように記述すればいいのでしょうか。
{
Debug.Log("三分の二で入る");
}
と書くと
エラー CS0019 演算子 '&&' を 'bool' と 'int' 型のオペランドに適用することはできません
というエラーが出てしまうのですが、これと同じような処理をしたい場合どのように記述すればいいのでしょうか。
175名前は開発中のものです。
2020/04/18(土) 14:38:00.43ID:hYM46Tv/ >>174
if (Random.Range(1, 4) <3)
if (Random.Range(1, 4) <3)
177名前は開発中のものです。
2020/04/18(土) 17:40:56.82ID:LRtmG8cA simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
178名前は開発中のものです。
2020/04/19(日) 04:12:48.26ID:1PPWw4FK キーを押したら平行ライトの角度が変えられるスクリプトで質問したいです。
元のライトの角度が(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;
}
元のライトの角度が(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:12.21ID:g5SC/sTa180名前は開発中のものです。
2020/04/19(日) 07:17:31.57ID:g5SC/sTa181178
2020/04/19(日) 09:29:41.76ID:1PPWw4FK ありがとうございます。
いろいろ試して
最後のリセットさせようとする文を
transform.rotation = Quaternion.Euler(50, -30, 0);
にしました。
初期値を自分で書いてそれに戻してるだけですが機能しました。
正しいやり方ではないと思いますが。
いろいろ試して
最後のリセットさせようとする文を
transform.rotation = Quaternion.Euler(50, -30, 0);
にしました。
初期値を自分で書いてそれに戻してるだけですが機能しました。
正しいやり方ではないと思いますが。
182名前は開発中のものです。
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でいいんじ「ないの?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★3 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 偏差値35大臣「すぐに経済的威圧するところへの依存はリスク」 [834922174]
- 【朗報】高市、中国からの日本行き空路49万件キャンセルを達成🤩オーバーツーリズム対策の手腕が光る [359965264]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【スパイト行動】俺のコ,ードを入れれば1500円貰えるのに、俺に1500円をやりたくないからやらない ⇐これが日本人ってやつか… [201193242]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
