Unityマウス操作いろいろ
Unityのマウス操作でのObjectやUIのドラッグ&ドロップやつかんで回す機能をAsset化した
(ボタンが機能してないからURL直貼り:ダウンロード)
制作理由
AmongUsのタスクの再現をやってみたりしてたら、マウスでの操作がUnityでスクリプト書かないといけなかった
割と基本的な機能だと思うのでObject、UIにスクリプト突っ込むだけでできるようにしたかった
内容物
MouseOperation.Folder
┗Scripts.Folder
┣MouseDragObject2D.cs
┣MouseRotateObject2D.cs
┣ObjectMouseEvents.cs
┣ObjectPit.cs
┣UIDrag.cs
┣UIDragRotation.cs
┗UIMouseEvents.cs
MouseDragObject2D.csとUIDrag.csがそれぞれ2DオブジェクトとUIをマウスでつかんで好きなところに持っていけるようになるやつ
ObjectPit.csを併用したら指定したオブジェクトまたは座標の近くで離したときにカチッとはまってくれるようになる
MouseRotateObject2D.csとUIDragRotation.csがそれぞれ2DオブジェクトとUIをマウスでつかんでぐりぐり回せるようになるやつ
回転方向とか回転速度とかを計算してくれるけどちょっと反応してないときがあるので要修正(やれたらやる)
ObjectMouseEvents.csとUIMouseEvents.csがUnityEventを使っていて、
・マウスオーダーした時、
・マウスオーバーしてる間、
・マウスオーバーをやめたとき、
・マウスのクリックを押したとき、
・マウスのクリックを押し続けてる間、
・マウスのクリックを離したとき
にそれぞれEventを起こせる
UnityEventを使ってるので、UnityのデフォルトのButtonみたいに使える
(ボタンが機能してないからURL直貼り:ダウンロード)
参考文献
http://negi-lab.blog.jp/DragAndDrop
http://kerotan-factory.xblog.jp/article/474532919.html
https://nopitech.com/2018/07/03/post-704/
https://qiita.com/Hiramaru/items/238f9cbf07f6f3acc9f5
https://qiita.com/neusstudio/items/957349f4fb7cae0423c3