【Blender、Unity】ハロウィンパレード2019の動画を作りました【C#】

ハロウィンパレード2019/トップ

Blender2.79b
Unity2018.1.5f1
Windows10

ハロウィンパレード2019/トップ

今年はハロウィンに少し参加してみようかと以下のような動画を作りました。
ついでに使ったスクリプトとアセットを紹介します。

撮り直し前はこちらです。

使用しているキャラクター5体はすべてBlenderで作ったものです。
魔女は「Blender標準テクニック ローポリキャラクター制作で学ぶ3DCG」の子を改造しました。
骸骨はアセットストアで販売するために作りましたが、審査にはもう三度落ちておりあきらめ気味です(汗)
ジャックオランタン、ゴースト、キャンディはささっと作りました。
色はすべてUTS2(ユニティちゃんトゥーンシェーダー2.0)を使っています。

■スクリプト

スクリプトはキャラクターをランダムに配置するHalloweenSystemとキャラを前方に移動させるだけのHalloweenWalkの2つです。
動画のカメラは自分でTransformいじって動かしていました。

HalloweenSystem.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HalloweenSystem : MonoBehaviour {
//Inspectorから配列にオブジェクトを設置
public GameObject[] character;
//設置するオブジェクト数
int characterNum = 5;
//ランダムに選んだオブジェクトの要素数
int randomNum;
//オブジェクトを出すX軸の位置の最大数値
float characterPos = 10;
//ランダムに選んだX軸の位置
float randomPos;
//数えた秒数を入れる
float time;
//何秒ごとにオブジェクトを出すか
float interval = 0.5f;
void Update () {
//秒数を計って変数に入れる
time += Time.deltaTime;
//timeの数値がintervalを超えたら働く
if(time > interval)
{
//timeを0に戻す
time = 0;
//配列の要素数とX軸の位置をランダムで選ぶ
randomNum = Random.Range(0, characterNum);
randomPos = Random.Range(0, characterPos);
//Prefabのオブジェクトを生成する
GameObject copy = Instantiate(character[randomNum],
//生成したものを配置する位置
new Vector3(
//X軸
randomPos,
//Y軸
0,
//Z軸
0
//Quaternion.identityは無回転を指定する
), Quaternion.identity
);
}
}
}
view raw 43.cs hosted with ❤ by GitHub

このスクリプトをオブジェクトにアタッチしたらInspectorから出したいオブジェクトをセットします。

ハロウィンパレード2019/スクリプト/Inspector/配列

HalloweenWalk.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HalloweenWalk : MonoBehaviour {
void Update () {
//このスクリプトをアタッチしたオブジェクトを動かす
//3つの数値はX軸、Y軸、Z軸の順になっている
this.gameObject.transform.Translate(0, 0, 0.05f);
}
}
view raw 43a.cs hosted with ❤ by GitHub

これはもう動かしたいオブジェクトにアタッチするだけでOKです。
アニメーションはそれぞれひとつしか使わないのでAnimatorコンポーネントに入れておくだけでOKです。

■使用アセット

Anime Girl Idle Animations Free

女性らしい歩き方のアニメーションを利用させてもらいました。

8K Skybox Pack Free

月夜のSkyboxを利用させてもらいました。

■自作アニメーション

ゴースト、ジャックオランタン、キャンディのアニメーションはAnimationウィンドウで作りました。
赤マークの録画で作るとTransformがワールド座標でしか移動しないみたいなので、対策としてアニメーション作ったオブジェクトに親オブジェクトを設置し、親の方を移動させています。

■関連記事

「Blender標準テクニック」でアニメ美少女作成に挑戦!その成果を発表します

【魔女の帽子問題】BlenderでウェイトをつけたらUnityでマテリアルの色が出なくなった問題【解決】

Unity Recorderによるエラーについてのメモ

【Blender、Unity】サンタ娘がトナカイ(?)に乗ってプレゼント爆弾を投げる【C#】

スポンサーリンク

目次に戻る