メモ:曲線のプログラムを色々試したので忘備録。
— kt. (@xxxx_kt_xxxx) December 24, 2022
八の字
float A1 = 8f;
float ds = 0.5f;
x = A1 * Mathf.Sin(rad) * ds;
y = A1 * Mathf.Sin(rad * 2) * ds;
rad += 0.02f;
(続#Unity #gamedev pic.twitter.com/qQScFjUaeW
アステロイド、A2A3の値を変えると色々変化
— kt. (@xxxx_kt_xxxx) December 24, 2022
float A1 = 4f;
float A2 = 1f;
float A3 = 1f;
x = A1 * Mathf.Pow(Mathf.Cos(rad * A2), 3);
y = A1 * Mathf.Pow(Mathf.Sin(rad * A3), 3);
rad += 0.02f;
(続 pic.twitter.com/gQisj5JBJb
リサジュー。w1, w2, p1, p2の数値を変えると図形が変化
— kt. (@xxxx_kt_xxxx) December 24, 2022
float A1 = 4f;
float A2 = 4f;
float w1 = 2f;
float w2 = 3f;
float p1 = 0f;
float p2 = 0f;
x = A1 * Mathf.Sin(w1 * rad + p1);
y = A2 * Mathf.Sin(w2 * rad + p2);
rad -= 0.01f;
(続 pic.twitter.com/YrPiDJdCBx
サイクロイド
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.9f;
float A1 = 0.4f;
x = A1 * (rad - Mathf.Sin(ds * rad));
y = A1 * (1 - Mathf.Cos(ds * rad));
rad += 0.1f;
(続 pic.twitter.com/DcuyuaecDJ
トロコイド(A1 = A2の時にはサイクロイドになる)
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.9f;
float A1 = 0.4f;
float A2 = 0.8f;
x = A1*(rad) - A2* Mathf.Sin(rad);
y = A1 - A2* Mathf.Cos(rad);
rad += 0.1f;
(続 pic.twitter.com/Rl1nAX9Yfj
内サイクロイド
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.5f;
float A1 = 5f;
float A2 = 1f;
x = ((A1 - A2) * Mathf.Cos(rad * 1 * ds)) + (A2 * Mathf.Cos((((A1 - A2) / A2) * rad)));
y = ((A1 - A2) * Mathf.Sin(rad * 1 * ds)) - (A2 * Mathf.Sin((((A1 - A2) / A2) * rad)));
rad += 0.02f;
(続 pic.twitter.com/afwRuJIi8V
内トロコイド(A2 = A3内サイ)
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.5f;
float A1 = 5f;
float A2 = 1f;
float A3 = 2f;
x = ((A1 - A2) * Mathf.Cos(rad * 1 * ds)) + (A3 * Mathf.Cos((((A1 - A2) / A2) * rad)));
y = ((A1 - A2) * Mathf.Sin(rad * 1 * ds)) - (A3 * Mathf.Sin((((A1 - A2) / A2) * rad)));
rad += 0.02f;
(続 pic.twitter.com/7H4HOi4Zyi
外サイクロイド(A1=A2とした曲線はネフロイド)
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.5f;
float A1 = 3f;
float A2 = 1f;
x = ((A1 + A2) * Mathf.Cos(rad * 1 * ds)) - (A2 * Mathf.Cos((((A1 + A2) / A2) * rad)));
y = ((A1 + A2) * Mathf.Sin(rad * 1 * ds)) - (A2 * Mathf.Sin((((A1 + A2) / A2) * rad)));
rad += 0.02f;
(続 pic.twitter.com/A8qxV8wEHX
外トロコイド(A2 = A3外サイ)
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.5f;
float A1 = 2f;
float A2 = 1f;
float A3 = 2f;
x = ((A1 + A2) * Mathf.Cos(rad * 1 * ds)) - (A3 * Mathf.Cos((((A1 + A2) / A2) * rad)));
y = ((A1 + A2) * Mathf.Sin(rad * 1 * ds)) - (A3 * Mathf.Sin((((A1 + A2) / A2) * rad)));
rad += 0.02f;
(続 pic.twitter.com/TiiobZr6YQ
レムニスケート
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.5f;
float A1 = 5f;
x = A1 * Mathf.Cos(rad * ds) / (1 + Mathf.Pow(Mathf.Sin(rad * ds), 2));
y = A1 * Mathf.Sin(rad * ds) * Mathf.Cos(rad * ds) / (1 + Mathf.Pow(Mathf.Sin(rad * ds), 2));
rad += 0.05f;
(続 pic.twitter.com/QUeG0T96oQ
カーディオイド
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds=0.2f;
float A1 = 3.5f;
x = (A1 * (1 + Mathf.Cos(rad * ds)) * Mathf.Cos(rad * ds));
y = (A1 * (1 + Mathf.Cos(rad * ds)) * Mathf.Sin(rad * ds));
rad += 0.1f;
(続 pic.twitter.com/9cs3s4E4SJ
バイフォリウム
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.1f;
float A1 = 20f;
x = A1 * Mathf.Sin(rad * ds) * Mathf.Pow(Mathf.Cos(rad * ds), 3);
y = A1 * Mathf.Pow(Mathf.Sin(rad * ds), 2) * Mathf.Pow(Mathf.Cos(rad * ds), 2);
rad += 0.1f;
(続 pic.twitter.com/wTV0Mlda1C
バラ曲線(A1とA2を変化させると良い)
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.2f;
float A1 = 2;
float A2 = 1;
float A3 = 6;//全体の大きさ
x = A3 * (Mathf.Sin((A1 * rad * ds) / A2) * Mathf.Cos(rad * ds));
y = A3 * (Mathf.Sin((A1 * rad * ds) / A2) * Mathf.Sin(rad * ds));
rad += 0.1f;
(続 pic.twitter.com/R1TXULhmYJ
バラ曲線(A1とA2を変化させると良い)
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.2f;
float A1 = 2;
float A2 = 3;
float A3 = 6;//全体の大きさ
x = A3 * (Mathf.Sin((A1 * rad * ds) / A2) * Mathf.Cos(rad * ds));
y = A3 * (Mathf.Sin((A1 * rad * ds) / A2) * Mathf.Sin(rad * ds));
rad += 0.1f;
(続 pic.twitter.com/ZuS4ZqB76c
バラ曲線(A1とA2を変化させると良い)
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.2f;
float A1 = 5;
float A2 = 2;
float A3 = 6;//全体の大きさ
x = A3 * (Mathf.Sin((A1 * rad * ds) / A2) * Mathf.Cos(rad * ds));
y = A3 * (Mathf.Sin((A1 * rad * ds) / A2) * Mathf.Sin(rad * ds));
rad += 0.1f;
(続 pic.twitter.com/bi3BCkzG8S
]]>螺旋
— kt. (@xxxx_kt_xxxx) December 24, 2022
ds = 0.4f;
float A1 = 0.1f;
x = A1 * rad * Mathf.Cos(rad * ds);
y = A1 * rad * Mathf.Sin(rad * ds);
rad += 0.1f;
(終 pic.twitter.com/xtQm9Fj1VC
アルゴリズムを検索してみてもあまり出てこなかったので忘備録として書いておきます。テトランっぽい敵を作ってみてる。とりあえず腕を増やしまくるのはお約束w#Unity #gamedev pic.twitter.com/PGah4rCxqx
— kt. (@xxxx_kt_xxxx) February 6, 2022
]]>せっかく触手のプログラム作ったので触手な敵を作ってみてる。中型機のイメージで作ってたけど結構よい感じに出来たのでステージクリアと絡めてブロック扱いでも良いかもしれん#Unity #gamedev pic.twitter.com/WIqr6xVk5E
— kt. (@xxxx_kt_xxxx) January 25, 2022
考え方としては画像を1ドットづつのスプライトに分割してサインカーブに合わせて動かす感じ。Unityでスプライト使ってのラスタースクロールを実装してみた。1ラインづつ分けて動かしてるので疑似ラスタースクロールだけどねー#Unity #gamedev pic.twitter.com/OoKyCNLgpz
— kt. (@xxxx_kt_xxxx) October 26, 2021
そもそもは反射ベクトルを使って弾を反射させたいなーと思って色々試していたら、これブロック崩し作れそうじゃね?と思って作ってみたら良い感じだったのが始まりです。プチコン4用 ブロック崩し CyberBlocker公開しました!プチコン体験版で無料で遊べます。面白かったらプチコン4本体も買ってね!
— kt. (@xxxx_kt_xxxx) September 20, 2021
パワーアップを駆使して全13ラウンドを制覇しよう!
最終β版って感じなのでバグ報告大歓迎です!(続#sbkey 42KX3K394#smilebasic #petitcom #プチコン4 #NintendoSwitch pic.twitter.com/sbgdqQKiTY