.wp-block-jetpack-rating-star span.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; }

サイトアイコン NegativeMindException

Unity Scriptコーディング→Unreal Engine Scriptコーディング

Unreal Engineの操作は書籍を見ながら少しずつ調べてる。でも、コーディングに関しては現状ネットで調べながら進めるしかなさそうなのだ。



コーディングもUnityになぞらえて学習時間を短縮したいところ。コーディングはGUI操作よりもエンジンの設計思想の影響を受けやすいので、ちゃんと違いを理解しておきたい。
幸い、Unreal Engineの公式ドキュメントにUnityのScriptと照らし合わせた解説が載っている。

Unity 引っ越しガイド:ゲームオブジェクトからアクタへ

スクリプト可能な Actor ブループリント クラス

UE4 の優れた機能をご紹介します。新規 Actor ブループリント クラスは、独自のブループリント ビジュアル スクリプティングを持ちます。これにより、個々のコンポーネントだけでなく、オブジェクト全体にロジックを追加できます。継承と組み合わせると (以下で説明)、ゲーム デザインのフレキシビリティが非常に高くなります。



ビジュアル スクリプトをサポートするブループリント クラスに加えて、UE4 ではコードで実装された C++ クラスもサポートしています。以下は、Unity C#、UE4 C++、UE4 ブループリントです。


スポンサーリンク

Unity C#


    using UnityEngine;
    using System.Collections;

    public class MyComponent :MonoBehaviour
    {
        int Count;

        // Use this for initialization.
        void Start ()
        {
            Count = 0;
        }

        // Update is called once per frame.
        void Update () 
        {

            Count = Count + 1;
            Debug.Log(Count);
        }
    }

UE4 C++


    #pragma once
    #include "GameFramework/Actor.h"
    #include "MyActor.generated.h"

    UCLASS()
    class AMyActor : public AActor
    {
        GENERATED_BODY()
        int Count;

        // Sets default values for this actor's properties.
        AMyActor() 
        {
            // Allows Tick() to be called
            PrimaryActorTick.bCanEverTick = true;  
        }

        // Called when the game starts or when spawned. 
        void BeginPlay()
        {
            Super::BeginPlay();
            Count = 0;
        }

        // Called every frame. 
        void Tick(float DeltaSeconds)
        {
            Super::Tick(DeltaSeconds);
            Count = Count + 1;
            GLog->Log(FString::FromInt(Count));
        }
    };

Unreal EngineでActorと呼ばれているものがUnityで言うところのGameObjectのような存在らしいが、ScriptはGameObjectにあたるActorにアタッチするのではなく、Actorを継承して拡張したクラスを作る方式らしい。

慣れるために公式ドキュメントのプログラミング入門編をやってみた。
Unreal Engineの最新バージョンではWindows環境だとVisual Studio 2015がデフォルトのコーディング環境らしい。2013には非対応。どうしても2013を使いたい場合は、Unreal Engineのソースコードからオプション設定して全部ビルドしないといけないらしい。
https://docs.unrealengine.com/latest/JPN/Programming/QuickStart/index.html


Scriptを少し修正するだけでも明示的にコンパイルのプロセスが入るのはちょい手間に感じてしまうな。普通のC++プログラミングはみんなそうだけどさ。

追記:Qiitaで良い記事が投稿され始めた↓
http://qiita.com/nano06126728/items/3bddfd52a4d2f2952ffb



スポンサーリンク

関連記事

Twitter APIのPythonラッパー『python-twitter』

Web経由でRaspberry PiのGPIOを操作したい

Faster R-CNN:ディープラーニングによる一般物体検出手法

OpenMayaのPhongShaderクラス

OpenCVの三角測量関数『cv::triangulatepoints』

CGALDotNet:計算幾何学ライブラリ CGALのC#ラッパー

動的なメモリの扱い

書籍『仕事ではじめる機械学習』を読みました

Unreal Engineの機能を学ぶ優先順位を考える

Managing Software Requirements: A Unified Approach

WordPress on Windows Azure

AfterEffectsプラグイン開発

科学技術計算向けスクリプト言語『Julia』

libigl:軽量なジオメトリ処理ライブラリ

OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ

Geogram:C++の3D幾何アルゴリズムライブラリ

Python.NET:Pythonと.NETを連携させるパッケージ

OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる

openMVG:複数視点画像から3次元形状を復元するライブラリ

AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う

ディープラーニング

DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...

Structure from Motion (多視点画像からの3次元形状復元)

Unreal Engine 5の情報が公開された!

AndroidもopenGLも初心者さ (でもJavaは知ってるよ)

Seleniumを使ったFXや株の自動取引

Unreal Engine Tokyo MeetUp!へ行ってきた

HerokuでMEAN stack

IronPythonを使ってUnity上でPythonのコードを実行する

SONY製のニューラルネットワークライブラリ『NNabla』

PythonでMayaのShapeノードプラグインを作る

openMVGをWindows10 Visual Studio 2015環境でビルドする

UnityのGlobal Illumination

Raspberry Piでセンサーの常時稼働を検討する

Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』

CEDEC 3日目

Iridescence:プロトタイピング向け軽量3D可視化ライブラリ

Accord.NET Framework:C#で使える機械学習ライブラリ

Blendify:コンピュータービジョン向けBlenderラッパー

Unityの薄い本

Deep Fluids:流体シミュレーションをディープラーニングで近似する

clearcoat Shader

モバイルバージョンを終了