凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

2015年12月 | ARCHIVE-SELECT | 2016年02月

| PAGE-SELECT |

≫ EDIT

UE4 エディタのビューポートのカメラ操作をMAYAに合わせる

まずUE4のエディタを起動したときに、MAYAとカメラ操作がちょっと違って混乱したので
カメラ操作を合わせる方法を探してみました。

Twitterで教えてもらった方法がこちら。

■[Unreal]UE4のビューポート操作でミドルボタンでの移動方向を逆にする
http://d.hatena.ne.jp/toburau/20140917/1410969043

エディタの「編集」メニューにある「エディタの環境設定」を選んで
UE420160111_00

「カメラのパンを逆にする(Maya風)」というのにチェックをいれるだけです。
UE20160111_01.jpg

これでカメラの操作がMAYAと一致しました!
教えてくださった方ありがとうございます!
スポンサーサイト

| UE4 | 21:41 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 記事目次

とりあえずいくつか UE4 のメモをまとめてみました。
少しでも UE4 でゲームを作ろうと思ってる人に役に立てればと思います。
いろいろ間違っていることもあるかもしれないので、その時は教えていただけると嬉しいです!

■UE4はじめ
・UE4はじめました(UE4まとめページとオススメ本)
・用語あれこれ
・最初の頃に見ておいたほうがよさそうな記事や資料
・UE4のテンプレートに自分で作ったキャラを入れて動かしたい

■情報まとめ関係のサイトや記事
・Unreal Engine 4 日本語情報まとめページ
・UE4攻略wiki -Preview-
・historia さんのページ
・みんなで埋める 逆引きUnrealEngine4辞典
・【2016年6月入門】UnrealEngine初心者がUE4入門に選んだサイトや記事まとめ

■セミナーや勉強会
・Lightmass(ライトマス)DeepDive

■ドキュメントや技術関係のサイトや記事
・Simple コリジョンと Complex コリジョン
・文字列の取り扱い
・Light SourceとSkySphereBlueptintとAtomospheric Fog

■エディタ機能と環境設定
・エディタのビューポートをエディタのサイズいっぱいで表示する(Immersiveモード)
・エディタのビューポートのカメラ操作をMAYAに合わせる
・非アクティブのときにCPU使用量を低下させない
・ノード名とピン名をエディタの言語に関わらず英語表示にする
・ゲームとエディタのデフォルトレベルの設定
・ショートカットキーなどの便利操作
・座標軸と単位の話
・詳細タブなどで直接変更した値がリアルタイムで反映されない場合の対処方法
・ウィジェットリフレクタ(WidgetReflector)を使ってエディタのUIのサイズを変更(スケーリング)する
・実行(プレイ)中にマウスカーソルを表示してエディタを操作する(Shift + F1)
・カメラをエディタ操作中と同じように操作できるモードで実行する(Play In Editor と Simulate In Editor)
・エディタ上のビューポートをゲームビューに切り替えて実際のゲームに近い表示でみる(Gキー)
・オブジェクトを地面に設置させる(Endキー)
・オブジェクトがカメラ内におさまるようにフォーカスさせる(Fキー)
・アセットを検索して開くショートカット(CTRL+P)
・レベルを検索して開くショートカット(CTRL+O)
・リダイレクタ(Redirector)
・開いているプロジェクトで使っているアセットをほかのプロジェクトに持っていく
・アセットをお気に入りのように登録してすぐ開けるようにする(Collection)

■便利プラグインや環境
・ゲーム起動時のコンフィグウィンドウ(SetupUEr)
・便利そうなプラグインなど
・モデルを昔風に描画するプラグイン「Oldskooler」
・UE4 Grayちゃん(FBXモデルとUE4テンプレート)
・UnrealVS 拡張(Visual Studio の機能拡張)

■詳しいこといろいろ
・参考になる記事やスライド
・みつまめ杏仁(UMGなどのUI関係ためになります)
・VR・AR関係情報まとめ

