PaperSloth’s diary

Unity(C#)、UE4(Blueprint/C++)についての記事を書いたり日常のことをつぶやきます。

第1回ノードを組む会開きました!(テーマ:ホーミングミサイル)

こんちは!

今回東ゲ部にてノードを組む会を主催しました。
プロジェクトデータとか諸々公開します(*‘∀‘)
f:id:PaperSloth:20160228222957p:plain

・目次

東ゲ部とは

ノードを組む会について

制作したプロジェクト

まとめ



・東ゲ部とは

ゲームを作っている人、ゲームに興味のある人達が、気楽に集まれる場所です!

東ゲ部
関東ゲーム制作部

東ゲ部のイベントページ
関東ゲーム制作部 | Doorkeeper

今回のイベント開催にあたって、東ゲ部部長さんに色々とご協力いただきました。
今後も東ゲ部さんで毎月開催できると幸いです。


・ノードを組む会について

ノードを組む会はテーマに沿って参加者にブループリントを制作してもらい、それを共有・意見交換するイベントです。
初心者、プロ問わず楽しくやっていければと思っています。

現在、第2回のテーマ絶賛募集中です!
第2回は4月に開催予定です!


今回のテーマは「ホーミングミサイル」
イベントページ
【第1回】UE4ノードを組む会 - 関東ゲーム制作部 | Doorkeeper


動画配信もやりました('ω')
https://gaming.youtube.com/watch?v=cLmVUVrNnKc


・制作したプロジェクト

今回私が発表したプロジェクトを公開しています。
「ホーミングミサイル」
Dropbox - NodeProfession01.zip

ホーミングミサイルを作ったついでに作ったミニゲームも置いています。
「イスのexe」
Dropbox - isu.zip
f:id:PaperSloth:20160228224056p:plain


まとめ

ホーミングミサイルというテーマですが、
様々な実装方式が見れて非常に面白かったです。
・海外動画を参考に初めてのブループリントに触れた方
・かっこよく剣を飛ばされた方
・回避アニメーションの導入に挑戦された方
・自前でのホーミング挙動の計算をされた方

色々な組み方、色々な考え方があって本当に勉強になりました。


今回は初めてのイベント主催で何かと至らない点が多々あったと思います。
今後もこういったイベントはがんがんやっていきますので、温かく見守っていただけると幸いです。


以上です!


ではまた!

Unity開発応用3(Unityから外部アプリケーションの実行)

こんちは!


f:id:PaperSloth:20150603002612j:plain
今回は飛び出せUnityな記事を書いていこうと思います。
Unity4系でも動作する拡張となっております。
今回使用するのはUnity5.2.1p2です。

特にUnityから飛び出すわけではありませんが、
拡張を行うことでUnity上で幾つかの作業を行うことができるようになると思います。

目次

・Unityから外部アプリケーションを起動してみる
・独自のbatやコンバータもUnityから起動したい場合
 (個人開発向け、まだまだ改善の余地あり)
・もう少し仕事、チーム開発向けにするには(僕はやらない
・まとめとコード

・Unityから外部アプリケーションを起動してみる

 Unityから外部アプリケーションを起動するのはとても簡単です。
 UnityというよりはC#の機能になります。

 Processクラスを使用してアプリケーションの起動から終了まで待機する
 Processクラス:https://msdn.microsoft.com/ja-jp/library/system.diagnostics.process(v=vs.110).aspx

 System.Dianostics内にあるため、using定義するか
 System.Dianostics.Processと定義しましょう。


 外部アプリケーションの起動とは
 簡単な例でいうと、ファイル名を指定して実行( Windowsキー + R )が伝わりやすいでしょうか?
 そこでcmd.exeと入力すれば、コンソールが立ち上がると思います。

コード例:コンソール立ち上げ
System.Dianostics.Process process = new System.Diagnostics.Process();
process.StartInfo.Filename = "cmd.exe";
process.Start();
process.WaitForExit();

 たったの4行でできちゃいます。
 簡単ですね。
 StartInfo.Filenameで起動するアプリケーション名の指定
 Startで起動
 WaitForExitでアプリケーション終了まで待機

※ここで一つ注意点

 WaitForExitで待機している間、Unityを操作することができなくなります。
 そのため、長時間変換に時間がかかるような外部のツールによるデータ変換処理などには向いていない。

簡単な拡張の例
using UnityEngine;
using UnityEditor;
using System.Collections.Generic;

public class BootExternalApplication
{
    // UnityのMenubarにカスタムを作成。
    // Custom部分をAssetsとすることでProjectViewからの呼出しができて便利
    // ( ProjectViewから右クリックで呼び出し可能となるため )
    [MenuItem( "Custom/Application/Console" )
    public static void OpenConsole()
    {
        System.Dianostics.Process process = new System.Diagnostics.Process();
        process.StartInfo.Filename = "cmd.exe";
        process.Start();
        process.WaitForExit();
    }
}

・独自のbatやコンバータもUnityから起動したい場合

 (個人開発向け、まだまだ改善の余地あり)

 先ず、ファイル名を指定して実行( Windows + R )で呼び出すのと同じような仕組みを作る。
 手順①
  CドライブやDドライブなど任意の場所にアプリケーション登録用のフォルダを用意する。
  ファイル名はCustomApplicationとか
f:id:PaperSloth:20160204222606p:plain

 手順②
  システムプロパティの起動
  ファイル名を指定して実行( Windows + R )から
  sysdm.cplを実行
f:id:PaperSloth:20160204222307p:plain

 手順③
  詳細設定から環境変数の追加。
  詳細設定内の環境変数から"ユーザー名"のユーザー環境変数で新規を押す。
  変数名:path
  変数値:C:CustomApplication( 先ほど作成したファイルパス、ファイル名 )
f:id:PaperSloth:20160204223439p:plain

f:id:PaperSloth:20160204223714p:plain

f:id:PaperSloth:20160204223551p:plain


 手順④
  先ほど登録した場所に起動したいアプリケーションや
  アプリケーションのショートカットなどを登録する
f:id:PaperSloth:20160204222755p:plain

例:Skypeのショートカットを立ち上げる( 絶対Unityからは使わないと思うけどw )
using UnityEngine;
using UnityEditor;
using System.Collections.Generic;

public class BootExternalApplication
{
    [MenuItem( "Custom/Application/Skype" )
    public static void OpenSkype()
    {
        System.Dianostics.Process process = new System.Diagnostics.Process();
        // ショートカットの実行はexeではなく.lnkです
        process.StartInfo.Filename = "skype.lnk";
        process.Start();
        process.WaitForExit();
    }
}

・もう少し仕事、チーム開発向けにするには(僕はやらない

 先ほどのツールへのショートカットパス設定をツール等を作成して、簡単に行えるようにする
 システムの環境変数追加とかをなんだか敷居が高い、めんどくさいと思う人がいる
 あと間違いを防ぐ意味でもツール化できると便利


 パスの設定や起動アプリケーションを
 Unity Preferencesからも編集可能にする
 これはPreferencesの拡張で直ぐにできます。


 毎回コードを書いたりするのでは不便すぎる
 アプリケーションのパスの設定のみで呼出し可能になるなど、
 コードを改変するコードを書く( できるかは知らない )


・まとめとコード

 引数にコマンドを指定して呼び出すことも可能なので、
 任意のアプリケーション起動と共にコマンド実行が可能。
 例えば、SVNのUpdateを行うなど

 因みに僕はcmd.exeのコマンドにexitを入れるという何もしないテストコード書いてましたw

using UnityEngine;
using UnityEditor;
using System.Collections.Generic;

public class BootExternalApplication
{
    [MenuItem( "Custom/Application/TortoiseSVN/Update" )
    public static void Update()
    {
        StartApplication( "TortoiseProc.exe", "update" );
    }

    /// <summary>
    /// 外部アプリケーションを起動する
    /// </summary>
    /// <param name="filename">アプリケーション名</param>
    /// <param name="command">コマンド</param>
    private static void StartApplication( string filename, string command = "" )
    {
        System.Diagnostics.Process process = new System.Diagnostics.Process();
        process.StartInfo.FileName = COMMAND_PATH + filename + LINK;
        if( !string.IsNullOrEmpty( command ) )
        {
            process.StartInfo.Arguments = "/command:" + command;
        }
        process.Start();
        process.WaitForExit();
        return;
    }
}

以上です!

ではまた

日常日記 2016/02/02

こんちは!


今回はGGJ2016に参加してきましたので、少し自分用にまとめます。

目次

・そもそもGGJとは
・成果物
・苦労した点
・私的ゲームジャム攻略方法
・まとめ

・そもそもGGJとは何か

http://ggj.igda.jp/
Game Jam:ゲームを作りたいという思いの元に、様々な人が集まりゲームを作る。
大半がその場でチームを決め、テーマとかあったりなかったり。

今回のGGJのテーマは"RITUAL"
意:儀式、典礼、決まったやり方、ある行いを病的に繰り返すさま。
ほとんどのチームが儀式という解釈でゲームを作成したと思います。

人数は1~8人ほど
プロ、学生、職種問わずです
持参物ゲームが作りたいという熱意、PC
期間:48時間( ちゃんと睡眠はとろうね・・・ )

要するにゲーム作りたーい!という人が集まってこねこねと作る会

・成果物

f:id:PaperSloth:20160202202017p:plain
f:id:PaperSloth:20160202173039j:plain

ジャンル:タワーディフェンス x 音ゲー
( 音ゲーにはなりませんでしたw )

操作は画面下の木魚の各色と同じ色のボタンをタイミング良く押すことで灯篭火炎放射が作動しますw
カメラ操作もできるので、遠方から全体を見渡すこともできます。


f:id:PaperSloth:20160202201948p:plain
なんとか形にすることができました。
寝ないでやればゲーム完成余裕ですね(

・苦労した点

①会場 is .....

電車遅延 + 方向音痴 + 悪天候 + 残雪 + 暗闇
会場にたどり着くという大きな壁にぶち当たり僕のチキンハートは崩壊しました

VCS( バージョンコントロール(管理)システム )

有名なのがSubversionやGitやBitbucketやPerforceなどなど
簡単にいうとチーム作業でバックアップ取ったりデータ共有したりするよ
仕事では必須ですね

Q.GameJamではどうするの?
A.宗教上の理由でどうしても使いたければ自己責任でどうぞ

この話はよく意見が分かれますね。
VCS使う派と使わない派
僕は"ゲームジャムでは"使わない派です。

理由

・会場のネット環境が安定しているとは言えない。
・全員が使いこなせる保証がない
 ( 教えるコスト、事故を起こした時のリスクこわい )
・構築、共有、事故対応など意外と時間を取られがち

解決策

・俺がVCS
チームメンバーの作業データを僕というVCSがマージしました(めちゃ大変)
本当はエンジンの知識が深く、経験豊富なベテランが行うと安心、安全

VCSオレの仕様

デメリット
・コミットログを表示、記録する機能がない
・競合の解決の機能が実装不十分で時間がかかる、または失敗する
・差分表示機能が実装されておらず、マージに時間がかかる
・長時間の連続稼働すると深刻なエラーをはいて落ちる( 気絶 )

メリット
・ネット環境が要らないよ( 要USB )
・日本語での対話型でコマンドを打てなくても使用可能
 他職種、他業界のVCSに馴染みがない人でもすぐに使えるよ!
・バージョン管理の他にも制作進行、エフェクト制作、レベルデザイン
 プログラミングなどなど他のVCSにはない機能が使えるよ!

オレ雇えよ

③おんがくせ・・・方向性の軌道修正

仕事の都合で遅刻組の僕が会場に着くとゲーム企画ができていた( やったね

ふむふむ
タワーディフェンスゲームだよ!( ステージ数は未定\(^o^)/ )
音楽ゲームだよ!( うっ、頭が )
・メンバーの経験、スキルは不明だよ!

初日の感想
 これはできそうにな・・・や、やるぞ~

で、本当に完成しませんでしたー!
というわけにもいかないので( GGJは時間にゆとりがあるので意地でも完成させ
たかった )

少し軌道修正させていただき、なんとか完成しました。
詳細は後ほど

・私的ゲームジャム攻略方法

①先ずは、飯だ!酒だ!エナジードリンクだ!

先ずチームが決まったら企画会議?
答えはNo!!
先ず名乗れよ!
というわけで自己紹介しましょ

役割は?希望は?得意不得意は?などなど

で、兎に角早く飯に行く
とりあえず、ご飯でも食べながら酒でも飲みながら談笑。

理由

・打ち解ける、テンション上げる
 これから2,3日一緒に作業する仲間です。
 兎に角テンション上げる!雰囲気良くする!
 そうすることで後々作業がしやすい、無茶ぶりもしやすい(
 笑いとったもんがちやで

・メンバーの能力を知る
 何が得意か?何をやりたいと思っているのか?
 これによって意外と作るものの方向性が決まることも・・・

 やりたくないことばっかりやるのはつらいですよね!
 仕事じゃないし、失敗してもいい
 兎に角、何かやってみる、挑戦してみる!

あとエナジードリンクはほどほどにしましょう・・・
別のゲームジャムでは1日10本程レッドブルを飲んで皆で妖精が見えるとか非常に危ないこと言ってました(-人-)

②ところで、このゲーム何がしたいの?何をさせたいの?

今回のGGJで主に軌道修正したのがここです。
これって音ゲーなの?タワーディフェンスなの?ゴールはどこなの?
という僕の疑問を少しずつ紐解いていきました
( 決してアイデアがダメというわけではなく、期間、作業量を考慮すると難しかっ
たという話 )

先ず、ほぼ全てのゲームジャムにおいて
α版、β版、マスター版などの期間、納期があることでしょう。

で!
とりあえず手を動かす!ゲーム作る!
だけじゃ意外と完成しないw

・ゴール、ビジョン、目的地の設定

 最低限の遊びを明確にする

 メンバー全員がどんなゲームかを想像できていないと難しい
 既存のタイトルを例に出せばいい
 例:マリオ64とかFallout4とか
   とりあえずタイトルを上げれば知らなくても動画で雰囲気とか操作感とか分かる

 最近だとスマホゲームが例だといいかも
 ・画面見せればすぐに伝わる
 ・操作が超シンプル
 例:PS4クオリティーのアングリーバード作ろうとか
   フォトリアルな白猫プロジェクト作ろうとかとか


 企画会議は夢が広がる!
 あれもこれも面白そうなアイデアが沢山出る。
 でも、納期がある(しかも短い)ので、どこかに現実的な落としどころがある。
 例:壮大な冒険の物語は難しい(広大なマップやアイテムどうするの)
   20種類の武器を使い分けて戦う(素材や実装どうするの)
 などなど・・・
 具体的な解決方法、落としどころはα版、β版にて述べます。


・α版

どこまで作る?
どこは絶対に完成していないとゲームとしてまずい?
何をしたいゲームなのか何ができないとまずいのかを明確にする
それだけは意地でも実装する間に合わせる
クオリティー、レベルデザインとかは後回しでもいい

例:FPSゲーム
・プレイヤー動く
・弾を撃つ
・弾が敵に当たる
・弾を当てれる敵がいる
( ステージ、音、UI、敵AIなどまだまだ )

・β版

「こいつ、動く!動くぞ!」が目標
とりあえず起動する戦士がんだ・・・起動する遊べるフローができている
例:FPSゲーム
・タイトル、クリア、ゲームオーバーなどのフローがある
・SE、BGMが鳴ってるとテンション上がるよね
・とりあえず遊べるステージがなんとなくできている
( スコア、ランキング、タイムアタックなどまだまだ )

・マスター版

「見せてあげようラピ〇タの雷を」
あとはド派手にしたり面白くするだけ
例:FPSゲーム
・隠しコマンドで唐突にラ〇ュタの雷が落ちる
・ジェットパックで空飛んだりしちゃう
・武器の種類が豊富
・壮大なストーリーがある

α、βが順調ならとにかくいろいろできる
大体が順調に進まない
というわけでここでまだまだβに向けての作業を行うことがほとんど
上記4点が最低仕様に含まれているとまず完成しない( 意外と皆気付かない )

・まとめ

Unity5やUnreal Engine4などの最新のゲームエンジン使えばゲーム作り余裕です
ね!!!

嘘です。ごめんなさい。(でも、あながち間違いではないかも)

・本当のまとめ

僕からは3点あります

①技術、知識は特に必要ない

 そんなものはできる人に任せて自分のできること、やりたいことに挑戦すればいい
 もちろんエンジン、ツールをばりばり使いこなせればベスト
 でも、高校生や専門、大学の1年生、他職種の人間にそれを要求するのはあま
りにも酷
 振れるタスク、仕事がないという状況はまずありません。
 あったとしたらそれはリーダー役の経験不足です。
 リソース探し、案出し、簡単なレベルデザインは特別な知識や技能が要らないはず

②完成させよう

 とりあえず、完成させよう
 ださいデザインとかクソゲーでもいい
 バグだらけでもいい
 とりあえず、完成させて終えよう。

 やりきること、1本作りきることは大事
 「このゲームはワシが育てた」って言えるだけで満足
 完成しないと言えないし、もやもやだけが残る

 完成させることで自信に繋がるし、達成感がある。
 これについては長くは語らない。
 語っても伝わらない。
 是非とも自分の手で完成させてみてほしい。

③元気ですかー?

 技術、知識を得れた
 ゲームを完成させた

 それだけでは僕は不満しか残りません。

 チームの雰囲気どうでした?
 ・お通夜モードでしたか?
 ・ぎすぎすオンラインでしたか?

 そんな状態になってしまっては意味がありません。
 ゲームを作りたい熱意、行動力を持った人間が集まってゲーム作るんですよ
 感想は「楽しかったです!」だけで終えたいものです。

 もちろん、各々に課題は残ります。
 もっとできたかも!次こそはという悔しさも残ります。

 でも、最後は楽しかった!
 次こそは「ぼくのかんがえたさいきょうのゲームつくる」
 そんな思いを抱いて終わりにしましょう。

以上です!

ではまた_(:3」∠)_

日常日記 2016年の抱負

こんちは!


あけましておめでとうございます。
今回は2016年の目標を書いていこうと思います。


昨年はC89にて知り合いの方のブースで売り子をさせていただきました。
やっぱり自分で作ったゲームをお客さんに直接買ってもらいたいですね!

ということで今年の目標は 個人でゲームを1本作成します('ω')
規模、完成予定は特に決めていませんが
先ずは体験版で出展できると判断できるレベルを目標とします。

ジャンルはアクションゲームを作ろうかと思っています。


また、今年もVR元年らしいので
VRコンテンツも機会があれば作成したいです(*‘∀‘)
(HMDは今のところ買う予定はありませんが・・・)



今年の大まかな活動としては
・UE4を用いた制作技術の習得
・個人でのゲーム開発プロジェクトのスタート(目指せコミケ、デジゲー博出展)
・環境を変えるための努力
・機会があればVRコンテンツの開発

簡単ではありますが、決意表明として書き記しました)^o^(


あと、ゲーム制作と平行でUE4で自作Framework的な機能まとめも作っていきます。
f:id:PaperSloth:20160107223758p:plain


今年もよろしくお願い致します。
ではまた!

初めてのあんりあるえんじんよん(Unreal Engine4)

こんちは!

今回は私がUE4の導入で参考にさせていただいたブログや動画や書籍などを紹介させていただきます!

先ずはBlueprint、初級編

・UE4お役立ちリンク&チュートリアル
これから紹介させていただく、ブログとかもろもろのリンクが載ってます。
[UE4] お役立ちリンク&チュートリアル集 | historia Inc - 株式会社ヒストリア


・最初に知っておきたいBlueprintノード集
プログラマーの方が初めてBlueprintを触る時にこのノードだけでも分かればかなり役立つと思います!
あと、当たり判定さえわかれば簡単なゲームなら作れるかも・・・?
historia.co.jp


Unreal Engine奮闘記
特にインベーダーゲームとUnitychan横スクロールのゲームが参考になりました!
バージョンは少し古いかもしれませんが、初めてのUE4で何をどうしたらいいか困ったときに助けになりました。
unrealengine-blog.hatenablog.com


・Let's Enjoy Unreal Engine
有名な関西のUnrealことalweiさんのブログです。
初期の記事は初級者向け、最近では中級者~上級者向けの内容まで
幅広くカバーされていますので、なにかと検索したら出てきます。

最初の頃はUnitychanのインストールから動かすまでと
ポストエフェクトの記事がとても助けになりました。
unrealengine.hatenablog.com


・Endless Runner
Epic Gamesのロブさんによるチュートリアルです。
ハンズオン形式で動画を見ながらゲームが作れます。

このゲームはKANSAI CEDEC2015にて講演されたゲームとなります。
www.youtube.com



・Unreal Engine4で極めるゲーム開発
言わずと知れた極め本
BNEの湊さんによるプロが語るUE4といったところでしょうか。
ほとんどの機能の基礎について抑えているため、
一人でゲーム作りたい!って方や入門で何をしたらいいか迷った方など
とにかく初心者は迷ったらこれを読め!って言われるくらいの本です。
追加ドキュメントも豊富で、これさえ読めば何かしらの動くものが作れるようになります。
www.amazon.co.jp



以上が、初歩の初歩の入門を行う上で個人的に役立ちました!
ありがとうナス リストです!



おまけ
昔の情報なのですが、当時とても役立った素晴らしいスライドです。
・50分でわかるブループリントについて

www.slideshare.net

・猫でもわかるUnreal Engine4

www.slideshare.net



情報を色々と載せさせていただきましたが、最新版あるのに古いの載せるな!!って方はまさかりと共に投げてください。
修正させていただきます。


これらはあくまでも個人的に助かったナス
ありがとうナス リストなので、
必ずこれを読め!これを読めばUE4がばりばり使える!


という保証をするものではありません。



以上です!

ではまた!

VisualStudioを入れ替えるお話

こんちは!

今回はIDEのVisualStudioのお話です。
Visual Studioのイメージと異なるのは仕様です。
f:id:PaperSloth:20150603002612j:plain

PCの容量がかつかつだったので、消したのですが
間違えてVS2013の必要なデータもアンインストールしてしまったらしい。


そこで、再インストール時にトラブったのでそのまとめを書きます。



私がやらかしてはまった手順を書き記します。

手順①
VS2013をプログラムと機能からUninstall。


手順②
先ずは、VS2013 Communityを取ってくる。
https://www.visualstudio.com/ja-jp/downloads/download-visual-studio-vs#DownloadFamilies_2


手順③
実行。
そして、エラー
「Setup Blocked」
エラー内容
"Visual Studio Professional 2013 is currently installed on this machine.
Please Uninstall Visual Studio Professional 2013 and retry."

多分・・・
VS2013はこのPCに既にインストール済みです。
VS2013をアンインストールしてから、再度試みてください。

的なことが書かれているかと・・・



え、VS2013とはさっきお別れしたばかりじゃ・・・('Д')





正しい手順かは分かりませんが、私が解決するためにやったことの手順を書き記します。



①VS2013アンインストールしたので、とりあえず再起動


②関連しそうなフォルダを幾つか削除
 C:\Program Files\Microsoft\VisualStudio

 C:\Program Files(x86)\Microsoft\VisualStudio

 C:\Users\(UserName)\AppData\Local\Microsoft\VisualStudio

 C:\Users\(UserName)\AppData\Roaming\Microsoft\VisualStudio


レジストリの削除(必要かは不明)
C:\Windows内のregedit.exeを起動
HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio を削除


コマンドプロンプトを起動
vs_community.exe/repair
「Setup Blocked」
( ゚Д゚)

vs_community.exe/uninstall
なぜかいけた
ここのメニューからRepair



とりあえずはこれで復活しました。



新しく全てを入れなおしたい場合
⑤vs_community.exeを実行
Uninstallを選択


⑥PC再起動


⑦vs_community.exeを実行
無事インストール成功。

※追記
Visual Studio 2013 Language Packをインストールしている方は
vs_language.exe/uninstallも必要かもしれません。

以上!



同じ罠にハマった人が一人でも救われることを祈ります(-人-)


ではまた!

UnityからUE4引越しガイド01(C#→BP編)

こんちは!

 

久しぶりの更新ですね。

一ヶ月ちょっとぶり?でしょうか...
 
 
今回はUnityC#からUE4のBlueprintへのお引越しについてまとめます。
 
今回のお品書き

・テキストベースでよくない?

 ビジュアルスクリプトとかまたルール覚えるのめんどくさそう

・ビジュアルスクリプトって言っても機能が少ないからどうせコード書くんでしょ?

 

C#からBlueprintへのお引越し実践。

 (メインはここなので最悪上記2点は飛ばしても結構です)

 
 
ではでは、早速話を進めましょう。
 
先ずはこちら
・テキストベースでよくない?
 ビジュアルスクリプトとかまたルール覚えるのめんどくさそう
 
 
はい、そう思う方は回れ右
 
 
というのは冗談ですw
実は、私も最初はそう思ってました。
ノードとかピンとか見慣れないし、スパゲッティコードがスパゲッティノードになるだけでしょ?
作りにくそう!
という印象でした。
 
実際に作ってみると、スペックの低いPCを使ったりしない限りはサクサクコードが作れますし、打ちまつがいがなくなるので、とても助かります(変数名、コメントなど直打ちの箇所は除く)
 
勿論、最初は慣れない環境に苦戦しますがそれはテキストベースのUnityでも同じだったはずです。
新しいツールを使う時は色々と覚えなければならないことがあるので、その都度頑張って覚えるしかないですね。
 
頑張れ!って言うだけなら簡単ですが、無責任なので補足w
・テキストベースでもビジュアルスクリプトでもやることは同じ。
この辺の詳しい解説は最後の実践部分で解説します。
 
 
 
続いては
・ビジュアルスクリプトって言っても機能が少ないからどうせコード書くんでしょ?
 
はい、これについては業務で使っている訳ではないのであまり確信を持って宣言することはできません...
 
ですが、基本的にBlueprintのみでほぼ全てのジャンルのゲームを制作することが可能です。
Blueprintだからこの処理ができない!っていうのは、今のところ聞いたことがありません。
 
懸念点があるとすれば、速度の問題でしょうか?
やっぱりC++でゴリゴリ書いた方が速いです。
 
ですが、そこはC++でもぐちゃぐちゃなアルゴリズムだと遅くなりますし、かなりの差異が出るとも思えません。
キングダムハーツ3くらいの大規模開発や、他に特別な理由がない限りはBlueprintでいいと思います。
 
逆に今後の流れとしてビジュアルスクリプトを扱えないと不便になりそうな気がしているので、あまり頑固にならずにBlueprintにも触れてみてください(。-_-。)
 
 
 
いよいよお待ちかね?実践編です。
C#からBlueprintへのお引越し実践。
 

先ず、Blueprintで何ができるの?種類は?主に使うノードは?

 

そういった基礎的なことはこちら4点

alweiさんのブログにいっぱい情報あります。

こちらの記事はUE4.1の時のものですが、大体今と変わりません。

unrealengine.hatenablog.com

 
株式会社ヒストリアさんのブログも参考になります。
こちらも少し前の記事ですが、やはり基礎のノードはこのへんですね。

historia.co.jp

 

あとは公式見ろ(丸投げ)

とはいえ、日本語化が進んでて読みやすくなってます。

docs.unrealengine.com

 

今話題のUE4極め本です。

ぶっちゃけUE4で知りたいことのほとんどが載ってます。

www.amazon.co.jp

 
 
前置きが長くなりましたが、
ここからはUnity C#からUE4 Blueprintでのコーディングで私が躓いたとことか書いていきます。
 
・if文
ヒストリアさんのブログにあるようにBranchを使うだけでif文が使えます。
ただ、if文で書いてたことをif文を使わずに判定する時にちょっと躓いた。
 
例:死亡判定

C#

private float m_Health = 0.0f;

private const float MAXHEALTH = 100.0f;
void Start()
{
m_Health = MAXHELATH;
}
void Update()
{ if( IsLive() )
{ Debug.Log("Live:元気でーす");
} else { Debug.Log("Dead:ぞんぞんびより");
}
}
private bool IsLive()
{ return m_Health > 0.0f ? true : false; }
 

Blueprint

先ずは変数、関数定義
赤枠:関数
青枠:変数

f:id:PaperSloth:20150917025653j:plain

 
続いてStartとUpdate内の記述

f:id:PaperSloth:20150917025258j:plain

 

続いてIsLive関数の記述

f:id:PaperSloth:20150917025509j:plain

 
で、どこに躓いたのか
IsLive内のHealth判定。
ここはC#では
if( m_Health > 0 )
と記述するが、Blueprintでは
Branchを使わない。
 
こういった値の比較なんかもifを使ってきていたので、最初は慣れなかったです。 
でも、見てのとおりシンプルなので直ぐに習得できますよー
 
 
 
他にも躓いたところは沢山あるのですが、それはまた次の機会に('ω')
ちょっと書き方は違うけど、やってることは同じなんだからコワクナイヨー
というお話でした!
 
ではでは!