準惑星ケレスの光る物体の解明が待ち遠しいです。(氷説が有力みたいですが)習作ゲーム作りの方は、モデリング、リギング、アニメーション、テクスチャとUE4外での作業が多く、なかなかUE4へ戻ってこれません。見せるものが無いので、Blender上での敵キャラ・アニメーションを録画してみたり...。Blenderは2.74になって、FBXエクスポートで書き出したFBXファイルとUE4との相性が、だいぶ良くなったような気がします。AnswerHubに質問していました、もうその存在を忘れかけていた、つい先日、教えてもらう事ができました。AnswerHubどうやら、シンプルに一発でエクスポートする方法があるわけではなく、UE4.7.6現在としては手作業でマクロ名などを修正して、地道にエクスポートしていくのが正解のようでした。クラス数が多くなると面倒ですね。他の方の回答で、Pluginとしてパッケージ化すると、どのプロジェクトでも使えるよと教えて頂きましたが、まだそこまでやりたいと思わなかったので、まだ試していません。Painterの勉強用にオルメカくんを作りました。きれいにHeightマップを作って、それをDisplacementマップとして利用すれば、UE4上で鼻などを立体的にレンダリングできるかな思い、モデルの方は敢えてのっぺりとさせておきました。その辺りの事が掴めていません。ColorマップをNormalマップに変換できるのか、まだ分からないので、とりあえず今のところは、Normalマップ、Displacementマップ無しでマテリアルを設定してます。オルメカくんの顔がのっぺりしたままの状態となってます。これぞフラットデザイン...。(床タイル)Tweet習作ゲーム、久しぶりの進捗です。PainterでUVに張り付ける作業を行いました。これはボツになったマテリアル。本当はUE4のマテリアル機能を駆使して、ループパターンが分からないように部分的に汚しを追加したり、水溜りを追加したりしたかったのですが、如何せんまだそこまでマテリアルを使いこなせてません。その辺りを段階的に学習できるチュートリアルがあるといいのですが、なかなか見つけらず困っています。5の方ばかりやってたので、UE4を忘れないかと心配です。UE4、Blender、Substance、ヘビーなツールを同時に使っていくのは、なかなかチャレンジングですね。5の基礎を覚えるのに丁度いいチュートリアル動画TweetUE4習作ゲームのマテリアル作成をするにあたって、いろいろツールを物色しています。Cloudの契約をするとか面倒なので、まず先にSubstanceの方をトライアルしてみました。Designerの方らしいので、そちらの方を先に勉強することにしました。Designerもノードベースのマテリアルエディタです。なんか覚えることが沢山ありそうで挫けそうになります。最初、公式のドキュメント形式のチュートリアルを見つけたので(URL失念)、そちらをやってみましたが、終わった後、何か習得した感じが全くしません!それで、他に勉強になる素材はないかと探し回り、とても良いのを見つけることが出来ました。(ステージ遷移)Tweetだいぶゲームの機能の実装が進み、重要なルールは仮状態にしろ、だいたい入れることができました。今回は、キーを一定数集めるとアイテム(現段階ではフラッグ)が出現し、それを取ると新しいステージに遷移できるようにしました。現在はテストのため、1つのキーを集めるとフラッグが出てくるようにしてます。今後は、モデルやマテリアルにも、手を入れて行きたいです。(潰れ演出)Tweetこんにちは。真実の証明」を観て、後味の悪い気分を味わっております。習作ゲームは、敵も拳に潰されるようになり、いよいよカオスちっくになってきました。潰された時に血糊を出すようにしました。(怒りの拳)Tweet新キャラ「拳(こぶし)」を追加。プレイヤーを狙って拳が振り下ろされます。それから前回の爆弾の爆風で、敵も吹き飛ばされるようになりました。(爆弾)Tweet爆弾っぽいものが出てくるようにしました。爆弾のモデルは仮のものです。プレイヤーだけですが、爆風の影響を受けるようにしました。今回、目に見えない部分で、いろいろBlueprintを書きなおしました。Blueprint内でいろいろ直書きしてたノードをコンポーネント化しました。これで使い回し&部分変更がしやすいようになりました。Osakaで行われたセッションが、動画で公開されてまして、ちょうど僕のようなUE4で何かを作り始めたばかりのものにとっては、ヒントとなるような事が満載で嬉しかったです。開発の手を休めてでも観るべきです。中村氏のセッションBlueprintの知られざる機能を紹介。ソースコントロールでBlueprintのマージとか、キャストしすぎんなよインターフェース使えよ!とか、いろいろありがたい話しが聴けます。キャスト多用については、そもそもがUE4のチュートリアルビデオの中でやりまくってたような気がするので、この辺りから改めていかないと、まずいのではないかと思いました。ロブ氏のセッションBlueprintでコンポーネントを作れるようになったので、これを使ってAI的なアルゴリズムを追加していくぜ的なデモを見せてくれます。(体当たり攻撃)Tweetプレイヤーのキューブが、敵に反撃できるようになりました。ほんのちょっとだけ、バンパーで反射した時の一瞬だけですが。その瞬間、赤色に変わります。UE4のBlueprintでゲームを作り始めて1〜2ヶ月程度でしょうか?まだまだ分からないことが多いのは当然ですが、何よりもまず今感じてるのは、自分自身がBlueprintならではのコーディング(@aizen76氏言うところのノーディング)、及び、開発手法が体得できていないことです。新しく始める事につきものの、初期のジレンマとでも申しましょうか。C/C++などの手法に慣れていて、そのままの手法でBlueprintでノーディングしようとすると、どうしても見通しが悪いというか、助長性を感じるところが出てきてしまい、なかなか先に進まないというのが、基本的なパターンとしてあると思います。Timelineを使ってみました。(アイテム追加中)Tweet敵のAIをちょっといじったら、プレイヤーの追跡が少し厳しくなりました。今はまだ調整段階ではないので、とりあえずこのままで。緑の三角コーンは仮のアイテムBOXなんですが、今は中に入っているアイテムを追加していってます。Panelの上に動的に別のUMGを載せることに挑戦したのですが、このUMGというシステム、細かいところの仕様がいまいち分かりづらいですね。あとUMG自体がまだ開発途中という感じで、いろいろ足りてない気もしました。僕の知識不足なのかもしれませんが。唯一参考になったのが、こちらのサイトさんの記事でした。動的に配置するテキストをセンタリングしたかったのですが、サイズ関連の取得が駄目なせいか、今のところうまくできてません。こんなところで悩ませられるとは...。UMGは静的にものを配置してデザインするのには楽でしたが、Blueprintから動的に物を配置することも、もっと単純明快にできるようになるといいと思いました。(自動生成マップ)Tweet前回よりちょっと時間が開いてしまいましたが、まだ進めていますこのシリーズ。今回はなんと、マップの自動生成に挑戦しました。ま、ご覧のとおり、そんな凄く無いんですが。コントロールする軸アイコンのことです。自分のプロジェクトで、いつの頃からか、トランスフォームツール自体を操作する時には問題ないのですが、オブジェクトの詳細パネルで座標を入力して移動すると、オブジェクトは移動するのに、トランスフォームツールがそれに付いてこない事象が現れました。詳細は以下のビデオにおさめてあります。(バンパーアニメーション)Tweet前回のバンパーにアニメーションを入れました。プロトタイプ段階なので、あまり細かいところをやってもしようがないんですが、UE4でアニメーション関連の操作をあまりやってないので、いい勉強と思い、勢いやってみたわけです。UE4でのアニメーションシステムは、主にマチネとスケルタルメッシュアニメーションがありますが、今回は怖くて今まで触ってなかったスケルタルメッシュアニメーションに挑戦しました。ぼよーんと跳ねるだけのアニメーションなので、UE4内で完結できるマチネを使った方が良かったのかもしれませんが、ま、色々勉強ということで...。(実はその辺りの事情すらよく分かってなかった)とりあえずBlenderで、バンパーにボーンを仕込んで、ぼよ~んとやってみました。Userとか、すごく複雑に感じるのですが、みなさん如何でしょうか?というかアクションを作った後にオブジェクト名を変えただけで、リンクが切れたような変な状態になってしまって、今、途方にくれているのですが、どうしたら直るのでしょうか...。(バンパー)Tweetバンパーっぽいものを入れました。ピンボールのやつみたいに、触れると、びよーんと反射するやつです。アニメーションが無いんで、気持ちよさが今ひとつ、ふたつ...。敵が多すぎて、まともに動作チェックできてないように見えますが、テストする時はちゃんと敵の数を減らしてます。(障害物)Tweet敵その1のAIを変更しました。これまでは4方向移動にこだわっていたのですが、あまり得るものが少なかったので、UE4のNavMeshシステムをそのまま使うことにしました。あと、まだ課題は残っていますが、障害物などを置けるようにしました。プレイヤーと障害物のコリジョン判定は、箱を動かすだけなのでさぞや簡単だろうと思われるでしょうが、プログラム的に色々ズルをしてるので、案外面倒くさかったです。ここまでやってみて、UE4のコリジョンシステムは、案外、カスタマイズしづらいなと思いました。慣れてないだけかもしれないので、あまり大きな事は言えないですが。ドキュメントはもうちょっと詳しく書いて欲しいです。(体当たり)Tweet敵(その1)から体当たり攻撃を食らうようになりました。体当たりで吹き飛ばされた瞬間、敵のAIが機能停止を起こしているように見えるのは、きっと気のせいではありません。UE4のBlueprintは、使い慣れればすごい武器になりそうですね。今はまだ不具合の場所を見つけるのが大変です。(落下)Tweetプレイヤーが舞台から落下するようになりました。それで緊張感がましたかと言えば、敵との判定がまだなので、まだまだです。Overを表示させたいので、UMG(Widget)を使って表示させるようにしました。ついでに仮のスコアリング処理もいれてみたり。UMGのMはMotionのMですが、まったくMotionさせてません。(敵その1)Tweetまだまだ分からない事だらけのUE4。敵(その1)の動きを作ってみました。Systemを使って頭良さそうに動かそうとしてたんですが、4方向移動とかが、逆に、難しそうだったので、悩んだ挙句、もっとシンプルなアルゴリズムを使うことにしました。機能が豊富なエンジンを使うと、ついついゲーム中のアルゴリズムもリッチな方向にシフトしてしまって、いけないですね。4に元々入っているアセットと、マーケットプレイスの無料アセットだけを使って、みごとな風景を作成する動画です。約2時間で作ったという事だから驚きです。最初、木を植えるのに、フォリッジモードを使おうとしているように見えますが、さり気なくやめたところが、あるある!という感じで可愛いと思います。(再スタート)Tweet前回までのプロトタイプを捨てて、新しくプロジェクトを作りました。Blueprintでオブジェクトやカメラを動かす方法がだいたい掴めてきたので、今後はサンプルゲームのゲームデザインを元に色々試していきます。Demoが公開されましたが、その制作スタッフによる公演の動画が公開されていました。4上で全て30fpsで動作しているそうです。ライティング技術や、野生動物のAIについても軽く触れられています。(アイテムゲット)Tweetアイテムを取ることができるようになりました。サンプルだから、ただ削除すればいいのに、なんとなくフェードアウトして消えて欲しくなって、ちょっとやってみようと思ったら、なんとまぁ面倒なこと。Instance(ダイナミック・マテリアル・インスタンス)に変換してやらなければなりませんでした。Widgetでやってしまったので、まったく趣きが違います。こちらは文字の色の設定に関数をバインドしてやって、Blueprintからその関数をコールして、アルファ値を0に近づけることで行いました。今回はマテリアルが1コだけのモデルなのでまだましですが、これがどんどん増えていくと大変だなぁと思います。簡単に実現できる方法があるんじゃないかと疑ってますが、どうでしょうか?あと画面の回転をやめて、ラジコン操作風に戻しました。こちらの方がいいですね。IMEが問題かもしれないTweetWindows版UE4で、Blueprintの編集を2時間ほどやってると、だんだんノードの貼付けなどがもっさりしてきます。そんな場合は諦めて、UE4を終了して立ち上げ直すと、またすっきり動くようになります。IMEとの相性問題のようです。根が深い問題なのかも。情報によると、Google日本語入力にすれば改善するかもしれないとの事なので、しばらくそちらで様子を見てみることにしました。海外製のゲームやソフトはIMEを考慮してない場合が多くて、文字入力シーンで間違ってIMEを起動したり、IME関連のキーを押してしまうと、その途端、ソフトが「応答なし」状態になってしまい、泣かされることが多いです。(アイテムっぽいものが出た)TweetBlueprintは、プロググラマーほど最初は手こずるかもしれません。WhileとかForのループボディの書き方とか、まだ体感に落ちていないのでいろいろ制約を感じてしまいます。C++だと5〜10分あれば書けるコードでも、なんだかんだで2時間ぐらいかかった!やばいっ(笑)言うなれば、レシプロパイロットが、いきなりジェット戦闘機を操縦する感覚でしょうか。習作ゲームはアイテムっぽいものがでました。UnrealEngine42015年3月11日水曜日Blueprintで数学式を書く超便利ノードTweetBlueprintを含むビジュアルスクリプティングで何が面倒かと言えば、複雑な計算式を書く事が挙げられます。Blueprintで計算式を文字列で書くと、変数ピンが現れて、そこに変数や定数を接続すれば計算してくれるノードがあればな〜、欲しいな〜、とずっと思っていまして、Twitterでもつぶやいたりしてたんですけど、誰も教えてくれませんでした。