Little Strange Software

スマホアプリの開発を行う LittleStrangeSoftware のブログです。

【ツール】CSS3Dアニメーションお試しツール【学習入門用】

 どうも!LSSです!!

 

CSSの3D表現とkeyframesによるアニメーション。
組み合わせると色々面白い動きを作る事ができます^^

 

が、関連するプロパティが多く、またそれぞれを「どうすれば どうなるか」が分かりにくいところもあり、これから学ぼう、あるいは自分で考えた動きをさせてみようとされる方に「高いハードル」となっているのではないでしょうか。

 

そこで、微力ながら「手軽に設定変更でき、その設定がどう動きに反映されるのかを即時に見られるツール」を作成してみました。

 

 

CSS3Dアニメーションお試しツール

 

黄色枠内の項目を変更できます。

<style>
@keyframes kaitena{
0%{transform:rotate(0deg);}
100%{transform:rotateX(deg);}
}
.waku{
width:208px;
height:156px;
position:relative;
transform-style:preserve-3d;
perspective:px;
}
.nakami{
position:relative;
transform-origin:%%;
animation:kaitenas infinite;
}
</style>
<div class="waku">
<div class="nakami"><img src="画像URL" 中略/></div>
</div>

 

 

作成されたコード

 

 

使い方

ぐるぐる回転している写真と、黄色い枠(ところどころ項目選択可能になっている)、その下にグレーの枠があります。

 

この黄色い枠の中の選択項目を変更すると、即座に「ぐるぐる回転している写真」の動きが変わります。

また、その都度、下のグレーの枠内の「作成されたコード」も変化し、それをコピペすると その時点での写真の動きを再現するコードとして使用する事ができます。

 

 

選択項目について

※直感で触って遊べるツールなので、ここは読まなくても遊べますが、詳しく知りたい方向け。

 

まず、「rotate」の後に、XかYかZか、を選択する事ができます。

こちらは、

transform:rotateX(〇deg);
だと「水平の軸を中心に〇度かたむかせる」

transform:rotateY(〇deg);
だと「垂直の軸を中心に〇度かたむかせる」

transform:rotateZ(〇deg);
だと「奥行きの軸を中心に〇度かたむかせる(結果、平面的な回転になります)」

という、回転の向きの選択となります。
(〇度かたむかせる、の部分は勝手にアニメーション変化しているので、ぐるぐる動いています。)


次に、アニメーションの定義中で「360か180か-360か」を選択できる項目があります。

アニメーション開始時の角度は0度としていますが、ここで設定するのは「アニメーション終了時の角度」で、例えば「360」だと360度=一周するアニメーションに、「180」だと180度=半回転するアニメーションに、「-360」だと逆方向に一周するアニメーションになります。


次に、perspectiveの値を設定する事ができます。
こちらは「100か300か600か」を選択でき、値が小さいと立体的な回転がダイナミックなものになります。


次に、transform-originの値を設定する事ができます。
こちらは値が2つあり、どちらも%で設定します。
回転の「軸位置」を選択する項目で、例えば1つめの選択を「0」にすると「左端」が軸となり、横回転する時に「左端を中心に」回転する事になります。(100にすると右端、50にすると中心が軸となります。)
2つめの項目は縦位置で、「0」にすると上端、「100」にすると下端、「50」にすると上下中央が軸となります。


次に、アニメーションの動き方の種類を選択できます。
「ease-in-out」や「ease」は「最初と最後はゆっくり」した動きになり、始まりは加速しながら、終わりは減速しながら、という動きになります。
「linear」は「速度変化しない、一定速度で」アニメーションが進行します。


次に、アニメ―ションの再生にかける時間を選択できます。
「5」だと一回の再生に5秒かける事となり、この数字が小さいと速く、大きいとゆっくりした動きになります。


最後に、アニメーション再生後に「逆再生するかしないか」を選択できます。
「infinite」の後ろが空白の時は逆再生しないで同じ動きが繰り替えされます。
「alternate」を選択すると、一回のアニメーションが終わった後に、逆再生で元に戻る動きが行われ、その後また通常のアニメーション…という繰り返しになります。


 

 

あとがき

CSSの3Dアニメーション」に使えるプロパティは、今回の例の他にも色々ありますが、基本的なところ(?)をピックアップしてみました。

 

このブログを参考に、様々なCSSアニメーションに挑戦されている方がおられ、ブロガー冥利に尽きる今日この頃。

 

この記事が再確認や仕組みの確認のお役に立てば幸いです^^

また、他の方にとっても、色々触ってみていただき「CSSってこんな事ができるんだ!」と思っていただけると嬉しいです!

 

 

 

ってなとこで、今回はこのへんで!

次回もまた、よろしくお願いします^^