本日の最低気温は6°Cらしいです、寒すぎます
今暖かいところで書いているので、この記事を読んでくださっている方も暖かいところで読んでください
寒いところにいる人はストックといいねをして暖かいところに行ってから!
と、いうわけで暖かいところにいるクライアント新卒2年目のMです
@maphyからパスをもらい、Cocone Advent Calendar 2023の21日目の記事になります
昨日も明日も同期の記事なので、しっかりトラップして明日にパスしたいと思います
さっそくですが、ゲームをプレイしているとハート型や星型の技のエフェクトだったり出てきますよね
あれやりたいなと思ってやってみたので、すこし紹介します
少しでも参考になればいいなと思ってます!
紹介
※ 以降コード内に出てくるTWO_PIはMathf.PI * 2(2π)となります
星型
星、というよりダイヤ?な図形です
float step = 0.1f; // 角度のステップ幅
float scale = 1; // サイズ
for (float angle = 0; angle < TWO_PI; angle += step)
{
float x = scale * Mathf.Pow(Mathf.Cos(angle), 3);
float y = scale * Mathf.Pow(Mathf.Sin(angle), 3);
Instantiate(object, new Vector2(x, y), Quaternion.identity);
}
クローバー型
float step = 0.1f; // 角度のステップ幅
float scale = 1; // サイズ
int num = 3; // クローバーの数
for (float theta = 0; theta <= TWO_PI; theta += step)
{
float r = 1 + Mathf.Cos(num * theta);
float x = r * scale * Mathf.Cos(theta);
float y = r * scale * Mathf.Sin(theta);
Instantiate(object, new Vector2(x, y), Quaternion.identity);
}
三つ葉もいいけど、クローバーはやっぱり四つ葉ですよね
クローバーの数を変えるだけで簡単に葉の枚数も変えられます
ハート型
ちょっぴりぽっちゃりなハート型
float step = 0.1f; // 角度のステップ幅
int scale = 1; // サイズ
for (float theta = 0; theta <= TWO_PI; theta += step)
{
float r = 1 - Mathf.Sin(theta);
float x = r * Mathf.Cos(theta);
float y = r * Mathf.Sin(theta);
Instantiate(object, new Vector2(x*scale, y*scale), Quaternion.identity);
}
終わりに
ハート型、他にも色々書き方があって形も変えられたりできるので試してみてください
下記に今回参考にしたサイトのURLを貼っておくので、よければそちらも目を通してみてください!
明日は@takokurageの記事になります
タコなのかクラゲなのか、真実が明らかになるかもしれません
引き続きCocone Advent Calendar 2023をよろしくお願いいたします!