デバッグ系もまだ表示されていますが、とりあえず以前からテストのときに使っていたゲームが、形になってきました。
assetのsmooth movesがあまりにも気に入ってしまい使ってみようって事で始まったのですが、横スクロールアクションのよく言う言葉では2.5Dとなります。3D表示だけど平面で遊ぶ感じですね。
背景とキャラが合ってないと思いますが、私はすきです。
ピンク色のキャラクターは魔女ペンギンで主人公です、
移動とジャンプ、武器で攻撃、魔法で攻撃ができます。
SCOREとGoldとLV(ゲージがいっぱいになると自分のレベルが上がり能力アップ)、左下のハートがHPで0になるとゲームオーバー、こうもりが魔法を使うときに必要な力で、最初のころは連射できません、強力な魔法はたくさん力が必要です。
敵を倒すとGOLDが入った袋を落とします、袋は見た目で入っている金額がわかるようになっています、画像で出ている茶色袋は小銭程度しか入っていないです。
敵の頭の上にあるのが敵のHPです。 敵にもレベルがあって強さが変化します。
殴って攻撃、魔法使いなので殴りは苦手で危険です。
敵を魔法や殴りで攻撃すると、のけぞったり吹っ飛んだりします。
武器を持ち替え、これは仮の武器ですが、装備は武器屋で購入したりしてきりかえれます。
武器屋とか、装備とかまだまだ決まっていません。
装備はシステムでは何個でも何でもつけられるようにしてあるのですが、今回は武器だけになるとおもいます。一応ゲームシステムは3Dアクションに向けて作っているので、このシステムで全方向アクションを作る予定です、今度は unity4 のアニメーションシステムを存分に?使おうと思っていますが、まだまだこっちが完成しそうにないです。
残り作業は、エフェクト・サウンド・武器・敵・ボス・マップ・属性ダメージ・仲間・ゲームオーバー画面・タイトル画面・エンディング画面・無限モードなどの継続したい遊びで、楽しいところばっかりです!
ペンギン魔女が戦う横スクロール2Dアクションゲームを制作中です。
ダメージなどができ始めました、ボスとかまだ未設定ですがしっかり中身を作っていってます。
地形など、まだまだ未完成ですが、攻撃や移動は完成!魔法も撃てるようになりました。
移動せずに撃てます。
動画の時代なのに・・静止画。
カメラもちゃんとついてくるようになっていますが、静止画だとわからないですね。
mega-fiers Ver2.01
本を作るのをやってみたのですが、プレイボタンを押すたびにメモリリークする・・。
終了するたびにこれが出る・・
Instantiating mesh due to calling MeshFilter.mesh during edit mode. This will leak meshes. Please use MeshFilter.sharedMesh instead.
UnityEngine.MeshFilter:get_mesh()
MegaModifyObject:FindMesh1(GameObject, GameObject&) (at Assets/Mega-Fiers/Scripts/MegaFiers/Modifiers/MegaModifyObject.cs:201)
MegaModifyObject:ReStart1(Boolean) (at Assets/Mega-Fiers/Scripts/MegaFiers/Modifiers/MegaModifyObject.cs:85)
MegaModifyObject:Start() (at Assets/Mega-Fiers/Scripts/MegaFiers/Modifiers/MegaModifyObject.cs:69)
そして mesh filterにガンガンMeshの名前が重なって増えていくので、直しました。
終了時に start がなぜか呼ばれるのでおかしくなるぽい。
MegaModifierObject.cpp の 85行目
public void ReStart1(bool force)
{
if ( force || mesh == null )
mesh = FindMesh1(gameObject, out sourceObj); //Utils.GetMesh(gameObject);
の、
if ( force || mesh == null ) を if ( force ) に書き換えると直ります。
これが正しいのかどうかはわかりませんが・・・、今のところ正常に動きます。
困っている方はお試しください。
台風で早く帰りなさいと言われ、帰ったら暑さとしんどさでダウン・・
4時間ぐらい寝てしまい今度は寝れない。
解決方法を見つけてあるので書いておきます。
日本語入力を IE 標準に戻してください。
unity のウィンドウをクリックしてから、標準のに戻すだけでシャットダウンしなくなります。
この間からテストで遊んでいたのですが、敵とかも考え始めてしまい・・ちょっと物語も追加して、世界ができてきました。1面だけは設定が全部決まってます。
3Dゲームの予定が、2Dの絵を持ってくるのとか書くのが楽しくなってきてしまい、いつの間にやら2Dゲームになりそうです、これも unity 3dのアセット smooth move が使いやすいおかげです。
昔 Directorというツール用にパスで書いていたキャラクターがunityで動くようになり、敵も新規で作成。右側に居る3体の緑色のは魔界より召喚されているゾンビで、落としてしまった心臓を常に大事に持っているのが特徴です、あんまり怖くならないように体は朽ち果てていません、魚は昔のゲームで書いたのを置いてみましたが、今回のゲームとは関係ないです。
主人公は、ピンク色の魔女ペンギンです。
3Dのキャラクターも今風のかわいい感じに変えないと、あんまりかわいくない。
さぁ、さくっと敵倒したりHPだしたり、画面構成考えたりしよう!できたら公開します。
unity 3dのAssetStoreで割引が行われているので、少ない手持ちを気にしつつ気になったAssetを大人買いしてます。
smooth Moves買いました。
2Dアニメーションが簡単にできるAssetです。
具体的には公式を見てください。
で、実際に設定してみたのがこちらの画像
これはアニメーションエディッタみたいなものですが、正直よくできていて使いやすいです。
アニメーションエディッタで操作する前に、アトラスを作成します。
やり方は簡単です、
unityに画像を読み込んでその画像を、ドラッグアンドドロップでアトラスエディッタに入れていきます、すると上の画像のように登録されて、右上にあるボタンを押すことで反映されるようです。
それが終わったらアニメーションエディッタ(最初の画像)を開いて、root の右にある + ボタンの押してレイヤーというか骨のようなものを追加して、下に追加されたボタン(画像では体とかかいてる)を押していくと、左上のスペースに詳細が出るので、そこで Transform のボタンを image に変えます、そうすると右側に先ほど登録したアトラスデータが出てくるので、それをクリックすると右側に出てくるので、あとは絵を操作していい位置においていく。
アニメーションを追加する場合もキーフレームで、右クリックとかで簡単にできます。
全部終わったら、unityのメニューにあるBone Animationのゲームオブジェクトを作成して、アトラスを設定すればゲーム画面に出せます。
結果下の画像のようになりました、3Dと2Dのコラボです、2Dは絵のサイズが凄く小さいので大分デコボコですが、結構かわいい。
すごく簡単、動画もほとんど見ないでもできました。当たり判定とかまだやってないけど・・きっと簡単ぽい(ボタンはあったし)
パーツごとにアニメーションするのがいいです。
悩んでいる人は買いだと思います!
Playmaker使わなければすぐできそうだったけど、あえてPlaymakerでやってみました。
IP通信で接続して二台で扉を地面のスイッチで開け閉めして遊ぶ、いろんなしかけ周りの基本となる操作の練習でしたが、苦戦しつつ何とか完成・・・。
ついでに前に作ってみていら、シューティングゲーム?の画像もはっときます。hatenaに別のブログ作ったけど面倒になってそっちは放置。
部分的に服を破壊できるゲーム、ナビゲーションメッシュも使って街の中を追いかけてくる相手の服の一部を破壊してある程度破壊すると勝利、時間まで逃げられると負けです。
unity 3d で、メッシュごとの当たり判定が非常に重い&モーションに対応するとさらに重いので、一応そこまでは問題なくできているけど、やっぱり破壊できる箇所を固定してしまうほうが、ゲームとしては向いているのと素直に作れます。
久しぶりに使うと忘れてしまって凄くはまってしまうので、やり方のページを張ります。
普通に Get Compornent とか使ってもアクセスできません(独自なスクリプトは取り出せないぽい)ので、自前にアクセスするPlaymaker用のアクションを作成します。
作成したアクションは、Projectの中に入れるだけで認識してくてます。
https://hutonggames.fogbugz.com/default.asp?W623
一応コードも
Accessing External Scripts (Behaviors):
using UnityEngine;
public class MyBehavior : MonoBehaviour
{
public float testFloat;
}
namespace HutongGames.PlayMaker.Actions
{
[ActionCategory(ActionCategory.ScriptControl)]
[Tooltip("Shows how to interface with a behavior on a game object")]
public class MyBehaviorAction : FsmStateAction
{
public MyBehavior myBehavior;
[UIHint(UIHint.Variable)]
public FsmFloat getTestFloat;
public override void OnUpdate()
{
getTestFloat.Value = myBehavior.testFloat;
}
}
}
Accessing a FSM from a custom script:
Code:
using UnityEngine;
using HutongGames.PlayMaker;
public class UseFSM : MonoBehaviour
{
public PlayMakerFSM behavior;
void Update ()
{
// getting named fsm variables
FsmFloat test = behavior.FsmVariables.GetFsmFloat("test");
// setting named fsm variables
test.Value = 0.5f;
// sending events
behavior.Fsm.Event("test");
}
}
iClone-for-Games とはこれのことでしょうね、3DXchanger5 では、FBXのインポートエクスポートが可能になるので、データがunity などでも使えるツールになります。きっと使えるはずと信じて、購入予定です。
6月にならないと、FBX書き出し対応版にはならないので、まだ様子見ですが、↓サイトに具体的な内容が書かれています。
iClone 3DXchange5 Pre-announce
動画ぽい画像をクリックすると個別の詳細が読めますよ、最初気がつかなかった。
499.95 ドルで FBXもいけるぽいですが、アップグレードの方が安くなるのかどうかは不明です。
アニメーションも可能なら、本当に色々と使える、楽しみです。
で、今だけ無料のDAZ3Dも、勢いでダウンロード、データの相互関係の絵に、DAZ3Dが入っていたので、もしかしたら使えるかもと思いました。
DAZの無料については、検索で探してみてください、詳しく書いたサイトがあると思います。
GDC2012が海外で行われていますが、そこで unity の 4.0情報が少しだけ出ているようです。キャラクターアニメーション関連は、本当に待っていたのですごく楽しみですね。
4Gamersにわかりやすい記事があったので、貼っておきます。
ブレンドするときによく使う、 –1 0 1 の範囲での調整ですね、手で作れば同じことができますが、そういうのがノードでできるようになると、本当に楽です。4.0楽しみ。
ただ、4.0って3.5からアップデート普通に考えたら有料だよね、この間プロ版買ったばかりなのですぐ出たら、ちょっとショックです。(無料なら嬉しいけど、会社潰れても困るし)
もしかしたらFSMとか標準で搭載されると Playmaker購入した意味が・・・なくなるなぁ、しばらくは、アセットのものを買わないで見ていよう。
あと、アニメーションつながりで、今はまだできないけど FBX書き出しができるようになるキネクト対応ソフトも期待しています。
iClone5-Games
値段も手頃なほうだし、試して見れたら購入しようかと思っています。unity と 3dmax 使ってるとFBXデータを直接モーションできると色々と楽なのです。
あとは、ARのライブラリが unity 対応とか出てますが、詳しくはわかりません。
Playmakerは使いやすいです、プログラムというよりもフローに適している、uScriptと同じようなものとして並べられますが、根本的に違う気がしますので同じとして扱うのは個人的に微妙。
両方買ってみて使った感じは、Playmakerは、流れをノードで書いていく、uScriptはプログラムをノードで書いていく、uScriptの方が難しく感じるけど、uScriptの中で作ったものの呼び出しを、Playmakerで行うと便利かも、自分の前方向に移動させたいーとかは、Playmakerだと流れを管理しているものなので個別の細かい動きはちょっと面倒、uScriptだとものすごく簡単だけど、今この状態だから動いてって命令は Playmakerの方が見やすい。(プログラマ視点ですが)
プログラムで考えると、Playmakerは Switch のシーケンス管理で、uScriptは中の細かいオブジェクトの操作ってのがいいのでは? と思います。
Playmaker + プログラムの呼び出し(or Playmakerのプログラム機能でがんばる)
で十分なので、プログラムの呼び出しを 自分で書くか uScriptで書くを選べばいいと思います、uScriptにFSMの機能が追加されると、個人的にはすごく使える気がします。
複合したのできないかな・・。
プログラムの話ですが、
unity 3d で使える、アセットの uScript いまだベータのためか癖が凄いある。
まず、はまったのは Global Update イベントを持っているオブジェクトを Destroy すると、しばらくするとエラーが出ます。(ログで、これは無限ループだって出ます)
ローカルの update でイベントを実行したいだけだったのだけど、それができない。
スクリプトを見たら、メインのupdateに登録されている、そのせいで Destroyすると、カウント数が無限にあがってしまい、そのうちに無限ループだぜってログが出てストップする・・・。 update通せばいいのか?それともメインに登録されたのを削除しなければいけないのか?そもそも使い方が間違っているのか?見当がつきません。
フォーラムには、弾の作り方にそうするような画像があったけど・・・、エラーで落ちるね。
直ることを祈りつつ?回避策で逃げました。
独自のローカル update 作ればいいのかも、そのうちやってみます。
本などでよくある、 updateFixで座標を更新してねがローカルのuScriptでは、できません・・・・。
やり方あるのかな?今のところ不明。
色々といじってみて、簡単ではないけどわかってくれば幅が一気に広がる感じですね。
この間の町並みに、ペンギンボールおなかがふっくらしています、が降ってくるようになりました。
今の知識で簡単なゲームぐらいなら作れそう。
このリンクをクリックで実際に見られます
unity でのお試し
町並みを作るツール UrabanPadで書き出したものを、uScriptで制御してみました。
カメラの制御だけですが、スクリプトを書くほうが個人的には楽でした。
uScriptは何かテストケースを作るのとか、ぼやんとしたいときには凄く便利ですね。
ブレイクとかはることができないのが、ちょっと困りますが書き出したスクリプトを解析できればできる(あれ・・スクリプトがかけない人が使うものではなかった?使うとわかりますが、スクリプトがかけないと結局 uScript を使うのは難しいです、フローを考えたりとか、これをしたいのだけど・・命令はどれって結構なります、unityのコマンドがわかっていてもなります)
場所と機能だけわかればいいのだけど・・リファレンスがないと厳しい。
カメラを回して見られるようにしておきました、はっておきますが、プラグインが必要です。
uScript の画面
UrbanPadの画面
この町並みを書き出しました、色々触ってやっと理解してきましたが、癖があります。
あと複雑な建物を作ると、最終的な書き出しで凄く時間がかかりました。
こっちでテストが見られます。
キーボードの AまたはDでカメラの横移動
WまたはSで上下に少し移動します。
unityプラグインがないと見られません、
同じ場所に違うプログラムが2つあっても両方とも同じものが出るようです。
同時には見られないようでした?
先にあったほうが優先されるみたいで、別ページで開かないと個別には見られないようです。
unity で ipad 用の自分が楽しめる、アプリを作っているのですが、データの保存とロードを行いたくて色々調べてみました。
どうやら、これだー!っていう一個のやり方はなくていろんなやり方があり、絶対にこれみたいな正解はありませんでした。基本的に.NET命令で行うみたいなので .NET の知識が必要なかった私には結構苦行(調べ方から何にも知らないわけです)
同じような人がいたら、ちょっとは助けになるはず。
今回行ったのは、XMLでClassを保存 ipadでできるかどうか不明です(確認してないだけ)、一応 windows では保存できるようにはなったので、世間に情報が少なく調べるの大変だったので情報をはっておきます。
まずは wiki からすぐ使えるソースコードを拾ってきます。
unity wiki で XMLのセーブロードのソースコード
で、unityでC#のスクリプトを作成してください、名前は使用するするクラス名_GameSaveLoad を使ってください。
wikiには javascript バージョンもある。
<注意事項>
ビルドを web にしていると使えないクラスがあるためビルドエラーがでます、unity のビルドセッティングで windows などに変更してください。
maincameraかなにかにスクリプトをくっつけて、保存したい情報のあるオブジェクト(transformコンポーネントがあれば何でもいい)を先ほどくっつけたスクリプトに設定します。実行すると画面に save load のボタンが表示されて、押すだけで保存と読み込みが完成!
ここまでは凄く簡単だ、ただのコピペだし。
次は ArrayListで登録した複数のクラスを読み込む方法を知りたくなるはずです。
クラス入りのArrayListをXML形式で保存・読み出し のコードがあるサイト
こちらを参考に先ほどのコードを改良するだけで、完成します。
気をつけるのは、typeof(System.Collections.ArrayList),new Type[] {typeof(data)}
の Type[] が unity では System.Type[]です。
文章のみでわかりにくいけど、こんな感じです。
久しぶりに記事投げです。
ゲームとかを作れる環境のunityをはじめました、Directorで色々作っていたころを思い出しながら、chepesにアップされているゲームは全部Shockwaveで書き出されていて、作成してたのはDirectorだったんですが、今後は unity に変わっていきます。(最近なんにも作ってないけど)
unityのことをあまり知らない人がほとんどだと思うのですが、公式サイトはこんなところです。
見てもらうとわかるのですが英語です、メニューとか押していって出来ることなどの説明を見る分にはなんとなく色々なことが出来そうなツールだとわかってもらえると思います。
太っ腹の無料でも使えるので、興味がわいたらつかってみてください。(もちろん勉強しないと何にも出来ないのは、あたりまえなので根気は必要です)
で、昔年賀状用に作成した トラペンギン(年賀状にARタグはりつけて、一部の知人に送りつけた飛び出すやつです)の、トラだけをキーボードの入力で操作できるものを作って ぷちちぴーずにはっておきました。
ちょっと下のほう→トラペンギンテスト貼り付け
灰色の地面から落ちると終わりですが、特に何も処理していないのでずっと落ち続けます。
そのほか unity のすごいためになるサイトと、個人的なメモなどのリンクを貼り付けてあります。
特にいろんな動画が見れて楽しめるブログ
WordPress用のWP_unityObjectの設定方法なども一応メモしてありますので、見てみてください。
基本は、Unity関連はぷちちぴーずを更新しますが、こっちにも書かないと検索に引っかからないので書きます。
unity3dをMovableTypeに簡単に貼る方法・・・あるのかなぁ。