[SampleGames01のガンゲーム3(gun03)]赤い四角のTargetPrefabについて | Unity Forum | Tech Stadium Forum

[SampleGames01のガンゲー...
 
通知
すべてクリア

[SampleGames01のガンゲーム3(gun03)]赤い四角のTargetPrefabについて  

  RSS

Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
17/03/2021 11:08 am  
床からニョキっと生えてくる赤い四角のTargetPrefabですが、
それ自体にアタッチされているTargetOneScriptでは
AddForceで一定の力(Vector3(17,0,00))を追加されていて、
void Start () {
Vector3 vPower = new Vector3(17,0,00); Quaternion qQtn = this.transform.localRotation;
vPower = qQtn*vPower;
GetComponent<Rigidbody>().AddForce(vPower,ForceMode.VelocityChange);
}
MainSceneObjectにアタッチされているTargetControlScriptでは
TargetPrefabの生成位置と回転値のみを決めているだけなのに、なぜ、ゲームプレイ時にこのTargetPrefabが
ランダムな力を加えられているような動作をするのでしょうか?
(床からぴょこっと出てきて、そこで止まっているものと、
イルカのようにピョーンと飛び出すものがあります)
https://gyazo.com/8cdc5de7e25bc0062ba54e2c8f657050

引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
17/03/2021 11:09 am  
同封の「TargetControlScript」内で、初期角度をランダムに設定しているからですね。
if(0==Random.Range(0,2)){
Quaternion qAngle = Quaternion.AngleAxis(Random.Range(30,60),Vector3.forward);
Instantiate(mpTargetPrefab,new Vector3(-10,-1,4),qAngle);
}else{
Quaternion qAngle = Quaternion.AngleAxis(Random.Range(180-60,180-30),Vector3.forward);
Instantiate(mpTargetPrefab,new Vector3(10,-1,4),qAngle);
}
詳しくは、TargetControlScript.csファイルの40行目以降を確認するとわかると思います。

返信引用
Student
(@student)
メンバー Moderator
結合: 4年前
投稿: 1351
17/03/2021 11:10 am  

ご回答いただきありがとうございます!
すみません、理解がまだ出来ないのですが、
初期角度がランダムでも、加わる力の大きさに影響する要素は
TargetOneScriptの8行目

Vector3 vPower = new Vector3(17,0,00);
だけ?と思っていたのですが、
なぜ初期角度が変わると加わる力の大きさも変わるのでしょうか?

(床からぴょこっと出てくるものは、ピョーンと飛び出すものと同じようにAddForceで力をかけられているはずなのに、どの方向にも動かずにそこで止まっているのはなぜなのでしょうか?)


返信引用
Teacher
(@admin)
メンバー Admin
結合: 5年前
投稿: 1318
17/03/2021 11:11 am  

実は私も何度か確認したのですが、ぴょこっと出てくるだけのオブジェクトがこちらでは確認できませんでした…。
おっしゃるとおり、本来であればあのようにぴょこっと出てくるオブジェクトは存在しないはずなのですが…。
(角度が変わっても加わる力は変わらず、飛ぶ方向だけが変わるため)

もしかしたらマシンスペックや実行環境の違いでバグっている可能性が挙げられます。


返信引用
共有:
タイトルとURLをコピーしました