Alpaca Soft Blog

ゲーム作る系 草食動物の備忘録

CreateWindowで失敗する

CreateWindowで失敗

Windows7では問題なく起動していたのに、

Windows10でCreateWindowで失敗する。

 HWNDはNULLが戻り、

 GetLastError()は0で、エラー内容が分からない。

 という状況。

ハマったのでメモ。

 

原因

CreateWindowに渡すコールバック関数の引数が、

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

でなく、

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, UINT wParam, UINT lParam);

になっていました。

 

HWND,UINT,WPARAM,LPARAM でなく 

HWND,UINT,UINT,UINT の場合、

Windows10からCreateWindowで失敗するみたいです。

 

後者は、ネットや書籍のサンプルで稀に見かけます。

 

新規プロジェクト作成時にアセット一括追加

Unityで新規プロジェクト作成する際、

[Add Asset Package] のボタンを押すと、 f:id:alpacatech:20180120172815p:plain

 

インポートしたいアセット一覧が出ます、

(※PCでダウンロード済のアセットのみ表示されるようです)

f:id:alpacatech:20180120172822p:plain

 

チェックを入れてCreateProjectで、

最初からインポートされます。

 

AssetStoreウィンドを開かなくても

TextMeshProやDoTween等、

定番なものを一括でインポートできるので便利でした。

 

気軽にテストプロジェクト作成できるし、

ゲームジャム時にスタートダッシュできます。

2017年Unity活動まとめ

 

自分を奮い立たせるために1年のUnity活動まとめ書きます!


1月

RPGみたいなの

冬休みに作成してた、
あることしてダメージを与えるRPG風なやつ。
パラメータをどう調整しようか迷ってるうちに開発保留状態に。
完成させたい作品

 

2月

Hololensハッカソンに参加

twitter.com

後で作ってもらったスクショ。地面適当にしてたから浮いてる。

f:id:alpacatech:20171229230458p:plain

アルパカ動いた楽しい。

やっててよかったUnity

 

Hololensはすごい体験でした。

視野角や価格の問題がクリアできれば、生活の一部に入るかもしれない。

 

3月

twitterには活動報告無かった。

会社でVR周りのやつ試してたかもしれない。

鉄骨渡ったり、スペースハリアーみたいなのとか作ってた。

 

4月

unity1week初参加

unity1weekなるものを知ったので後半から参加

twitter.com

適当にアセット放り込んで作った。

ゲーム性無い感じだったのでとっても悔しかった思い。


5月

Unite2017 Tokyoでボランティアスタッフ参加

ボランティアスタッフは、二人一組シフトで、

案内する仕事とセッション見に行くを交互にやる感じ。

twitter.com

お土産いっぱいもらえた。
懇親会に行ったのですが、

会社の名刺ではUnity話が伸びないから、
個人活動で頑張っていきたいと思いました。

 

 

unity1week ころがり勇者

4月のゲー無を反省してゲームとして楽しめるもの作った。

twitter.com

ランク入り出来なかったけど、

プレイしてくださった方にはとても評判良い。

ありがとうございます。

 

6月

unity1week パズル

twitter.com

パズルゲームに挑戦。

パズル+パズルで難しめのゲームになってしまった。反省。

デザイン手伝ってもらったのでいろいろ学べた。

 

7月

unity1week カジュアルゲーム

twitter.com

カジュアルゲームに挑戦。

雑に作った運ゲーでないゲームデザイン調整できたので個人的に好き。

WebGLがパーティクルに弱いので泣く泣くゲームテンポ下げたのは失敗。

 

 

8月

unity1week レースゲーム

twitter.com

レースゲーム作成に挑戦。

風呂敷広げすぎて細かいところ間に合わなかった。

これもプレイしてくれた方からいい反応。ありがとうございます。

 

9月

シェーダー書いたり

シェーダー書いたり、

ShaderForgeで初ノードベースやってみたり

twitter.com

 

アルパカゲーム作りたかったけど、長く遊ばせる調整難しいエターなる。

twitter.com

 

10月

活動報告無し

 

11月

unity1week シューティング

イワシネタから勢いでシューティング。

twitter.com

弾幕や配置エディタとか作ってがんばりました。

 

www.twitch.tv

実況でプレイしてもらってました超うれしい。

説明不足でレーザーボタンとか押されてなかったので、

ゲーム内で説明書くの大事なのを学んだ。

 

12月

ハンバーガーつむやつ

スクショ映えしそう

SNS共有方法覚えたい。

 

 

 

ファンネルゲーム

ゲームを派手にするのはパーティクルとか活用すればいいのですが、