■UE4基礎
・インターフェース(Interface)について
・Game Mode と Game Mode Base について(Game Mode、Game Mode Base、Get Game Mode)
・アニメーションブループリント(Animation Blueprint)について
・アニメーションブループリント(Animation Blueprint)のサンプル
・アニメーションブループリント(Animation Blueprint)アセットを新しく作成する
・アクター(Actor)アセットを新しく作成する
・アクター(Actor)にモデル(スケルタルメッシュ)を指定する(Skeletal Mesh)
・アクター(Actor)に対してアニメーションブループリント(Animation Blueprint)を設定して使えるようにする
・Actor(アクターに)BP(ブループリント)を追加する
・テクスチャストリーミングの機能をオフにして低い解像度のテクスチャが一瞬表示されないようにする(Never Stream)

■ゲーム設定
・スプラッシュスクリーンを変更する
・実行ファイル(EXE)のアイコンを設定する

■ゲームへの実装
・UMGで画面のフェードイン・アウトを実装する
・ゲームポーズを実装する(SetGamePaused、IsGamePaused)
・ポーズ中もイベントが実行されるようにする(Execute when Paused)
・ファイルにセーブデータを保存する(Create Save Game Object、Save Game to Slot、Load Game from Slot)
・グローバルな値を持つ(Game Instance、Get Game Instance)
・デバッグカメラを使う(ToggleDebugCamera)
・CSVファイルを使う(Data Table、Get Data Table Row 構造体、Break 構造体)
・値が補完されるCSVファイルを使う(Curve Table、Evaluate Data Table Row)
・カメラの方向を常に向くActor(アクター)(Find Look at Rotation)
・コマ送り機能を実装する(デバッグ機能)
・可変フレームに対応する(Get World Delta Seconds)
・ランダムな単位ベクトルを求める(Random Unit Vector、Random Unit Vector from Stream)
・Game User Settings を使った設定と保存(Get Game User Settings、Apply Settings)
・ウィンドウサイズを変えずに解像度を変更する(Set Screen Resolution、Set Resolution Scale Value、Set Resolution Scale Normalized)
・ワールド座標をスクリーン座標に変換する(Convert World Location To Screen Location)
・スクリーンショットを撮る(Shot、HighResShot)
・画像ファイルをURL指定でダウンロードする(Download Image)
・太陽の位置を動的に動かして昼夜などの時間変化や影を制御する(Update Sun Direction、Light Source、SkySphereBlueprint)
・ライト(光源)にマテリアルを適用して投影する(Light Function)
・ウィンドウのタイトルバーの文字列を変更する(Set Window Title)
・現在のレベルを開きなおす(Get Current Level Name、Open Level)
・現在のレベルを開きなおす(Restart Game)
・ワールドの時間速度(ゲームスピード)を早くしたり遅く(スローモーション)したりする(Set Global Time Dilation、Custom Time Dilation、Execute Console Command の slomo コマンド)
・データやパラメータなどの値をレベルを変更しても保持して扱う(Game Instance、Get Game Instance、Cast To Game Instance)
・カメラを配置する(Camera)
・カメラを切り替える(Set View Target with Blend)
・カメラの画角(視野角)を変更する(Set Field Of View、Get Camera Component)
・カメラを振動させる(Camera Shake BP、Client Play Camera Shake)
・2Dテクスチャ用の詳細設定・圧縮形式の変更(Texture Group、Compression Settings)
・エンジンの拡張設定と同じように品質を段階的に設定する(Set Overall Scalability Level、Get Overall Scalability Level)
・エンジンの拡張設定と同じように品質を個別に設定する(Set View Distance Quality、Set Anti Aliasing Quality、Set Post Processing Quality、Set Shadow Quality、Set Texture Quality、Set Visual Effect Quality、Set Foliage Quality)
・エンジンの拡張設定と同じように品質をベンチマークを走らせて自動で設定する(Run Hardware Benchmark、Apply Hardware Benchmark Results)
・キャラクターの顔を特定の位置に向ける・Transform の向きを Blueprint で制御する(Look At)
・特定のボーン(Transform)に対して「位置」「回転」「スケール」を変更する(Transform(Modify)Bone)
・顔の向きを変更するための Look At に対して角度制限をする(Look At、Look at Clamp)
・物理シミュレーションを使って全身をラグドール化する(Set All Bodies Simulate Physics、Set Collision Enable)
・物理シミュレーションを使って一部をラグドール化する(Set All Bodies Below Simulate Physics)
・コリジョンを物理シミュレーション化して動かす(Set Simulate Physics、Get Capsule Component)

