三角端。

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

スポンサーサイト

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

モデリング続き

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

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

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

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


テクスチャも貼ってみたよ。
screen_267.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に追加されるようになりました。
便利便利。

11周年

Δ-sphereは本日で11周年を迎えました。

年月だけは無駄に長いですね、ええ。
最近はもうね、自分でもゲームを作っているんだか何を作っているんだかわからないですよ(苦笑

あ、そうそう、あけましておめでとうございました。
年末の挨拶もなく、年始の挨拶もなかったのは初めてかなあ・・・

この1ヶ月半というもの特に忙しかったというわけではなくでもゲームを作っていたわけでもなく。
何をしていたかといいますと、
天のお告げがありまして性懲りもなくまたシコシコとツールを作っています。

Twitterにて
区也「あーなんかいいドット絵ツールないかなー」
区也「EDGE2もいいんだけど物足りないんだよなあ」
***「自分で作っちゃえばいいじゃん」
区也「それだ!」

そんなわけで今度はドット絵エディタです。

scri_372.jpg

ペンで描いたり選択範囲を作ったりできました。
レイヤーやアニメーション用のページ管理も実装済み。
次はEDGEレベルのパレット操作が欲しいなあ。
まだまだ実用レベルではないですね。

実装予定
・エリア分け用ガイド
・アニメーション管理情報出力
・タイルパターン(ハッチング用)
・パレット管理

そんなもん?
あ、・・・保存機能もまだだった

諏訪風神祭告知

イベント告知です。

9月22日諏訪風神祭4にて同人誌だします。
B09b Happy Set あいごろーさんのところです。
よろしくお願いします。


d_illust_402.jpg

うちのウェブサイトができてからずいぶんと経つけど、
実は初めてなんだぜ・・・こうやって同人誌を書くの。





三拍子なんて本もありましたね

コミケお手伝い情報

夏コミまであと少しですね。

今回はサークルHappy Setさんところでお手伝いしています。
日時場所は2日目、東ニ02bです。
よろしくお願いします。



何か作ってます。
screen_255.jpg

久しぶりにドット絵を描いてみて感覚を戻したりしてみて・・・って感じです。

そういえばドット絵のツールを変えてみましたよ。
今まではPaintShopPro7を使っていたのですが、さすがに古いソフトなので新しいソフトに移行していかないとまずいような気がしてきまして・・・
あと透明が扱いにくいのも・・・ね。

ドット絵ツールを色々と探してみたんですが、なかなか欲しいものが見当たらなくて・・・
正直、そんな色数とか気にしないのでパレットとか作るの面倒だし、透明半透明を使いたい。
でもきれいにドットでぽちぽち打ちたい。
直接ゲームに組み込むためにPNGで出力したい。

よくあるドット絵ソフトはパレットを作らないと描けなかったり、
高機能グラフィックツールはブラシの周囲がぼけたり、クリック位置と描画位置がずれていたりして、ドットを打ちにくかったり。
なかなか欲しいソフトってないものですね。

色々触ったりしてみると、同人誌を書くために導入したCLIP STUDIOが案外描きやすいことが判明。
ドットペンの太さを変えられたら言うことなしなんだけどなー
まあ、しばらくはこれでやってみます。
次のページ

FC2Ad

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