あまりにも暇すぎてUnityでゲーム作ってみた件⑦(敵の動作)

  • by
タグ:

敵、動く

次は敵!

敵を生成→敵がプレイヤーの方に向かうようにしたいなぁあああ…

すごく単純な行動にしてみました。プレイヤーのいる方向を計算してその方向にAddForce!

かんたんでしょ?

・力を掛ける方向は常に地面の接方向がいい

・プレイヤーと自分(敵)の位置を単純に差を取ってベクトルにすれば早いかも?

今までやってきたことと同じ方法で接ベクトルを求められますね。求めました。

敵、どんどん強くなる

よく見ると、9行目なんか長くない…?

gameTimeはゲーム開始からの経過時間が入ってます。それを使って、敵の速度(かける力)を時間で大きくしていくようにしてます。

んでこの項☟

((GameController.gameTime 300) / (12.5f + Mathf.Abs(GameController.gameTime 300))

これすなわち

\(\frac{t-a}{b+|t-a|}\)って事なんですが、

天下のグラフ描画ツールgrapeさんにこの式のグラフを描いてもらうと

というシグモイド曲線になります。つまり、最初は遅い…しばらく遅い…ある時からやる気を出してグイっと速度up…みたいな感じで難易度が高くなっていく、と。

シグモイドってシグマ(ς)型って意味ネ!

他にもシグモイド関数はあるんだけど、計算重くなるのでこの絶対値使ったのを採用。

ちなみにこの式、
$$\lim_{t \to \infty} \frac{t-a}{b+|t-a|} =1$$
なので、収束しちゃいます。
つまり難易度上限ありです。

敵の動きと難易度調整まで話が進んだ。次。

⑧へすすむ

⑥へもどる

introへ

更新情報をプッシュ通知
させることが出来ます。

よろしければm(__)m

↓この記事をシェア!↓