なんてこともなく1日が過ぎる
過ぎません。
まだ昼です。
ただ、何もしていないという訳ではないのに
無駄に1日が過ぎていくような感じがします。
なんかこう・・・
実りがある生活っていうんですか?
「うっひょー!今日たーのしいー!」みたいな。
そんなアホみたいな生活がしてみたいです。
最近はUnrealだとかネットワークの勉強に追われています。
これも楽しいし、充実しているのですが・・・
たまには遊びたいなぁ・・・なんて思ってます。
いや、遊びには行けるんですけど。
遊びに行くとプログラムとか疎かになるしぃ。
とかいう変な葛藤をしています。
いっそ両方やってしまおうとも思ったのですが、
「みんなでプログラミングして遊ぼうぜぇ」とか言ったら
一部の変な人たち以外は「うわぁ」みたいな顔するのが
見えますので止めときました。
・・・今日言ってみようかなぁ。
後で言った時の同期の反応を追記に書いておきます。
追記
何の反応もなくスルーされました。むなしい。
/* 書いてて思ったこと */
目標500文字はどこにいってしまったのか
UnrealEngine4でMMDを踊らせてみる
暑くなってきましたね。
日差しが眩しくて目が痛いです。
もうすぐ夏なんだなとヒシヒシ感じます。
(日焼けで肌がヒリヒリします。)
はい。
さて今回はUnrealEngine4でMMDを動かしてみました。
こんなこと学生の間しかできないよね。
え?そんなことない?
・・・そうですか。
まぁ動かしたと言ってもダンスのモーションデータを
使って踊らせているだけなんですけどね。
mmdのデータ( .pmx )とモーションデータ( .vmd )を
UnrealEngineで読み込ませるための手順を書いておきます。
あくまで自分用のメモとして。
※この方のブログを参考にさせていただきました。
UE4でMMDのモーションを使ってみる - ぼっちプログラマのメモ
※先に言っておきますが参考にならない可能性があります。
まず、UnrealEngineを起動する前に準備しておくものがあります。
・MMD4Mecanim
UnrealEngineでは、
通常のMMDの形式は読み込めないので、
この中に入っている pmx2fbx.exe というものを使用して
UnrealEngineが読み込める形式に変更します。
こちらでダウンロードできます。 Stereoarts Homepage
・なにかしらのMMDデータとモーションデータ
配布先
にがもん式魔理沙
【MMD】魔理沙モデル公開しました ‐ ニコニコ動画:GINZA
【MMD】ハレ晴レユカイモーション配布 ‐ ニコニコ動画:GINZA
ダウンロードできたでしょうか?
いろいろ不都合などがあった方は
先ほど紹介したブログの方法でやってください。
(そちらはUnityちゃんでやってます。)
こちらはこちらでやっていきましょう。
よし、それではまずMMDのデータを確認しましょう。
いろんな形式のファイルが入っていると思います。
この中にある a.sph と readme.txt は今回使用しませんが、
readmeは読んでおいてください。
次にMMD4Mecanimを見てください。
めっちゃ色々入ってると思います。
MMD4Mecanim
その他
MMD4Mecanim BulletPhyics
PMX2FBX
とフォルダに潜っていき、
pmx2fx というUnix 実行ファイルと
pmx2fx.exe があるところに来てください。
そしてpmx2fbx.exeのショートカットを作成してください。
追記
もし、macなどでドラッグ&ドロップできなかった場合は
ショートカットに引数を渡して実行してみてください。
出来ましたら、次に
デスクトップに新しいフォルダを作ってください。
そしてその中に魔理沙Ver12.pmxとharuhiposition.vmdを
入れておいてください。
haruhiposition.vmdはハレ晴れユカイフォルダの中にあります。
この2つを両方とも選択した状態でpmx2fbx.exeのショートカットに
入れて下さい。
すると何かがバーって出ます。
それが終わったら( 自動で閉じたら )デスクトップかどこかに
たくさんファイルが出来ていると思います。
その中に魔理沙Ver12.fbxがあると思います。
他のは消しても大丈夫です。
作業終わりです。
この中にモーションデータ込みのデータが作成されました。
あとはこれをUnrealEngineに読み込ませて、
マテリアルをいじって
こうだ!
次は音の出し方の勉強しよ。うん。
/* 書いてて思った事 */
微妙・・・表情も変えるようにしなくては。
器用貧乏 or 特化
最近、早寝早起きを心がけています。
健康的な生活がしたいのです。
でもね、弊害が出てきました。
これですよ。
早寝したがるんですよ。私の体が。
この時間に寝ると間違いなくAM1時とかに目が覚めるので
ちょっと考えものです。
さて、ちょっと私悩んでいます。
このエンターテイメント業界に出て、
器用貧乏になることと、
1つのことに特化することは
どちらが良いのでしょう?
多分、どっちでもいいです。
ゲームデザイナーを目指している以上
イラストやプログラムも勉強しておいた方がいいのでは?
とか思って1年間生活してたら、
見事なまでの器用貧乏になりました。
私はもう器用貧乏になるか器用万能になるしか
ないようです。
今更、特化しようとは思ってないんですよ。
これからも器用でありたい。
/* 書いてて思った事 */
眠いの。ほんとに。
苦手なの・・・
私、C++が苦手です。
というよりポインタが苦手です。
同期の学生がC++でゲーム作っている中、
HTML5とJavascriptでゲーム作るくらいに
C++を避けて来たのですが、
つい先日、ぶつかってしまいました。
OpenGLこのやろう。
学校の授業でOpenGLが来てしまいました。
関数ポインタこのやろう。
まぁそれはさておき、
キー入力の検出をプログラムで書いて、
解決策の分からんことが起こりました。
上矢印キーとeキー両方取得しちゃうよ?
上矢印キーしか取得させてないはずですが、
eキーを押しても反応しちゃう。
以下ソース
#include <stdio.h>
void display() {
glClearColorIiEXT( 255, 255, 0, 255 ) ;
}
void specialkeydown( int key, int x, int y ) {
if( key == GLUT_KEY_UP ) {
printf( "上矢印キー" ) ;
}
}
int main( int argc,char *argv[] ) {
glutInit( &argc, argv ) ;
glutInitWindowPosition( 320, 100 ) ;
glutInitWindowSize( 640, 480 ) ;
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGBA ) ;
glutCreateWindow( "sample" ) ;
glutDisplayFunc( display ) ;
glutSpecialFunc( specialkeydown ) ;
glutMainLoop() ;
}
次の授業の時に講師に聞いてみるか。
/* 書いてて思った事 */
情けない。
/* 数ヶ月経って・・・ */
私、こんなコード書いてたんだ・・・
基礎じゃん。GLUT使ってこれかよ!
Sundayじゃねーのー
まさにこれでした。
日曜日じゃないけど。
午後から学校あると思っていたから、
早め(午前9時)に行って勉強しようという気持ちで
学校に行きました。
授業なかったです。
学校のスタッフから君は今日授業ないよ?
と言われて、しょぼんってしました。
でもせっかく来たしということで、
ずっと学校のPCでUnrealEngineをいじってました。
ちなみに今日から授業開始だと思っていたのですが
明日もなかったです。
明後日からでした。
はははHolidayじゃねーのっ!
跡部様の気持ちが少し分かりました。
個人的には授業早く始まって欲しいです。
だって家で勉強しても詰まるんだもん。
そんな今日このごろ。
/* 書いてて思った事 */
日に日に文字数の減っていくブログ
UnrealEngine4で感知式ライトの作成
どうもどうも、ぼこぼこニートです。
違います。
もこもこフードです。
今回はUnrealEngine4で感知式のライトを作成してみました。
こちら
(UE4:Eventノードを使った簡単なBluePrintの作り方 - 僕の私のUnrealな日々)
のサイトを見ながら作ったので大体同じですが、
個人的に分かりにくかった所とかを補完していきます。
・・・あくまで自分用のメモとして。
では早速やっていきます。
そもそも、感知式ライトとは何か。
一定の範囲に入ったら電源の入るアレです。
なんか急に明かりがつくとビクってなるよね。
はい。
まずは新規プロジェクトから「Third Person」のテンプレートを開きます。
そしてこんな感じの暗室を作ります。
私は適当に作りました。
・・・そんなに暗くなかったです。
後で暗くしましょう。
次にこの暗室の中に何かしらのオブジェクトを置きます。
何にもないところに明かりがついたら変でしょ?
今回はライトを置いていますが、
立方体でも、球体でも、何も置かなくても構いません。
オブジェクトを配置したら、その配置したオブジェクトの
ブループリントを作成します。
作成して開くとこんな感じのものが出ると思います。
私が配置したライトは既にサンプルとして
ブループリントが組まれていますが、今回に限っては消してしまっても
構いません。
次に左側にある「コンポーネントの追加」から
「PointLight」を選択し、任意の位置に配置します。
余談ですが、このオブジェクトには初期でPointLightがあります。
これも消して大丈夫です。
消さない場合は上記の配置する所はしなくていいです。
PointLightを配置したら、右側にあるPointLightの詳細から
Visibleのチェックを外しておいて下さい。
このチェックを外して置く事でプレイ開始時に
明かりが消えるようになります。
また、明かりの強さを最大にしておきましょう。
同じくPointLightの詳細から、LightのIntensityの数値を
100000.0とかにしておいてください。
・・・書くのがしんどくなってきました。
はい、次。
感知する範囲を決めていきます。
コンポーネントの追加から、Collisionの所にある
「Box Collision」を選択してください。
大きさを整えたら、こんな感じになるかと思います。
この透明な箱の中に入ると明かりがつくように設定していきます。
このBoxも右側のVisibleのチェックを外しておいてください。
また、円形の範囲にしたいなどがあれば
Box Collisionではなく「Sphere Collision」などに変えてみてください。
そして、いよいよブループリントを触っていきます。
そんな大した処理ではないですが・・・
Event Graphのタブをクリックしてブループリントを開きましょう。
まず、左側のBoxを選択している状態にします。
次にブループリント上で右クリックしましょう。
こんな画面が出ます。
「Collision」を開くと3つくらい出ると思います。
その中の
「OnComponentBegineOverlap」と
「OnComponentEndOverlap」を出します。
それでは次に左側にあるPointLightをブループリント上に
ドラッグ&ドロップします。
こんな感じにしてください。
PointLightから線を引っ張って新規ノードを配置します。
配置するノードは「Toggle Visible」です。
注意 : PointLightから線を引っ張ってノードを作成してください。
右クリックで検索を掛けると複数出て来てしまい、混乱します。(私が)
すべて配置し終えたらノードをつなげていきます。
こんな感じにして下さい。
そして、PointLightをターゲットにつなげたら作業終了です。
あとはビルドをして、プレイしてみましょう。
書いてる時に私がビルドしてない事に気がつきました。
範囲外
範囲内
うんうん。いい感じです。
/* 書いてて思った事 */
ほんとに大したことしてなかった。