読者です 読者をやめる 読者になる 読者になる

I From Japan Staff Blog

I From Japan の開発者ブログです

C++からBluePrint(Object)の生成について

Unreal Engine 4 プログラミング C++

blog.i-fromjapan.com

はじめに

どうもみなさん、おはこんばんにちわ。
レオンです!!

Visual Scriptでなんて書きたくないんだ!」
ソースコード書きたい!」

という方がいると思います。そういう人にはC++がオススメです。



C++のソースを作る

Content Browserで、右クリックをすると「New C++ Class」というのがあります。
それをクリックすると、次のような画面が出てくると思います。

ついでに、Noneクラスからオブジェクト(Pawn)を作るプログラムを書いていきます。

f:id:rerecchi:20161007062102p:plain

すると、Visual Studioが立ち上がります。

内容を書く

まず、myObject.hから書いていきます。このオブジェクト(Pawn)の主なPropertyとしては

  • Collision
  • Mesh
  • Move

f:id:rerecchi:20161007062100p:plain

AnswerHubによると、次のPCIPUObjectのサブクラスで、パラメータを受け取ってコンストラクション定義に用いられるそうです。
今回の場合では、BoxとMeshのコンストラクションをしています。

またまたAnswerHubによると、このPCIPはコンスタントに使われるそうです。

f:id:rerecchi:20161007062059p:plain

見てみよう

Content BrowserからBlueprint Classを生成してみましょう。
私はmyObjectというC++のクラスを作ったので検索をかけてみると、

f:id:rerecchi:20161007062103p:plain

できてますね。

次の画像を見ると、実際PCIPで定義した名前が使われていることがわかります。

f:id:rerecchi:20161007063836p:plain

さいごに

もし、質問があればコメントください。
答えられる範囲で返答します。

考察

  • C++で書くことによって自由度の高いプログラムがかけることがわかった。
  • 自由度の高さと裏腹にBlueprintに比べて面倒が多いです。

感想

  • 常に文明の利器が発明されている中で、Visual Scriptはプログラム界隈での1つのそれだと私は思います。簡単なものをわざわざC++で書く必要はないと思いました。
  • OSを作る際にC言語の限界を補うためにアセンブリ言語が用いられるように、こちらもBlueprintで実装されていない機能をC++で書く必要があるかもしれません。

blog.i-fromjapan.com