CANNON.jsでは剛体同士の衝突時の反応を、CANNON.MaterialとCANNON.ContactMaterialというマテリアルを使って設定することが出来ます。(例えばつるつるすべる氷の上、みたいなことも表現できます) Three.jsでは3Dオブジェクトの質感などを表現するマテリアル。 物理エンジンでは衝突時の質感を表す、と考えるといいでしょう。 (例えば氷だったらつるつるの質感、ざらざらな質感は摩擦が大きい、とか) マテリアルを使った設定は以下の手順で行います。 CANNON.Materialを生成 生成したマテリアルを、そのマテリアルを持たせたい剛体を生成する際に引数に指定する 別のCANNON.Materialを生成 別のマテリアルを設定したい剛体に設定する(2と同じ) 生成したふたつのマテリアルが接触した際にどう反応するかをCANNON.ContactMaterial
![CANNON.jsでContactMaterialを使う - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/331fd834ebcb6a669a49fb99ae77f4904cddb1a3/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Q0FOTk9OLmpzJUUzJTgxJUE3Q29udGFjdE1hdGVyaWFsJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJTg2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz0yMzk0MzVjYmQ4ODk5NTM0MzBkNmI5ZTAyZmViNTM3Zg%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBlZG9fbTE4JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1lMmQ5MGMxNzhmNTEyNmZmYmVlZTEzOTliMzVmNzRhZA%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Df23b30e4182c50b1153bd8fb83614c98)