■BP(ブループリント)参考サイト
・最初に知っておきたいBlueprintノード集
・ブループリント ユーザーガイド イベント
・ブループリント超入門編

■BP(ブループリント)の使い方あれこれ
・ブループリントをコンパイルする
・ブレークポイントの設定
・ブループリントのコメント機能
・ノードを接続したまま無効化する
・開発時だけ実行されるノード(デベロップメントオンリー)
・ノードを繋ぐ線を綺麗に整える(Rerouteノード)
・ノードの色の意味
・ノードに対してコメントを記述する
・独自のEnum(列挙型)を追加する
・ブループリントで関数を作成する
・ブループリントでPure関数を作成する
・変数の作成と扱い方
・変数の外部への公開
・配列変数の作成
・パーシスタントレベルとサブレベル
・ブループリントでカスタムイベントを作成する
・関数やカスタムイベントの名前や引数を変えた時にノードを更新する
・カスタムイベントと関数の違いについて
・ノードの入力ピン、出力ピンの構造体を分割する(構造体ピンを分割)
・ブループリントでマクロを作成する
・関数とマクロの違いについて
・汎用マクロの作成(Blueprint Macro Library)
・汎用関数の作成(Blueprint Function Library)

■BP(ブループリント)環境設定や便利機能
・フレームレート(FPS)固定の設定
・画面解像度を設定する
・画面やログへのデバッグ文字列の表示(Print String)
・画面やログへのデバッグ文字列の表示(Print Text)
・レベルが実行中かロードされているかの確認
・FPS(フレームレート)の表示
・スレッドごとの実行時間の計測
・マウスカーソルを表示する(Show Mouse Cursor)

