2016-11-25 9 views
2

私は、macOS単一ウィンドウアプリケーションを作成し、テンプレートStarsを持つスプライトパーティクルシステムファイルを追加します。そしてちょうどこのような効果の視覚: enter image description hereviewControllerのスプライトパーティクルシステムアニメーション

そして、私は私のViewControllerにそれを追加したいが、このanswerのガイドとして、私はこのような結果を得ました、そしてそれは私が希望されなかった。

 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     let scene = SCNScene() 
     let particlesNode = SCNNode() 
     let particleSystem = SCNParticleSystem(named: "Welcome", inDirectory: "") 
     particlesNode.addParticleSystem(particleSystem!) 
     scene.rootNode.addChildNode(particlesNode) 
     skView.backgroundColor = .black 
     skView.scene = scene 
    } 

enter image description here

私は何が間違っているのだろうと私は何をすべきでしょうか?ここで

はデモレポです:Link Here

パーティクルシステム自体は変更なしとXcodeで利用可能な標準「スター」SceneKitパーティクルシステム、です。

+0

クラス/オブジェクト情報を投稿できますか?あなたは 'SK/SCNView'を継承しましたか? 'viewDidLoad'をオーバーライドしますか? – Fluidity

+0

@Fluidity遅く返事を申し訳ありません。私はちょうど新しいデモを作成し、それを私のgitlabリポジトリにアップロードします:[ここにリンク](https://gitlab.com/hamguy/StarAnimationDemo)。 – HamGuy

答えて

1

私は少し進歩しました。私がカメラを180度回転させると、星が後退しているのがわかるので、パーティクルシステムが正常に動作していることがわかります。しかし、デフォルトの方向では、私が見たのはライトを点滅させることだけでした。だから私は、粒子がZの位置0、カメラと同じで生成されていると思います。

私はカメラから離れて、システムのノードを移動した場合

particlesNode.position = SCNVector3(0, 0, -20) 

私はまだちょうどライトを点滅表示されます。しかし、SCNViewをクリックすると、アニメーションが正しく機能します。私は星が私に来るのを見ます。

なぜ私はそれを正しく動作させるためにビューをクリックしなければならないのか分かりません。私はisPlaying = trueを試しましたが、違いはありません。

+0

パーティクルシステムがノードに追加された後にノードをカメラから遠ざけましたが、アプリケーションが開始されてビューをクリックしても何も表示されないと点滅するだけで表示されます。私はちょうどあなたの答えを誤解していたかもしれないと思うかもしれません。[新しいコミット](https://gitlab.com/hamguy/StarAnimationDemo/commit/3572d25d4767fa74603aba40e915b8608dcd8008) – HamGuy

+1

これにレーダーをファイルしてください。動作は正しくなく、私たちのそれぞれのマシンでは異なるようです(Xcode 8.1、OS X 10.11.6でテストしています)。 –

+0

レーダーをファイルする?大変申し訳ありませんが、私はそれを手に入れることはできません。私はXcode 8.1とmacOS sierra 10.12でテストしています。あなたのデモを共有してもよろしいですか? – HamGuy