三角端。

Δ-sphere管理人三角区也による絵日記/ゲーム開発日記。コメントは右側のweb拍手からどぞー。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

相棒太郎くん

ここ1ヶ月ちょっとプライベートが嵐のような日々でした。

お盆休みになったのでクラッシュバンディクーとスプラトゥーン2をがんばってやっておりました(え





hiroさん、遅まきながらクリプレ運営お疲れ様でした。
うちのサイトも取り上げてくださったり、ありがとうございました。

長く続いていたサイトが閉鎖するのは寂しいですねえ。





自分がいえたことではないんですが、
またひとつツクール系サイトが無くなっていくんですねえ・・・これも時代の流れでしょうか・・・
個人サイトとかブログとかがすでにインターネット老人会に属すらしいです。
(そりゃあ、もう10何年前の話だし)

まあ、毎日の状況報告なんてtwitterとかあれば十分といえば十分だし、
その情報が欲しい人はフォローすればいいわけだし。

文章量的に技術系ブログは生き残りそうだけれども、
個人の作品がまとまっている個人サイトが無くなっていくのは寂しい気がします。
インターネット老人会バンザイ!




キャラのモデリングを進めてます。

最近の作業手順はこんな感じ。

・モデルの雛形を弄りながら各キャラのモデル作成
・UV展開
・テクスチャ作成
・ボーンの埋め込み
・アニメーション作成

正直なところ、UV展開とボーン埋め込みはそんなに楽しくないです。
やることが決まっているのですごく作業感が強いです。
アニメーションが一番楽しいです。
このキャラはこういう感じに動かそう、とかなんとか考えながらやっております。


次はこいつのアニメーションだ

screen_270.jpg
スポンサーサイト

すっごく久々

まさかこんなに間が空いてしまうとは・・・

ちょっと3月ごろから引っ越しとかで忙しくてようやく落ち着いてきたというところです。
引っ越しとか役所手続きとか。
家電も新しくしたのでその搬入とかもろもろ終わってひと段落。

嵐の前の静けさでなければいいんですが。




そんなこんなで続きをつくり始めました。
間が空きすぎて何がどうなっていたのかとかモチベーションをたたき起こすとか大変ですね。
数年前みたいに毎日何か作業をすることを習慣化していきたいですね。
screen_269.jpg

次は骨とアニメーションをつけますか。

モデリング続き

ひたすらモデリング作業。

メッシュを綺麗にしていくとき、四角形のほうが扱いやすい?
こんな三角形を
screen_268.jpg

こうしたほうがいいっぽい。
screen_268b.jpg

そしたらループカットとか色んな操作が扱いやすくなるっぽい。
最初大量の三角形ができていて、ある程度まで四角形になるように直しました。
まだ三角形が残っているけど、このくらいでいいのかな?
そのあたりはまだ分かりません。
とりあえずいいことにします。


テクスチャも貼ってみたよ。
screen_267.jpg


モデリング

前回のあらすじ。
Unityでゲームを作り始めた!

前回からのできごと。
パソコンが壊れた!


悲しい。
いい加減寿命なのかもしれない。

スイッチを入れてファンも回らなくなったので、電源故障かMB故障か。
電源を変えてみてダメだったら新しく組み立てよう・・・

アマゾンで電源ユニットを買って交換しました。
電源ユニットの寿命はそんなに長くないし、故障の原因としてはありえる話だゾ。

スイッチを押しました。
MBへの通電無し。LED付いてない・・・

半ば諦めかけて一応最小構成のメモリ、CPUのみでスイッチオン。
動いた!

結局原因はグラボだったんですが、
見切り発車せずに最初からセオリーどおり最小構成を試せってことですね。





バトルシステムでも作ろうかなと思って、色々作っていたんですが、
とうとうキャラのテスト素材が必要になってきました。

さて困った。
ツクールなら適当な素材がありますが、Unityではそうもいきません。
ゆにてぃちゃんみたいな素材もあるにはありますが・・・基本は有料です。

自分のスキルアップも兼ねて3Dでモデリングしてみることにしました。
ちゃんとキャラ作るの初めてだなー

こんな感じで素体を作ってます。
screen_265.jpg

基本的なモデリングの方法は大体分かってきたのでペースは上がりそうです。
体に面を張って、髪、服を作ってテクスチャを描いて・・・
まだまだやることいっぱいだぞー


アニメーションどうしよう・・・

急に

やっぱりRPGを作りたいよね
RPG作りたいなーとか思いつつ Unityで色々探ってます。
ツクールでいうところのデータベースっぽいものを作ることはできました。

パーティキャラクターのデータ管理です。
戦闘シーンとかを最初に作ってみよう→
HUD必要だよね→
HUDに表示するデータをどうしよう
じゃあとりあえずパーティメンバーのデータ構造から作りますか。

要求仕様として「ゲームを開始してから各メンバーの各値は保持される」というのがあります。
パーティから外れてもそのデータは生かしておかないといけません。
なのでゲーム中どこかに保存しておく必要がありますが、
Unityのゲームオブジェクトにそのデータを持たせると、シーンを作るたびにゲームオブジェクトを設置しないといけない上に、
他スクリプトからのアクセスが面倒です。

そこでスクリプトからのみアクセスできる管理用シングルトンを作りました。
ついでにシングルトンをクラス化しておきました。
public class Singleton<T> where T:Singleton<T>,new(){
	static T sInstance;

	public static T Instance{
		get {
			if(sInstance == null) {
				sInstance = new T();
			}
			return sInstance;
		}
	}
}
public class PlayerStatics :Singleton<PlayerStatics>{
    List<HeroInstance> Heros;
};
これでスクリプトのどこからでもPlayerStatics.Instanceでアクセスで切るようになりました。
あ、HeroInstanceってのはHeroDataを参照するオブジェクトです。
HeroDataはレベル曲線とかの不変データでHeroInstanceは現在の経験値とかの可変データを持っています。

そんで、肝心のパーティメンバーのデータ構造です。
ぐぐってみるとScriptableObjectが便利だということで使ってみることにします。
public class HeroData : ScriptableObject {
	[Range(0,999)]
	public int Attack = 100;

    [MenuItem("Assets/Create/CreateHeroData")]
    public static void CreateAsset()
    {
        HeroData item = ScriptableObject.CreateInstance < HeroData > ();

        //アセットを保存するパス
        string path = AssetDatabase.GenerateUniqueAssetPath("Assets/Data/Resources/Heros/" + typeof(HeroData) + ".asset");

        AssetDatabase.CreateAsset(item, path);
        AssetDatabase.SaveAssets();
		AssetDatabase.Refresh();

        EditorUtility.FocusProjectWindow();
        Selection.activeObject = item;
    }
}
おお、確かにインスペクタで簡単にメンバーデータを編集できるようになりました。
HeroDataを追加していけばどんどん主人公データを増やしていけます

・・・が、要求仕様の「ゲームを開始してから各メンバーの各値は保持される」をクリアしないといけないので作ったHeroDataはPlayerStatics のHerosに追加しないといけません

ScriptableObjectはインスペクタで中身を編集できて便利だけど、 スクリプトからのアクセスには、Resourcesに入れて文字列でないとアクセスできないようでした。
新しいHeroDataを作成するたびにそれをResources.LoadしてHerosにAddするのも面倒です。

なんかいい方法ないかな、と色々みてたらResources.LoadAllなんて便利なものがあるじゃないですか。
PlayerStaticsを初期化する場所に次のコードを書いたらうまくできました。
    HeroData[] heros = Resources.LoadAll<HeroData>();
	foreach(HeroData hero in heros) {
		Heros.Add(new HeroInstance(hero));
	}
これでHeroDataを追加したら全自動で管理クラスPlayerStaticsに追加されるようになりました。
便利便利。
次のページ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。