■BP(ブループリント)
・最初に実行されるイベント(Event Begin Play)
・毎フレーム実行されるイベント(Event Tick)
・コンソールコマンドの実行(Execute Console Command)
・ゲームを終了する(Quit Game)
・レベルの移動(Open Level)
・レベルの移動(非同期)(Load Stream Level)
・レベルの破棄(Unload Stream Level)
・現在のレベル名を取得する(Get Current Level Name)
・複数の処理を連続して実行する(Sequence)
・一定時間待つ(Delay)
・条件分岐(Branch)
・一度だけ実行する(DoOnce)
・交互に実行する(FlipFlop)
・文字列操作(String)
・ウィジェットやアクター作成(スポーン)時に変数の初期値を設定する
・別レベルにおかれたアクターやウィジェットを検索する(Get All Actors Of Class, Get All Widgets Of Class)
・配列の要素すべてに対して処理を行う(ForEachLoop)
・配列の要素すべてに対して処理を行う(ノードを直接繋ぐ)
・配列の要素すべてに対して逆から処理を行う(ReverseForEachLoop)
・配列の要素をインデックス指定で取り出す
・複数の処理を毎回どれか一度だけ実行する(MultiGate)
・完全にランダムな処理を実行する(MultiGate)
・カスタムイベントを名前で呼び出す(Remote Event)
・カメラ情報の取得(Get Player Camera Manager、Get Camera Location、Get Camera Rotation、Get FOVAngle)
・入力の値に応じて別の値を返す(Select)
・入力の値に応じて別の処理を実行する(Switch on Int, String, Name, Enum)
・固定値を作成する(Make Literal ~, Make ~)
・乱数を扱う(Random Int、Random Int in Range、Random Float、Random Float in Range)
・毎回同じ値を返す乱数(Make Random Stream、Random 型 from Stream、Random 型 in Range from Stream)
・マウスの位置のワールド座標とワールドベクトルの取得(Convert Mouse Location To World Space)
・指定した範囲の中のランダム位置を取得(Random Point in Bounding Box)
・レイとチャンネルのコリジョンとのヒット判定(Line Trace By Channel、Multi Line Trace By Channel)
・レイとオブジェクトのコリジョンとのヒット判定(Line Trace For Objects、Multi Line Trace For Objects)
・アクター(Actor)の中のコンポーネントを取得する(Get Components by Class)
・%.2fのように有効桁数を指定してFloat型の数値から文字列を取り出す(To Text (float))
・Float型の数値を%表示文字列に変換する(As Percent)
・ワイルドーカードを使った書式設定で文字列を作成する(Format String、Format Text)
・現在の日時を取得する(Now、Today、Break Date Time)
・日時を文字列に変換する(Date Time、As Date Time、As Date、As Time)
・日時(Date Time)を文字列に変換する(As Date Time、As Date、As Time)
・うるう年の判定などDate Time を使った日時の判定いろいろ(Date Time、Make Date Time、Is Morning、Is Afternoon、Is Leap Year)
・DateTimeからの取得いろいろ(Date Time、Time Span、Get Day Of Year、Get Hour12、Get Time Of Day)
・Game Mode を取得する(Get Game Mode、Cast To Game Mode)
・アニメーションブループリントを取得する(Get Anim Instance、Cast To AnimBP)

■サウンド
・サウンドキューを作成する
・サウンドキューにループ再生の設定をする
・サウンドキューを配置して再生する(Audio Component)
・サウンドキュー(Audio Component)を再生する(Play)
・サウンドキュー(Audio Component)を停止する(Stop)
・サウンドキュー(Audio Component)のポーズ(一時停止)の切り替え(Set Paused)
・サウンドキュー(Audio Component)の音量をフェードインさせながら再生する(Fade In)
・サウンドキュー(Audio Component)の音量をフェードアウトさせる(Fade Out)
・サウンドキュー(Audio Component)の音量を変更する(Adjust Volume)
・サウンドキュー(Audio Component)が再生中かどうかチェックする(Is Playing)
・SE(効果音)を再生する(Play Sound 2D)
・3D座標を指定してSE(効果音)を再生する(Play Sound at Location)
・3D座標を指定してSE(効果音)を再生して距離減衰させる(Play Sound at Location、Sound Attenuation)

■UMG(Unreal Motion Graphics)
・UMGの基本を覚えたら
・UMG(Unreal Motion Graphics)を使って2Dにテクスチャを表示する
・UMGで日本語テキストを表示する
・UMGでクリックされた時などのイベント処理
・UMGでカラーを動的に変更する(変数のバインド)
・UMGでウィジェットをビューポートから取り外して非表示にする(Remove from Parent, Remove All Widgets)
・UMGのウィジェットを動的に動かす(Set Position in Viewport)
・UMGのウィジェットのパーツを動的に動かす(Set Position)
・UMGでウィジェットの中でウィジェットを使う
・UMGの子になっているウィジェットの位置をオフセット指定で動的に動かす(SetRenderTranslation)
・UMGでウィジェットやパーツのサイズを取得する(Get Desired Size)
・UMGで作ったアニメーションを再生する
・UMGでImageなどのテクスチャを変更する(Set Brush from Texture)
・UMGで使えるマテリアルを作って反映する
・UMGで加算描画をする
・UMGでムービー(動画)を再生する
・UMGでImageウィジェットの画像をTextureで差し替える(Set Brush from Texture)

