URL: http://atnd.org/events/34621
またまた万年素人の僕の番が回って来ました。
今日は引き続きGoKitのシーン「4. Path Tween」します。
今まで通り気にするのは「ui」だけと思ったが、「LookTarget」も気にしなければならないと思う。
さらに、「Cubeの子にCylinder(円柱)があるもの」も気にするべき
「Cubeの子にCylinder(円柱)があるもの」は戦車に見せたてたいのかもしれません。(以下”戦車”と呼ぶ)
↓これが横から観たスクリーンショットです。
Cube・・・戦車のTransform
LookTarget・・・・Sphare(球)のTransform
です。
肝心のPathTweenGUIを呼んでみると短い!!
・PathTweenGUI.cs
using UnityEngine; using System.Collections; public class PathTweenGUI : BaseDemoGUI { public Transform cube; public Transform optionalLookTarget; void Start () { // example showing how to create a GoVector3Path from a saved file that was made with the visual editor. Note: the web player cannot load files from // disk so we will make a path directly for it #if !UNITY_WEBPLAYER var path = new GoSpline ("demoRoute"); #else // alternatively, paths can be created from an array of Vector3s var vectors = new Vector3[] { new Vector3( 0, 1, 1 ), new Vector3( 4, 5, 6 ) }; var path = new GoSpline( vectors ); #endif // create the Tween and set the path to be relative (this will make the cube move BY the values stored in the // path instead of TO them). autoRemoveOnComplete is also set to false so that the Tween stays in the GoKit // engine and we can start/stop/reset it at will using the playback controls //_tween = Go.to( cube, 4f, new TweenConfig().positionPath( path, true ).setIterations( -1, LoopType.PingPong ) ); // optionally, the target can be set to look at the next path node //_tween = Go.to( cube, 4f, new TweenConfig().positionPath( path, true, LookAtType.NextPathNode ).setIterations( -1, LoopType.PingPong ) ); // or the target can be set to look at another transform _tween = Go.to (cube, 4f, new TweenConfig () .positionPath (path, true, LookAtType.TargetTransform, optionalLookTarget) .setIterations (-1, LoopType.PingPong)); } }
まずこれが重要だと思う
_tween = Go.to (cube, 4f, new TweenConfig () .positionPath (path, true, LookAtType.TargetTransform, optionalLookTarget) .setIterations (-1, LoopType.PingPong));
戦車がTargetを見ることを行っているはず。
LookAtTypeは今回「TargetTransform」だが、「None」と「NextPathNode」があった。
これでターゲットの方向を見てくれるんだと思う
↓常に見てるスクリーンショット。
「NextPathNode」はよくわからなかった。
pathはファイルを指定している
これが実際に戦車の動く経路だと思います。
一番重要かも?
#if !UNITY_WEBPLAYER var path = new GoSpline ("demoRoute"); #else // alternatively, paths can be created from an array of Vector3s var vectors = new Vector3[] { new Vector3( 0, 1, 1 ), new Vector3( 4, 5, 6 ) }; var path = new GoSpline( vectors ); #endif
ブラウザで見るUnity Web Playerでは"なけ"れば、new GoSpline ("demoRoute")を使ってる。
Unity Web Playerで"あれ"ば、Vector3でパス作ってますねw
ちなみに、GoSplineクラスは「GoSpline.cs」に書かれてありました
スニペットを記載してみますと、それぞれのプラットフォームでファイルの参照先を切り替えていた。
jarPath.Combine ("jar:file://" + Application.dataPath + "!/assets/", pathAssetName);
・iOS
Path.Combine (Path.Combine (Application.dataPath, "Raw"), pathAssetName);
・その他
Path.Combine (Path.Combine (Application.dataPath, "StreamingAssets"), pathAssetName);
なディレクトリにある「demoRoute」を参照していた。
コミュニティでやたらと見かけるAndeeeeさん作成のCRSpline(「Catmull-Romスプライン」と呼ぶらしい)っぽい。
「ベジエ曲線ライブラリのスクリプト」だと書いてある。
URL: http://forum.unity3d.com/threads/32954-Waypoints-and-constant-variable-speed-problems?p=213942&viewfull=1#post213942
↓拡張子見たら、〜.assetでした。どうやって作るのか?
> cd /Users/sugita/GoKit/Assets/StreamingAssets > ls demoRoute.asset horseShoeSpline.asset demoRoute.asset.meta horseShoeSpline.asset.meta
テラシュールウェアさんが書いてました。
URL: http://terasur.blog.fc2.com/blog-entry-266.html
次は、最後の「5. Shake Variants」シーンだね。
多分また僕の番。
GoKit終えたら、NGUIのAtlas作成のツールのハックやろっかな?
Catmull-Romスプラインについて何かわかったら書きます。
そもそもこのファイルどうやって作るのかも分からないので・・。