同人ゲームサークル reverse snare 開発ブログ

主に2DSTGを作ってる同人ゲームサークル reverse snareの開発記、イベント・作品宣伝を行うブログです。

C95お疲れさまでした & 新年のご挨拶

新年明けましておめでとうございます。

今年も当サークルは活動を続けますのでよろしくお願いします。

そして、コミケ参加お疲れさまでした。

東京から地元に戻って早々に風邪ひいて上京時の荷物まとめてすらいない…週末やります

今回は友人に売り子を頼んだお陰で大変心強かった。

売り子と言いながらほとんどブースいてもらってなかったけど。

完徹でフラフラの自分を、初見の会場なのに引っ張ってくれたのは感謝としか言いようがない!

展示用のモニタを運ぶのを代わってもらったり、所謂ファンネルしてもらったり。

これまでの上京も基本一人だったんで周りを見る余裕ができたり自分では気づかないことを言ってもらえたり。

ひたすらに感謝!!!!

前回冬に続き近隣のサークルとなったアリスブレイズさん、MATYLAさんありがとうございました。

準備時間中にまじかるふぉれすとさんが挨拶にいらしてもう死ぬほどうれしかったです。ありがとうございました。

やはり準備時間のうちに挨拶回りを済ますべきだと思ったんですけど、

完徹で判断力が鈍ってる中で、

デモ放置で発生するバグの修正やら作成途中で半端だった機能の削除

というのを朝やってました。

昼過ぎの撤退前に友人にブースを任せいくつかのサークルさんに挨拶させていただきました。

それでも挨拶したかったサークル全部回れてなかった。

憧れの古川もとあきさんがすごく近い配置だったけど話しかける気力が持たなかった。

次回は…少なくともホテルで完徹作業は控えよう!

去年「遠征勢でCD当日焼きとか無理っすよHAHAHA」とか言ってたのが見事にDLカードで完徹かつ現地作業までしていたというフラグの拾いっぷり

上のツイートで今後の目論みを出してますが、まずは今週の金~土でC95体験版の修正を行いリリースします。

以降すぐに3月の公開に向けて製作を進めていきたいと思います。

あと、今年は製作中の作品を公開する機会を増やしたいと思っております。

動画の投稿やpixiv垢作ってドット絵紹介なんかをやっていきます。

それでは皆さん、本年もよろしくお願いします!!

C95受かりました 日曜日東地区 "チ " 44a

コミケ受かりました

現状の画面こんなんですけど

20181103_01.png

20181103_02.png

背景、UIともにUnityデフォだしエフェクト類全くないので作りこみはこれからです

半年前から製作記もさぼってたのでtwitterからいくつか

アイテムの光。あとアイテム画像はblenderでモデル作って回した。アイテム感ある

カメラ制御させるほど背景作りこめるかな…?

敵配置エディタ。

20181103_03.png

自機アニメ。ぬりおわらねえ

20181103_04.png

当日までにどこまでできるか…頑張ります。

6月作業:敵動作編集エディタ作成

6月は敵動作編集ウィンドウを作成。

以前winFormで作ったものをUnity上で再作成しました。また完成してしまった。

gen.png

edit.png

体力や形態などの基本データ、移動、弾幕、当たり判定、アニメの設定が可能。

タブを用意しているけど効果音とエフェクトのフォームは作っていない…音やエフェクトは仕様を決めていないのでまだです。

col.png

アニメはedge2から読み込んだデータを使用し、当たり判定はフォーム上の敵画像をドラッグで設定する。

…テクスチャは透過部分が塗りつぶされてるし、レスポンスが悪くドラッグ中は矩形が表示されない。

その他レイアウトがいけてない箇所も多々あるが、編集中に致命的な問題が発生しない限り動けばOKのスタンスでいきます。

今月はエフェクト類をどう実装するか調査しつつ、素材作成して乗っける予定。

rec_3_2.png

Effekseerで試しに作成した物。ボンバァ~

Unity LineRendererでレーザー各種作成

Unity LineRenderer完全に理解した

linerendererでレーザー各種を作成

unityのLineRendererで簡単に画像の変形描画ができます。

parumu.jpg

むしふたパルム的なレーザー。ベジエ曲線でなんやかんや

DDPLaser.jpg

DDP

chaselaser.jpg

基本的な追尾レーザー

・どう使うの

1.オブジェクトにLineRendererコンポーネントをつける

2.LineRendererのPositionの使用数を関節数分設定する

(曲がる線を描きたいなら多めに、一直線なら2)

lr.png

3.描画に使う画像をプロジェクトに取り込む。

 マテリアルを作成し、マテリアルに描画に使う画像を割り当てる。

 

4.初期化処理

 LineRendererとそのマテリアルを受け取る。

 レーザーの軌跡など、関節数分の座標履歴を持つ。

LineRenderer lr;

Material material;

Vector3[] history;

public ChaseLaser(GameObject gameObject, int taleCnt) : base(gameObject) {

history = new Vector3[taleCnt];

for (int i = 0; i < history.Length; i++) {

history[i] = Vector3.zero;

}

lr = gameObject.GetComponent<LineRenderer>();

material = lr.material;

}

5.ゲーム動作処理

 移動で座標履歴を更新するとか、衝突でレーザー短くするとか。

6.描画処理

 関節座標を描画に反映させる