■入力関係
・マウス座標の取得(Get Mouse Position)
・キーボードの指定したキーの入力を受け取る(Keyboard Events)
・マウスの指定したボタンの入力を受け取る(Mouse Events)
・マウスやキーボードを押している間の判定をとる
・マウスの移動量の取得(Event Input Axis Turn、Event Input Axis LookUp)
・ゲームパッドの指定したボタンの入力を受け取る(Gamepad Events)
・受け取るキーを定義して入力を受け取る(ActionMappings)
・コントローラー(スマホ)の振動と停止(Client Play Force Feedback、Client Stop Force Feedback)
・アクター(Actor)でキー入力を受け取れるようにする(Auto Receive Input)
・アクター(Actor)でキー入力受け付けの有効無効を動的に切り替える(Enable Input、Disable Input)

■Actor(アクター)
・3D空間上にテキスト文字列を表示する(Text Render Actor)
・TextRenderActor の文字列を書き換える(Set Text)
・アクターの位置を取得したりセットしたり(Get Actor Location、Set Actor Location、Set Actor Location And Rotation)
・アクターの回転を取得したりセットしたり(Get Actor Rotation、Set Actor Rotation、Set Actor Location And Rotation)
・Actor(アクター)の相対移動と相対回転(Add Actor Local Offset、Add Actor Local Rotation)
・アクター(Actor)をブループリントから生成する(Spawn Actor from Class)
・アクター(Actor)のサイズの取得(Get Actor Bounds)
・アクター(Actor)を破棄する(Destroy Actor)
・アクター(Actor)を時間指定で遅延破棄する(Set Life Span)

■C++
・文字列の扱い(FName、FText、FString)

■プラグイン
・プラグインの種類

■エディタ拡張
・スレートUI(SlateUI)参考
・プラグイン作成とウィンドウ表示
・メッセージダイアログの表示(FMessageDialog)
・簡単なウィジェットの配置方法(SVerticalBox、SHorizontalBox、AutoHeight、.AutoWidth)
・ウィジェットリフレクタ(WidgetReflector)
・テキストブロック(ラベル)ウィジェット(STextBlock)
・ボタンウィジェット(SButton)
・エディタブルテキストボックス(テキストボックス)ウィジェット(SEditableTextBox)
・ウィジェット共通アトリビュート(IsEnable、ToolTipText、Visibility)
・ウィジェットを変数として扱う・格納する(SAssignNew)

| UE4 記事目次 | 23:50 | comments:0 | trackbacks:0 | TOP↑

≫ EDIT

UE4 UE4はじめました。

というわけでUE4をはじめたのですが、
右も左もわからない状態ですので、またいろいろメモっていこうと思います。

TwitterでUE4のまとめページがあるよと教えてもらったのでメモ。

・Unreal Engine 4 日本語情報まとめページ
https://unreal-engine-4-japanese.zeef.com/michiko.usui

・UE4攻略wiki -Preview-
http://www64.atwiki.jp/ue4wiki/pages/1.html

・historia さんのページ
http://historia.co.jp/

・みんなで埋める 逆引きUnrealEngine4辞典
https://docs.google.com/spreadsheets/d/131H9SfSGKNQpTBR5YvyIJiKlb2DDxx_54nRcnaheSUc/edit?pref=2&pli=1#gid=940193983

猛禽さんがUE4がでた初期のころにまとめてくれていたページです。
処理は変わるかもしれませんが、今でも割りと必要な情報があるんじゃないでしょうか。

それと「Unreal Engine 4で極めるゲーム開発」という本もオススメされたのでぺたり。
僕のプログラマ人生を賭けてITエンジニア本大賞2016に推薦したい本はこれ

これからちょこちょこと進めていきたいと思います。

| UE4 | 23:04 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT |