UnityとBlenderでRPGを作る #3 – キャラクターを動かす

前回までで床とキャラクターの設置までが終わったので、今回は設置したキャラクターを動かしてみましょう。

カメラ位置修正

デフォルトのままだとちょっと見にくいので、カメラの位置を変えてみます。
メインカメラを選択して、Yを1から4に変更しました。

右下の「Camera Preview」で確認ができます。
見下ろす形になって見やすくなりました。

キャラクターを動かすための準備

コンポーネントとしてRigidbodyとCapsule Colliderを追加します。
キャラクターを選択した状態で、Add ComponentからRigidbodyを追加します。

Rigidbodyを追加する ( Unity )

つぎに、同じ要領でCapsule Colliderを追加します。

はい、追加できました。
では続いて、Capsule Colliderの位置が変なので調整しましょう。
なんか下にめり込んでますよね。

Unity Capsule Colliderの設定

CenterとHeightをキャラクターを包むような大きさに修正します。

今回はCenterのYを0.9, Heightを1.8としました。

キャラクターを動かすためのスクリプトを書く

キャラクターを動かすためにスクリプトを書きます。
まずはスクリプトファイルを作りましょう。
AssetにScriptというフォルダを作ります。これは単にAssetを整理しやすくするためです。

Unity Asset

作成したフォルダを開き、スクリプト用のファイルを作ります。
Assetsの先ほど作成したScriptフォルダをダブルクリックした後、そのウインドウで右クリックし、Create > C# Script を選択し、新規スクリプトファイルを作成します。
ファイル名はCharacterControllerとしましょう。

はい、ファイルが作れましたね。
早速開いてみましょう。
テキストエディタなら何で開いてもよいですが、今回はVisual Studio 2019で開きます。

ここに以下のコードをコピペします。
内容わかんなくても大丈夫です。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CharacterController : MonoBehaviour
{

    public float speed = 3f;

    private Rigidbody rb;
    private float h, v;
    private Vector3 moveDirection = Vector3.zero;

    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent<Rigidbody>();
        rb.constraints = RigidbodyConstraints.FreezeRotation;
    }

    // Update is called once per frame
    void Update()
    {
        h = Input.GetAxis("Horizontal");
        v = Input.GetAxis("Vertical");

        if (h != 0 || v != 0)
        {
            moveDirection = speed * new Vector3(h, 0, v);
            moveDirection = transform.TransformDirection(moveDirection);
            rb.velocity = moveDirection;
        }
    }
}

ソースコードは以下を参考にさせていただきました。
https://qiita.com/tomopiro/items/e691524c3c0eef16c089#%E7%A7%BB%E5%8B%95%E6%96%B9%E6%B3%95%E3%81%9D%E3%81%AE1

続いて、キャラクターオブジェクトに先ほどのスクリプトを追加します。

十字キーで操作すると、キャラクターが動きます。

動くようになりましたが、物体が動いてる感がすごいですね。
次回は動きに合わせて方向を変えたり、アニメーションしたりするようにします。

UnityとBlenderでRPGを作る #2 – ステージを作り、キャラクターを置いてみる

前回プロジェクトを作ったので、今回はステージを作って、プレーヤーも置いてみます。

床を作る

現在は何もない状態なので、まずは地面を作ります。
Hierarchy > Create > 3D Object > Planeを選択し、床を作ります。

Unity 地面を作る

はい、これで床ができました。

プレーヤーキャラクターを配置

続いて、キャラクターを置いてみましょう。
キャラクターの作り方はこちらを参考にしてみてください。
BlenderでエクスポートしたFBXファイルをAssetにドラッグドロップします。
今回使ったFBXファイルはここに置いておきますね。

次に、Animation Typeを設定しておきます。
キャラクターを動かすときに必要です。

Humanoidを選択したら、下のApplyボタンを押して適用します。

続いて、実際にゲーム上に置いてみましょう。
AssetからHierarchyにドラッグアンドドロップします。

なんかめり込んでしまっているので、位置調整しましょうか。
PositionのYを1にします。

これでキャラクターを配置することができました。
本日はここまで。
明日はキャラクターを動かせるようにしてみます。

UnityとBlenderでRPGを作る #1 – Unityのプロジェクトを作る

前回、Blenderでキャラクターを作ったので、今度はそれをUnity上で動かしてみます。

プロジェクト作成

まずはUnityのプロジェクトを作りましょう。
Unityのインストールなどは省きます。バージョンはUnity 2019.2.12f1です。

Unityを開き、新規作成をクリックします。

プロジェクト名はRPGとしましょうか。
今回は3Dのプロジェクトを作りますよ。

作成をクリックすると空のプロジェクトが作成されます。

本日はここまで~。

Blender 練習 キャラクター作り その3 動かす

3DCGが歩いてます

前回(その2)

前回まででモデルの準備ができたので、続いてボーンを入れて実際にUnityで動かしてみます。

ボーンはこちらにあります。

メタリグ

ボーンを入れる Blender
ボーンを追加

ボーンを追加したら、拡大縮小してモデルとボーンを合わせます。

ボーンを修正 blender
ボーンを修正

続いて、ボーンとモデルをペアレント設定します。

まずはモデル、ボーンの順に選択して、

選択する

つぎにペアレントを設定します。「Ctrl + P」を押したあとに、以下の「自動のウェイトで」を選択します。

自動のウェイトで

これでペアレント設定が完了したので、Unityで使えるように保存します。

ファイル→エクスポート→FBXの順に選択して、FBX形式で出力します。
このとき、カメラなどは不要なので、メッシュとアーマチュアのみをエクスポートするようにします。

FBXで出力
FBXで出力

以降はUnityでの作業。

プロジェクトに先程作ったFBXファイルをドラッグドロップします。

Unityのインスペクタから、Rig→Animation Type→Humanoidに設定して「Apply」ボタンを押します。

これでエラーが出なければ成功なのですが。。。。私はここで失敗しました。

Unity Blender

足の部分が失敗しているみたいです。

これはどうやら、脚を1つの立方体で作ってしまったために起こった模様。

というわけで足を作り直しました。

脚の作り直し
脚の作り直し

太ももとふくらはぎを2つの立方体で作り直しました。

脚の作り直し
脚の作り直し

うまくいきましたー。

あとはアニメーションを持ってきます。

Unity-chanをアセットストアからインポートして、オブジェクトに設定したました。ここはUnityの設定なので割愛。

歩くアニメーションを設定したら、ちゃんと動きました〜。

3DCGが歩いてます
3DCGが歩いてます

Blenderで作ったモデルの動かし方はだいたいわかったので、今後はUnityでの操作方法など勉強してみます。

STETCHさんで財布を作ってもらいました

レザーの財布をオーダーメイドしてくれる「STETCH 」さんで、財布とウォレットチェーンとアップルウオッチのバンドとキーホルダーとキーヘッド を作ってもらいました。

メインカラーは紫と黄色。

サイコガンダムマークIIみたいでカッコいい。

色の他に、細かい注文にも応えていただきました。

こだわりポイントは、財布の中のカードケースです。

L字ファスナーになっていて、カード類がたくさん入れられます。

クレジットカード以外に、交通系カードや会社のカードなどが多くて、かと言ってカードケースを分けるといざという時に困るので難儀していたのです。

これにより、大量のカードを持ち歩くことが可能になりました。やったね。

あとは、アップルウオッチバンドも作ってもらいました。

ピラミッドスタッズがかっこよくないですか。

ちなみに前回作ってもらったのがこちら。

前回は赤と青で作成してもらいました。この色も良いですよね。

前回はパーツが汗で錆びたりしたので、今回は金属パーツを汗に強いものにしてもらいました。

仮面ライダーサソードみたいな感じでカッコいい。

さらにさらに、キーホルダーも。

こちらはSTETCH さんで販売されてるイナズマキーホルダーの、少しサイズの小さいバージョンです。

わざわざ型を作っていただきました。ありがとうございます。

欲しいものを全部作っていただいて、感無量です。

皆さんも是非 STETCH さんでオーダーしてみてくださいませ。

めちゃくちゃおすすめです。

Blender 練習 キャラクター作り その1 胴体と頭

Unity でゲームを作ろうと思ってまして。

手始めとして Blender で3Dモデリングを勉強してます。

まずはキャラクター作りの練習から。

立方体を変形して胴体を作成します。

続いて、位置を調整した後、半分に切って左半分を削除して、ミラーを追加します。

胴体を真ん中から上に移動。

さらに、UV球メッシュを追加します。

これで胴体と頭まで追加が完了。

次回は手足を作ります。

Blender 練習 キャラクター作り その2 手足

表参道サニーヒルズのアップルケーキ

東京みやげにおススメです。

東京メトロ表参道駅を降りて、青山方面に少し歩いたところにある台湾のパイナップルケーキのお店、サニーヒルズ

地元台湾でも本格派パイナップルケーキの祖として有名な老舗です。

これが東京で買えるのは幸せですね。

パイナップルケーキは当然オススメですが、現在期間限定でアップルケーキを販売中。

青森産の紅玉を使った、さっぱりした酸味のある、美味しいアップルケーキです。

サニーヒルズ アップルケーキ
サニーヒルズのアップルケーキ。5個入りで1500円。

サニーヒルズ 手提げ袋
手提げ袋が可愛い。

サニーヒルズ アップルケーキ 5個入り

3Dモデリング勉強中

3Dモデリングを勉強中です。

ソフトはBlender

本はこちら。ソーテック社の、Blender 3DCG モデリングマスター。

基本操作や考え方が学べて、なかなか良い本です。