太陽系(ロケーションベース型AR)
太陽系(画像認識型AR)サンプルと同様に、このサンプルも太陽系の惑星を表示しますが、ロケーションベース型ARを使用してユーザーの近辺に惑星を配置します。
各惑星の詳細情報はinit()
関数で定義します。惑星を妥当な大きさにするためにスケーリング係数が定義され、すべての惑星がplanetsInfo
配列に格納されています。
/* put sun, planets (and pluto) in an array */
this.planetsInfo = [sun, mercury, venus, earth, mars, jupiter, saturn, uranus, neptun, pluto];
ソースコードをGitHubで見る
各惑星は、画像と名前を含むAR.GeoObject
によって拡張されています。各惑星のAR.GeoObject
は、ユーザーの位置を基準として拡張オブジェクトを配置できるように、AR.RelativeLocation
を使用して配置されます。したがって、ユーザーの現在位置の実際の緯度と経度にかかわらず、北方向に太陽系を配置できます。
太陽のAR.GeoObject
にはインジケーターが付いており、ユーザーは"正しい"方向を見るように絶えず誘導されます。
惑星のアニメーションは3Dモデルサンプルに似ており、AR.AnimationGroup
を使用して集約された複数のAR.PropertyAnimation
によって円運動が構成されています。これらの移動する天体のアニメーションはanimate(planet)
関数によって作成しています。
これも3Dモデルサンプルと同様に、onClick
トリガーに割り当てられたplanetClicked()
関数によって惑星の情報をカメラビューに表示します。