ゲームバランス調整や視認性考えると難しくなるので地味目に作ってました。

これを打破したい為に、

板野サーカスやホーミングレーザーやファンネルみたいな見た目映えて、

ゲームとしても何とかなるやつ作りたかったのに挑戦。

まだ問題あるけど、

今年いろいろ作ったけど、これが一番ふぁぼられました。

これに関しては、あまりボリュームを考えてないので、

来年アプリデビューとして考えてます。

 

 

総括

今年は、ハッカソン、Unite参加等でいろいろUnityできました。

特にunity1weekのおかげで、

作品を「完成させる」「世に出す」ことの大切さを教えてもらいました。

現状で満足せず、

アプリ化で世界に向け来年も頑張っていきたい所存です。

 

 

来年もよろしくお願い致します。

 

【Unity】積み上げ物理ゲーム制作に挑戦

f:id:alpacatech:20171212211908p:plain

 

作った物

こんな感じの積み上げゲームです。

積み上げた後に、パンを挟んで3秒耐えればスコア化される

チキンレース感も盛り込んだゲーム。

 

経緯

・前から物理ゲームに挑戦してみたかった

・物理ゲームは初めてなのでシンプルな物に挑戦

(風呂敷広げすぎない事もテーマ)

 

・よくある積み重ねゲームですが、
肉だけ挟んだ絵を見てみたいので作成開始。

 

制作について

意外と難しかった物理ゲーム

プロトタイプ

適当に物理設定つけて落とせば何とかなるやろと思って作ったのですが、
そのままだとすぐにどこか飛んでいきます。

 

3Dから2D 

3Dで判定付けるのをやめ、
素材は3D、計算はRigidBody2Dで制御するようにしました。
(当たり判定はUnityが自動的に作ってくれたので楽でした)

 

設定

・摩擦係数などを調整した

・下のパンを移動させる時、単純に移動するだけでは

上の肉が置いて行かれるのでパンと肉で親子関係を構築したりしました。

・クリア時の停止も、timeScaleをいじると全体が止まるのでスクリプト制御しました。

 

インターネットランキング対応

対応しました


使用アセット

モデル 

今回の主役ハンバーガ

 

エフェクト

画面にブラーやカラーバランス等様々な効果をあてることができる

 

 Post Processing Stackの何種類か設定済みファイルです。

Post Processing Stackの設定よくわからないって人はそのまま使ったり、

値見て勉強になるんじゃないでしょうか。

UE4風とかあります

 

 テキストアニメーションを簡単に実装できます。

 

拡大しても綺麗に表示されるテキスト描画です。

 

  様々な数値の補間をコードで制御できます。

 

様々な数値の補間をコードなしエディターだけでも制御できます。便利。

 

 

どこかで見たことあるようなコインと紙吹雪のエフェクトです。

紙吹雪利用しました。

 

音楽

Game Music Pack - SUITE

BGMやジングルたくさん入ったアセット。

 

Universal Sound FX

 

3500種類以上の効果音アセット。

8bitやデフォルメされた音もありますが、リアルな音が多めです。

 

スカイボックス

山や森の上のスカイボックスです。

 

UI

139 Vector Icons

 

アイコンたくさんあります。

素材は白いので色設定で表示色変更することが可能です。

 

拡張アセット

UnityEditorを便利にするアセット群です

フォルダアイコンを変更できます。

利用するフォルダを変えておけばフォルダが多くなった時便利

 

Cut and Paste  Projectビューでアセットのカット&ペーストできます。

フォルダ間の移動がちょっとやりにくいのであったら便利。

コピペは出来ないっぽい(コピペもしたかった...)

 

 

今後の予定

時間があればスマホでアプリ化したいです。

課題は、
Twitterで完成を共有させたい
・デザインを整えたい
・ゲームバランスの調整
(現状みんな似た点数になりそう。テストプレイしてもらって要調整)
Android/iOSのサービスを利用したスコアランキングや実績

スマホの傾きセンサーを利用した操作

等です。

 

 

 

作成したゲームはここで遊べます。

無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

#unity1week 作品をアセットでクオリティアップ

最初に

unity1weekのテーマ「夏」で作っていたやつ

作っていたのですが、他の物作りたくて開発途中で止めていました。

今回、勉強中の

・PostProcess

・TextMeshPro

・TextFx

等を利用してクオリティアップしアップロードしてみました。

 

 

クオリティアップ内容

Post Processing Stack

表示される画像にポストエフェクトをかけるアセットです。

このように変わりました。

説明長くなったので別記事

alpacatech.hateblo.jp

タイトルテキスト

TextMeshPro+TextFxによるタイトルの文字演出を行いました。

 

演出と、表示時間差を指定するだけですぐに作れます。

 

説明長くなったので別記事

alpacatech.hateblo.jp

 

スイカ

スイカは自作です。

スイカ〜テクスチャ&パターン作成

ここを参考にテクスチャを作り

sphereのマテリアルに設定

 

オンラインランキング

対応しました

 

使用アセット紹介

画面演出

Post Processing Stack画面に様々な効果をつけます。

 TextFXテキストアニメーションを楽に対応できます。

TextMesh Pro拡大しても綺麗に描画できるテキスト

 Pixel Arsenal ピクセル風パーティクルエフェクトです。

最初から光っているのでブルームと組み合わせにくい。

 

キャラクター

SDこはくちゃんズ・小碓学園夏&冬制服モデル - ダウンロード - UNITY-CHAN! OFFICIAL WEBSITE

おなじみSDユニティちゃん。

Optimize, SD Kohaku-Chanz! AssetStoreには最適化されたバージョンがあります。 

ポリゴン数は半分以下。 

 

HQ Fighting Animation FREEパンチなどのモーション

 

背景

Island Assets 背景に利用

Grass Road Race ランナー系ゲームに使えそう。今回はスカイボックスを利用

 

その他

 139 Vector Icons 無料の139種のアイコンです。便利!

 

 

 

 

 

以上。

 

作品はこちらで遊べます。 

無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

【Unity】TextFxを使ってテキストアニメーション

 

アセット説明

テキストの演出を行うアセットです。

↓PV

www.youtube.com

 

実際に使ってみた。

 

WebGLのデモ版

Text FX Unity Plugin Documentation

↑クリックでドキュメント&WebGLデモ

f:id:alpacatech:20171130125059p:plain

Intro テキストが出現した時の演出

Main 常駐している時の演出

Outro 終了時の演出

 

使い方

Unity上での設定

 Unity上でのツールもサンプルと同じ感じです

(FullEditorで細かいカスタマイズも可能)

 f:id:alpacatech:20171130144305p:plain

PlayOnStart チェックを入れると実行時に再生。

Delay 実行する時間差。

 

Intro / Main / Outro は演出です。

開始、ループ時、終了時

たくさんあるのでデモページで確認してください。

 

今回の件だと
UNITYCHAN!の文字 Delay = 0

真拳の文字 Delay = 1.5

すいか割りの文字 Delay = 3.0

クリックで~の文字 Delay = 4
で勝手にポンポンポンと出てくれました。

 

スクリプト

uGUI版の場合

public TextFX.TextFxUGUI textFx;
 再生
    textFx.AnimationManager.PlayAnimation(); 

 

再生中か
 if(textFx.AnimationManager.Playing){
// 再生中
}

 

 

 

 

TextMeshPro/NGUI に対応する

TextMeshProにも対応していると書いてあるのですが

アセットインポート後すぐ使えるのでなく、 

TextMeshProもインポートし、

 

 TextFx/3rd Party Asset Support 内にpackageがあるので、

それをまたインポート(ダブルクリックでいいと思います)

 f:id:alpacatech:20171130142350p:plain

 

すると、

メニューにTextMeshProのTextFxバージョンが追加されていました。

f:id:alpacatech:20171130142821p:plain

 

NGUIは持っていないのですが、同じようにpackageインポートで行けると思います。

 

 

最後に

TextFxは、UIだけでなく、

3Dにも対応しているので、

ゲーム内の演出にも利用できそうです。

 

 

 

 

 

【Unity】 Post Processing Stackを色々設定してみた

はじめに

今回はこのアセットを利用しました。

 

画面に効果がかけられます。

適当に設定するだけで、こんなに変わりました。

  

使い方

docs.unity3d.com


今回の設定はこんな感じ。

f:id:alpacatech:20171129021835p:plain

 Antialiasing

ジャギジャギ感をなくします。全体の絵がなじみます。

AmbientOcclusion

周辺光が届かないところを暗くする?

Doc:JA/2.6/Manual/Lighting/Ambient Occlusion - BlenderWiki

陰が引き締まる感じです。

Depth Of Field

指定の距離以外をぼかします。カメラのフォーカスみたいな。

手前と奥をぼやけさせる設定です。

Bloom

明るいところを輝かせるような効果です。

f:id:alpacatech:20171129021955p:plain

ColorGrading 

画面全体の色補正です。

今回は暗いところと明るいところをくっきりさせました。

 

f:id:alpacatech:20171129022028p:plain

Vignette

 画面の周りを暗くする

 

Bloomが人気ですが、

それ以外にも雰囲気出せるものがいっぱいありました。