2点指定でCylinderを生成する の変更点
Unityは円柱(Cylinder)のプリミティブをデフォルトで持っており、~
メニューやコードから生成することができるが、~
通常、円柱の2つの端点を指定して生成することはできない。
~
これをできるようにしたのが下記のUnityパッケージ。
#ref(cylinder_between_two_points.unitypackage)
~
#youtube(4VPFo4C8uYo)
~
コードはこんな感じ。
#code(csharp,nonumber,nooutline,CylinderBetweenTwoPoints.cs)
~
ただし、上記コードに与える円柱プレハブは、通常のプリミティブの円柱ではNG。
というのも、円柱の方向が求めている方向と異なるため。
~
これについては、プリミティブを作成し求める方向に回転させた後、~
下記のようにしてメッシュをアセットとして保存すれば、解消する。
#code(,nonumber,nooutline){{
AssetDatabase.CreateAsset(mesh, path);
AssetDatabase.SaveAssets();
}}
~
なお、 今回は簡単のために、[[テラシュールブログさんのMeshCombiner.cs>http://tsubakit1.hateblo.jp/entry/2014/10/24/220610]]を使用した。
~
アセットとして保存するプリミティブをカプセル(Capsule)にすれば、カプセルも2点指定で生成することができる。
*利用例
#twitter(https://twitter.com/cubic9com/status/857240178229825536)
*参考
-[[Draw Cylinder Between 2 Points | Unity Community - Unity Forums>https://forum.unity3d.com/threads/draw-cylinder-between-2-points.23510/]]
-[[Create cylinder primitive between 2 endpoints? - Unity Answers>http://answers.unity3d.com/questions/21174/create-cylinder-primitive-between-2-endpoints.html]]
*Amazon
#amazon(4798137464,left)
#amazon(B01H4ONR86,left)
#amazon(B0058QFZYC,left)
#amazon(4091848184,left)