Blender2.79b
Unity2018.1.5f1
Windows10
□
今年はハロウィンに少し参加してみようかと以下のような動画を作りました。
ついでに使ったスクリプトとアセットを紹介します。
イシゲーのハロウィンパレード2019!
昨日はスケルトン入れ忘れていたのでやり直し。
来年はもっと多くのキャラでやりたいですね#unity#blender#Halloween pic.twitter.com/PO7sRr0nff
— イシゲー@UnityとBlender (@ishidahanta) October 30, 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 | |
); | |
} | |
} | |
} |
このスクリプトをオブジェクトにアタッチしたら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); | |
} | |
} |
これはもう動かしたいオブジェクトにアタッチするだけでOKです。
アニメーションはそれぞれひとつしか使わないのでAnimatorコンポーネントに入れておくだけでOKです。
■使用アセット
Anime Girl Idle Animations Free
女性らしい歩き方のアニメーションを利用させてもらいました。
月夜のSkyboxを利用させてもらいました。
■自作アニメーション
ゴースト、ジャックオランタン、キャンディのアニメーションはAnimationウィンドウで作りました。
赤マークの録画で作るとTransformがワールド座標でしか移動しないみたいなので、対策としてアニメーション作ったオブジェクトに親オブジェクトを設置し、親の方を移動させています。
■関連記事
「Blender標準テクニック」でアニメ美少女作成に挑戦!その成果を発表します
【魔女の帽子問題】BlenderでウェイトをつけたらUnityでマテリアルの色が出なくなった問題【解決】
【Blender、Unity】サンタ娘がトナカイ(?)に乗ってプレゼント爆弾を投げる【C#】
スポンサーリンク