Browsing Category

Unity

Unity

Animationの不具合をどうにしかしたい

Animatorを使った(パーツに分かれた)キャラクターアニメーションの、自分の勉強記録:<問題だったこと>パーツに分かれた子要素と、空のゲームオブジェクトの親要素、どこにコンポーネントやスクリプトをつけていいのか不明だった。 頻繁に、アニメーションが動かなくなったり、座標の問題が起こっていた。 <参考にしたこと>親要素にスクリプト、子要素にAnimator(RootMotion)を実装したほうが良いと思う、、という記事を元に実験。 <私がしたこと>親要素にスクリプト、Rigidbody2d(親要素に、のちにコライダーをつけるような場面がある気もしたので)子要素にAnimator, Collider。*スクリプトでは子要素からAnimatorの取得が必要だったので付け足した。結構、うまくいった気がする…

Unity

ユニティ簡単なパズルを作る

脱出ゲームで使えそうな、簡単なパズルをユニティで作りました。その記録を残します。 パズルの全体像は、下の画像です。正方形の画像が、回転できるようになっています。 1.画像をインポートし、スクリーンに配置します。 2.空のゲームオブジェクトに、Game Controllerと名付けて配置。 3.キャンバスを作り、テキストWinTextを作成。 4.キャンバスサイズを設定しておきます。 5. 空のオブジェクト、GameControllerにスクリプトを作ります。コードは以下の通り。 6.今度はパズルの画像にRoateObjectsというスクリプトを作成します。 7.エディタに戻ります。パズルの画像全て選択し、BoxColliderをつけます。 9.プレイボタンを押して、遊んでみましょう! とっても簡単なパズルですが、脱出ゲームなどに使えるかもしれません♡…

Unity

アニメーションとレイヤーの問題

Unity 2D Animation で作ったアニメーション。(テレビの女の子) この手前にUI Imageの「水の入ったグラス」を表示できず、色々と試した記録です。 試したこと:sorting layer, order in layers…z軸をいじる どれをやっても解決せず。 そして、ふとみた海外のフォーラムでのコメントで「別途キャンバスを作って、」と言っているのを発見!! そこで試したことが、 テレビの女の子TV_Mainの手前に、キャンバスを設置。 そのキャンバスに「水の入ったガラス」を持ってきます。 キャンバスを上記のように設定。ここでsorting layerの設定。 テレビの女の子よりも、手間にくるレイヤーを選びます。(ここではFrontObjects)…

Unity

スパインのキャラをユニティで動かす2

前回に続いて、スパインのキャラクターを走らせてみます。 まずは大まかな流れは、動画を見て頂ければと思います。 ポイント1 アニメーションをセットする ここではMOVE関数を作っています。 0!=動いている、ということなので、、 今回は「走る」アニメーションをセットしています。 SetCharacterState(“Running”); それ以外は、静止アニメーションをセットしてます。 SetCharacterState(“Idle”); ポイント2 SetAnimation関数をアップデートします。 前回は静止アニメーションしかセットしていなかったので、今回は「走る」アニメーションを加えます。 そのあとに、「アニメーションが現在と同じなら、新たにアニメーションをセットしない。」とします。 If(animation.name.Equales(currentAnimation)) { return; } なぜなら、上のアップデートでMOVE関数を呼んでいます。アップデートは、1フレームごとに、呼び出します。…

Unity

スパインのキャラをユニティで動かす1

スパインでスライムのアニメーションを作りました。静止、走る、の2パターンの動きをします。(今後、スパインでの作業も書いていきます+動画) 今回は、ユニティにインポートしてから、静止アニメーションをさせるまでのポイントを書きます。 大まかな流れは動画を参照して頂ければと思います。 ポイント1 最初に、SkeletonAnimation と書くことで、スパインのアニメーションが使えます。その次の AnimationReferenceAsset の後に、使用するアニメーションの種類を宣言します。今回は静止の idle のみ記述。 ポイント2 次には、セットするアニメーションの関数。 ポイント3 ここでは、Idleアニメーションが、どのようなものかを書いてます。 ポイント4 あとはunityエディタに戻って、下記の設定をする。 以上で、キャラクターが動くはず!です。まだ静止しているだけですが。ここから、走ったり、ジャンプしたりさせたいと思います。試行錯誤しながら、勉強は続きます。…

Unity

コルーチン:初心者学習ノート

脱出ゲームを作っていくなかで、コルーチンを使いたい場面がありました。 箱をクリックすると、その箱のナンバーパズルが拡大されます。そのパズルをクリアしたときに、箱が開き、そのあとに、キャットフードが表示されると、時間差をつけたいと思いました。 コルーチンをどうやって開始するのか?Start関数と、StartCoroutineで、頭がごっちゃになり、私が書いたコードは、 こう書いてしまうと、すぐコルーチンが実行されます。 箱をクリックした時点で、もう箱が開いて、キャットフードが出てしまうのです。 さて、どうすれば良いのでしょうか?動画を作りました。 ということで、正しいのは、新たにOpen関数を作って、ナンバーパズルをクリア時に実行してあげればよいのです! これで無事にコルーチンが実行されました!…