for (int i = 0; i < history.Length; i++) {

lr.SetPosition(i, history[i]);

}

 画像スクロールを行う場合はマテリアルのOffset(material.mainTextureOffset)を変更する

 (1.0fで画像一枚分動くので、ゲームの座標単位から変換する必要がある)

 

DDPレーザーみたいにスクロールするもので、長さによって画像が伸び縮みすると違和感がある場合は、

 最長の長さを定義しておいて、現在の長さの割合をmaterial.mainTextureScaleに設定する。

 (最長なら1、半分なら0.5)これで引き伸ばし感が長さに影響されない

ベジエ曲線のレーザーの描画のシワがちょっと気になる。

かなり基本的な使い方しかしてないので理解したなど到底言えないですね

5月作業:自機回り

5月は自機周りのプログラムを作成。

画像の用意がまだで、unityUIのデフォ画像で代用してるけど動いているものを見ると少しテンション上がりますね。少し。

5gatu_0.jpg

5gatu_1.jpg

基礎的な部分ができて、ごちゃごちゃ書いてたソースを共通部分と操作キャラ別の部分で分離したのであとはキャラ別に作り込んでく感じ

来月は敵のエディターを作成する。

編集中のプレビューが難しそうな予感

UnityEditor拡張 edge2アニメデータの読み込み

blg.jpg

blg2.jpg

blg3.jpg

以前windowsFormで作成していたedge2のアニメーションデータxml->ゲームで使用するアニメデータに整形・データ追加のツールをUnityのエディタ拡張で作ってみました。

過去にツイッターで見たEDGE1のアニメデータ(テキスト)の読み込みツール

とほぼ同じ?使ったのが結構前なのでうろ覚えですが

画像をunityプロジェクトに取り込んでspriteシート設定を割り当てる。

アニメに使用するspriteシートのrect割り当てやループ設定・回転許可などの設定はscriptableObjectに保持する。

上記ツールはソースが見れるのですが知識0ではほとんど理解できなかったのでググりまくった。

エディタ拡張

https://anchan828.github.io/editor-manual/web/reorderblelist.html

http://kan-kikuchi.hatenablog.com/entry/ReorderableList

過去ソースを移植した時にソリューションを2つに分けられて困ってたけど、エディタ拡張でEditorフォルダ使うからなのね。

画像取り込み

https://qiita.com/sapphire_al2o3/items/54a6d8ac321d6e1d9b79

EditorUtility.OpenFilePanel()で開くダイアログで画像を指定して読み込み。

https://qiita.com/harhogefoo/items/91fd13a8ab0a51def7e4

エディタウィンドウ表示用。全体を取り込んでからアニメデータに基づいて切り抜き。

edgeのyの0原点は上だが、unityは下が原点のため、反転計算が必要。

https://answers.unity.com/questions/943797/editor-script-to-slice-sprites.html

sprite保存時のrect割り当て。

SpriteMetaDataの配列をsprite.spritesheetに入れる。

コンボボックス的なやつ

https://docs.unity3d.com/ja/current/ScriptReference/EditorGUILayout.Popup.html

disabledなGUI

http://tiri-tomato.hatenadiary.jp/entry/20140318/1395104788

EditorGUI.BeginDisabledGroup(bool);

EditorGUI.EndDisabledGroup();

画像・spriteシート保存した後のunity Projectウィンドウ更新

https://qiita.com/thaladabar/items/8e74cd30d3a4294d07ad

AssetDatabase.Refresh();ではspriteシートが表示されないため、

AssetDatabase.ImportAsset( パス, ImportAssetOptions.ForceUpdate );

保存したspriteのspritesheet読み込み

http://kan-kikuchi.hatenablog.com/entry/MultipleSprite_LoadAllAssetsAtPath

画像保存後、再度読みだしてscriptableObjectに設定する。(冗長な処理な気がする)

画像保存とscriptableObject保存だけ行っていてこのデータでゲームを動かしていないので、ちゃんと動くかは今後の実装のお楽しみ。

あ、ンスプブGWで半額セール中です。(告知が遅い)

http://www.dlsite.com/home/work/=/product_id/RJ196354.html

3月の作業

3月の作業

ドット絵数枚作成、既存のドット絵微修正。

攻撃モーションのキーフレームとか書いた。

ついでにゲーム画面サイズのキャンパスにドット絵表示して画面との比率を見たけど、やはりこのサイズだとフルHDは耐えられないな。1280x720でいきます。

unity調査

・オブジェクト管理

ゲームマネージャからゲーム動作全部任せればこれまで通りできそう

今作もセルフ処理落ちを用意するので処理落ち発生時に手動GCとか無理やりできないかな…?のちに調査する

・ブラーエフェクト

カメラ1内容をrender target textureに転送→カメラ2を1にかぶせ、textureとゲーム内容を撮影してゲーム画面とすることでこれまで通りっぽくなる。

targetRenderTexture2.gif

右上のTartarget textureの指定がころころかわっておるじゃろう?書き込み先をいくつか用意してフィードバックを得るんじゃ。

カメラ2個はめっちゃ負荷たかそうだし、代替手段を見つけたいところ。

今月入ってからは、DXlib環境のソースをunityにぶち込んで修正してとりあえずコンパイル通したが、オブジェクト管理がこの時点でダメダメっぽいので一部ロジック除いてプログラム書き直す

今月中で自機、敵基本、自機弾敵弾の管理を作って、敵動作を編集可能なものにするべくunityの仕様を調べるのを目標にしよう