Posts Tagged “Unity”

DOTweenのSequence の紹介

By |

DOTweenのSequence の紹介

DOTweenは、非常にスムーズなアニメーションを素早く簡単に作成できるようにするための強力で無料の単一のアニメーションエンジンです。今回はウェイポイントを使ったアニメーションを制御する際に便利な機能について紹介します。 DOTweenにはパスを作成するために、オブジェクトまたはUI要素を特定のポイントまたはwaypointのリストに移動するための便利な機能が多数含まれています。最も便利な機能の一つはSequenceです。オブジェクトをパスに沿って移動させるだけでなく、複数のパスを次々に、またはパス内部のwaypointにもステッチすることができます。 (画像引用元:http://dotween.demigiant.com/index.php) DOTweenを使用するには、まず適切なNamespaceを追加し、DOTweenを初期化する必要があります。 using DG.Tweening; private void Start() { DOTween.Init(); }   その後、Sequenceを作成して初期化する必要があります: using DG.Tweening; private Sequence mySequence; private void Start() { DOTween.Init(); mySequence = DOTween.Sequence(); }   Sequenceが初期化すると、パラメータをAppendキーワードで与えることでTweenの挙動を簡単に追加できます。たとえば、DOMove()を使用してオブジェクトを移動したり、DOPath()を使用してオブジェクトをパスに沿って移動したりできます: mySequence.Append(transform.DOPath(Vector3[] waypoints, float duration, PathType pathType = Linear, PathMode pathMode = Full3D, int resolution = 10, Color gizmoColor = null);   Tweensをいくつでも追加可能で、素晴らしいアニメーションを作ることを可能できます。 併せて以下のような多くの有用なパラメータを制御することができます: SetLookAt()関数を使用して、Tween中に前方のオブジェクトが向いている方向を制御。 SetEase()関数をつかって、TweenをEaseのバリエーションを制御。…

カスタムビルド解像度設定がリビルドで変更されない場合の対処

By |

カスタムビルド解像度設定がリビルドで変更されない場合の対処

Unityでカスタム解像度を使ってビルドするとき、選択された会社名とアプリ名にリンクされたその解像度でプレーヤー設定ファイル を作ります。 問題は、その後そのカスタム解像度を変更してプロジェクトを再構築したい場合でも、古いプレーヤー設定ファイルがあるコンピューターに表示されるものが一度設定した解像度になることです。 たとえば、解像度を800×600のカスタムサイズに設定してビルドした場合は、このようになります:   後でカスタム解像度を1920×1080に変更して再ビルドしても、同じ800×600の解像度が表示されます。   その解像度を適切な解像度に設定するには、2つの方法があります:   最初の方法は、ビルドプレイヤー設定に新しい会社名を設定することです。 その後、その名前であなたのシステムに新しいプレイヤー設定フォルダを作成します。   二番目の方法は、レジストリファイル内の設定フォルダを見つけて削除することです。 そのようにあなたの新しい解像度設定のファイルを作成します。 そのファイルはレジストリエディタのHKCU / softwareの中にあります。

Unity_PostProcessing機能の有効化

By |

Unity_PostProcessing機能の有効化

あるシーンが、「PostProcessingのエフェクトが適用されているシーンのはずなのに自分のPCで開くと見た目が通常と変わらない。」 上記のような場合は、Unity PostProcessing Stackがインストールされているかをチェックしてみてください。 確認方法は下記のとおりです。 1.メニューバーのWindow->Package Manager をクリック。 2.Allのタブ(①)をクリックし、スクロールダウンしてPost Processing(②)を選択します。 3.右上のInstallボタン(③)を押してインストールします。 この手順でシーンのカメラに設定された、Post Processingの効果が確認できると思います。

Unity HubでインストールしたUnityのVuforiaプラグインをアップデートする方法

By |

Unity HubでインストールしたUnityのVuforiaプラグインをアップデートする方法

Unity Hubはとても便利で新しい機能ですが、Vuforiaをアップデートする場合、少し面倒な手順が必要になります。 最新のUnityのバージョンを既にインストールしていて、そのUnityと共にインストールされたVuforiaのバージョンよりも更に最新のVuforiaがリリースされている場合、下記の手順でVuforiaをアップデートできます。 Unityを起動するときにVuforiaは無効の状態になっています。(Image1)。 とりあえず、Vuforiaを使用するため、 File>Build Settings>Player Settigsボタン または Edit>Project Settings>PlayerからPlayer Settingsを開き、 (Image2) Player settingsのVuforia Augmented Realityオプションをチェックする必要があります。 (Image3) Vuforia Configurration Pannelの出し方 すると Vuforia Configuration Panel でVuforia Update のリンクをクリックできるようになります。(Image4)。 Image1 Image2 Image3 Image4   ここで一旦Unityを閉じてください。 ダウンロードが終わったら、 VuforiaSupportInstaller-Windowsの圧縮ファイルを解凍し、UnitySetup-Vuforia-AR-Support-for-Editorのイントラーをダブルクリックします。 UnitySetupアイコンを選択してください(Image5)。 インストールを続いて、Destination Folderのページを見えたらBrowseボタンをクリックしてください(Image6)。 ここで、Vuforiaの最新を適用したいUnityのバージョンの実行ファイルが置かれているパスを指定します。 Image5 Image6 Program FilesフォルダーにあるUnityフォルダーを選択してください(Image7)。(注意:Unity Hubのフォルダーではありません。Unity自体の実行ファイルがあるフォルダを指定する必要があります。) Image7 それでUnityをアップデートするバージョンを選択し、OKボタンを選択してください(Image8)。 Image8 次のウインドで選んだフォルダーを確認できます(Image9)。それでインストールを最後まで続けてください。 Image9 Unityを起動するとVuforiaがアップデートされていることが確認できます(Image10)。 Image10

Unity3D+IK(Inverse Kinematics)のAnima2Dチュートリアル

By |

Unity3D+IK(Inverse Kinematics)のAnima2Dチュートリアル

Blogをいつもご覧いただきありがとうございます。   前回は「Unity3D+Anima2Dチュートリアル」というテーマの記事を投稿しました。   今回はAnima2dのInverse Kinematicsについて説明したいと思います。   Inverse Kinematicsとは何ですか?   Anima2Dには、Inverse Kinematicsのコンポーネントがあります。これを使い、親関係のボーンオブジェクトの子供を動かすと、親も連動し動きます。 例を挙げると、腕と肩の関係のようなものです。(以下省略”IK”です)。 シンプルなアニメーションは、ボーンをいじるだけで充分ですが、もしアニメーションが複雑な場合はかなり時間がかかると思います。 そういう場合は「IK」が便利です。移動させたいボーンを「IK」と繋げればこのボーンのチェーンを丸ごと動かすことができとても便利です。   IKの種類は?   Anima2DのIKには,IK CCDとIK Limb という2種類のIKがあります。 IL Limbは骨を2本しかコントロールできません、余弦定理ですので、今回の場合手足に利用します。 IK CCD は設定に応じて、最大コントロールできる本数がルートボーンまでの全部の骨をコントロールすることができます。今回の場合頭と尻尾に使います。   では、前回の引継き、IKの使い方を説明します。 IKをの使い方を説明する前に、先ずAnima2Dの効率をアップでさせる機能を紹介したいと思います。 「PoseManager」というものです。 使い方はとても簡単です。下記の画像のように、前回の「牛」のオブジェクトに「Pose Manager」を入れれば、使えるようになるはずです。 そして、「Create new pose」をクリックしたら、今のスプライトのポジションとローテーションがセーブできます。 一つの「Idle」のポーズを「Save」をクリックしてから、後はどんな調整しても、ただ「Load」ボタンをクリックしたら、最初設定のポーズに戻れます。(ちなみに、「Save」はオーバライドしますので、ご注意ください。)   「Pose Manager」の使い方はここまでです。 それでは、「IK」の使い方の説明に入りましょう。   Step 1: IKをクリエイトします   「牛」のオブジェクトの中に、もう一個の空のオブジェクトを作って、名付け「IK」です。 下記の画像のようにそのオブジェクトに右クリックして、「2D Object」→「IK Limb」をクリックしたら、「IK」が出ます。   では、「IK」のパラメータを説明しましょう。 Record:アニメーションモードの間,ボーンのキーフレームを記録します。 Target​: IKが適用されるボーン。 Weight:​IKのポーズに対する影響度。 Restore…

Unity3D+Anima2Dチュートリアル

By |

Unity3D+Anima2Dチュートリアル

Blogをいつもご覧いただきありがとうございます。 先日、「Unity+Myo(ジェスチャーを活用して牛乳を搾るゲームを作りました)」というテーマのブログを発表しました。 下記のURLはゲームの映像です。 その中の「牛」はAnima2Dプラグインを利用して制作しました。Anima2Dの使い方のチュートリアルとして今回はAnima2Dを利用して「牛」を動かしてみましょう! Anima2Dのメリットは?   Unity3Dのアニメーションと同じ感覚で2Dキャラクターが動かせます。 スキニングとBoneが付くアニメーションを作ることができます。 Spriteの各頂点編集することができます。 全部アニメーション(Unity3Dの標準機能)でコントロールすることができます   Step1 Anima2Dをインストール   AssetStoreからAnima2Dを検索し、ダウンロードしてから、インポートをしてください。   Step2 「牛」の画像を分割 上記の画像はまだ分割していない状態です。 ゲームでは「頭」、「足」二本、「体」を分けたいので、こちらで「Gimp2」でこの4つの部分を分割しました。 そして、分割した画像をUnityにインポートして、下記の状態になりました。 画像のInspectorのTexture TypeをSprite (2D and UI)に変更するのを忘れないで下さい。 これで、下準備は完了です。 Step3 SpriteMeshを作る ここから本番ですね。先用意した画像を選択して、右クリックしてSpriteMeshが作れます。( Create→Anima2D→SpriteMesh) 上記のステップで、拡張子が「asset」のファイルができると思います。保存先が分からなくなってしまわぬよう独立のフォルダーを入れるとよいと思います。 Step4 SpriteMeshをSceneに配置 これから、作り上げたSpriteMeshをシーンに配置します。 まず、シーンにempty GameObjectを作って、この中で二つ空のGameObjectを作ります。下記の画像ご参考までに。 そして、SpriteMeshを一個ずつBodyのGameObjectに入れます。(一気に全部選択しても一個ずつしか入りませんので) 全部入れて、元「牛」の四肢のようにポジションを調整したら、下記の画像のようになるかと思います。 Step5 SortingLayer、OrderLayerの調整 ですが、牛の頭が体に隠れてしまってるように見えますので、そこで、OrderLayerの順位を調整します。 先ず、SpriteMeshのSortingLayerを全部同じにします。SpriteMeshのオブジェクトを選択して、右側は下記のようにします。 デフォルトの状態で全部のSpriteMeshのOrderLayerは0になっていますので、一番前に表示したい物のLayerの順位を0より大すると前面に表示できます。 今回の場合は牛の頭を体の前に表示しようと思いますので、頭のオブジェクトを選択して、OrderLayerは1にすれば、一番前に表示できるようになると思います。 これで、SortingLayerとOrderLayerの説明は維持上です。 Step6 Boneを入れる これがAnima2Dのとても大事な機能です。スプライトに骨を付けることができます。 先ず、先ほど作ったBoneというゲームオブジェクトに右クリックしてください。 下記の画像のように選択します。 こうすれば、新しいBoneオブジェクトがインスタンスされます。自分が分かりやすい名前を決めてください。 そして、「Torso」の中で頭、両足の2DBoneを作って、針みたいなものを相応の所に配置します。   注意点:上記の赤い箇所で示している所は「骨」の長さです、スプライトの大きさに相応して決めてください。 そして、BoneとSpriteMeshを繋げましょう! 下記の画像の通りにそれぞれのBoneオブジェクトをSpriteMeshのSet bonesの所に入れます。   注意点:繋げたくない部分があれば、右クリックで削除してください。…

“PazuTama2″_Match Puzzle Released-Unity

By |

“PazuTama2″_Match Puzzle Released-Unity

We released a sequel game to our Pazutama puzzle games series. The goal of the game is to defeat your opponent with the power of your puzzle solving abilities. 私達が過去に制作していたマッチパズルゲームの改良バージョンをPazuTama2としてリリースしました。 The previous iteration was pretty simple, you just had to tap on the color and it would erase all matching circles connected to it. This…

Unityでのアプリ内のムービー表示方法と、常に正しい解像度と比率を維持するように設定する方法。

By |

Unityでのアプリ内のムービー表示方法と、常に正しい解像度と比率を維持するように設定する方法。

How to create a movie screen with unity, and to set it to keep the right resolution and ratio at all time.  ユニティでムービー画面を作成する方法と、常に正しい解像度と比率を維持するように設定する方法。   First you will need to import a video, the list of the supported format in unity can be found here :  最初にビデオをインポートする必要があります。サポートされているフォーマットのリストはここにあります:  https://docs.unity3d.com/Manual/VideoSources-FileCompatibility.html   Next, to be able to render the…

Unity3Dタイルマップ作成時の注意点

By |

Unity3Dタイルマップ作成時の注意点

Unity3D has a tile map system that allows you to make 2D maps with no programming at all. This tool is available for free with the unity base package and can be expanded with the 2D extras package found in unity’s GitHub. It’s fairly easy to use but if you are not careful when setting it up you could have a hard…

(Unity3D)ダイナミックボタンアクション

By |

(Unity3D)ダイナミックボタンアクション

あるゲームのUIを作っている間にボタンに関する問題に遭遇しました。選択されたエンティティによって、表示されているボタンが変わるようにしたいと思いました。 もちろん一つずつのエンティティのGameObjectを準備して場合によってSetActive()trueかfalseにしてもいいですが、スケーラビリティは?エンティティを追加しようとする毎に新しいGameObjectを準備しますか?そんな面倒なことは勘弁してほしいですよね。 ということでスケーラビリティのため、エンティティを選択する時にボタンが編集され、ちょっとしたアルゴリズムを書きました。  こういうシステムが入っているUIを作る人がいて参考になればと思い、分かりやすいバージョンを準備して下記にそのケースを紹介します。  想定ケース:  1.エンティティによる、ボタンの数が異なる場合でもOK。  2.ボタンの見た目を編集可能にする。  3.ボタンのアクションがstringの引数を受け取れる。  4.簡単にするため、ボタンの最大数は10にします。  先ずはボタンの情報をまとめるクラス“ActivityButton“をつくります。  public class ActionButton { public UnityAction<string> theAction; public string argument; public Sprite sprite; public ActionButton(UnityAction<string> act, Sprite sprite, string arg=””){ theAction = act; argument=arg; this.sprite = sprite; } } UIマネージャーにはButton、Image、GameObjectの配列を必要です。パブリックなGameObjectの配列を作ってシーンからボタンをドラッグして、Start()でButtonとImageの配列を作りました。  public class MyEpicUIManager : MonoBehaviour { Button[] actionBtns; Image[] actionImgs; public GameObject[] actionBtnObjs; void Start…

Go Top