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

神聖あーるPG - 社会人のデジタル生活

日曜プログラマになろうかなーと思った30代理系社会人の、キャリアアップや趣味(特にデジタル情報)の記録。らーめんとビールが好き。

日本人のための、Unreal Engine4事始め

pg

Web資料の紹介ですー

Windowsでemscripten

pg

cygwinでやろうと思ってさっぱり進まずいろんなものをDL、makeなどしてしまいましたが、 基本に立ち返って公式の手順通りやったら難なく動作しました。徒労感がひどいです。 https://github.com/kripken/emscripten/wiki/Using-Emscripten-on-Windows ざっく…

Excelで、特定の日付のセルを検索して位置を返す

Pg

VBAではなく普通のExcelでハマったのでメモ。例えばA10 - 2014/3/1 A11 - 2014/3/2 A12 - 2014/3/3 A13 - 2014/3/4となっているとき、 =MATCH(DATEVALUE("2014/3/3"),A10:A15,0) とすると、3(範囲内で3つめ)が返ります。 日付は内部でシリアル値になって…

MMD4mecanimを使う(1)

MMDforUnityはなんだか調子が悪い上、デバッグも困難なので使用を断念しました。 というわけで、代わりに「MMD4mecanim」を使用します。 これはMMDのファイル(PMD, VMD)をfbx形式(Maya)にするツールです。 fbxはUnityでサポートされているので、fbxにして…

Unityの自作プラグインを作る(後編)

UnityのC#スクリプトからCのプラグインを呼び出すときの、型の合わせかたです。 標準型の値渡し 言語がサポートしている標準の型にも違いがあります。 参考:http://www.crystal-creation.com/software/technical-information/programming/language-comparis…

Unityの自作プラグインを作る(前編)

プラグインの概要 Unityでは動的にリンクするライブラリを作っておけば、スクリプト(C#など)から呼び出せます。 WindowsであればDLLにあたります。大まかな手順です。 VisualStudioなどで普通にDLLを作ります。 その作ったDLLを、x86向けであればプロジェ…

UnityでMMDを再生する

Unityで再生するモデル、モーションをWebから落としてくる方法を調べました。 (Unity Asset Storeでも良いですけど)「MikuMikuDance(MMD)」はフリーウェアのダンス作成ツールです。 ニコニコ界隈では流行っていて、モデルやダンスが配布されていることが多…

野田さんのやつの最終コード

新人女子プログラマの書いたコードを直すだけの簡単なお仕事です!|paizaオンラインハッカソンVol.1 https://paiza.jp/poh/ec-campaignマジメにやった最終版。 //C. #include <stdio.h> #include <stdlib.h> #define MAX_N (1000000) #define MIN_N (10) //高速版atoi //http:/</stdlib.h></stdio.h>…

野田さんをハメたコード

新人女子プログラマの書いたコードを直すだけの簡単なお仕事です!|paizaオンラインハッカソンVol.1 https://paiza.jp/poh/ec-campaignについて、冬休みになってやっと時間が取れて、(ほぼ)自力で0.01秒を出せたのでミッションコンプリート。 さて、前の…

こんな自分でも野田さんを助けられた(罠)

pg

新人女子プログラマの書いたコードを直すだけの簡単なお仕事です!|paizaオンラインハッカソンVol.1 https://paiza.jp/poh/ec-campaign paizaオンラインハッカソンとは プログラマ向け転職サイトのプログラミングコンテストです。 今までもオンラインのプロ…

データ管理

Unity Asset Serverはブランチを切ったりできない。SVNなどを使った方が楽。 頑張る場合は以下のページを参照。 http://akisute.com/2012/12/unity-asset-server.html Unityで複数人がEditする場合(シーンをまたいでAssetを共有する場合)は、 Assetの変更…

マウス位置を取る

//2D位置. Vector3 vec = Input.mousePosition; //マウス位置が取れる.左下(0,0), 右上(width, hight). //3D位置. GameObject c; c = GameObject.FindWithTag("MainCamera"); //カメラを取得. vec.z = 5f; //clipされない範囲でカメラからの距離を指定. vec …

モーション再生

Unity上では簡単なアニメーションを付けることができる。キーフレーム形式で、曲線を描くことも可能。 ただ、普通にcube Objectを作ってモーションを適用すると、絶対位置で再生されることになってしまう。 相対的に再生する(任意のpositionでアニメーショ…

重力加速度を変更する

1. [Project Settings] - [Physics] から、gravityを指定。3軸で指定できる。 2. スクリプト内で指定。こっちのほうが調整しやすくて良さそう。 Physics.gravity = new Vector3(0f, -2f, 0f);

時間を扱う

60fps固定のゲームであれば、毎フレーム1足すと60カウントで1秒になる。 が、フレーム落ちしているとそうもいかない。Time.timeで起動からの時間が取れる。 Time.DeltaTimeでは、前のフレームからの時間を取得できる。

60fpsにする

大抵は既になっている。 [Project Settings] - [Quality] - [Vsync Count] = Every VBlank になっていると、画面の垂直同期に合わせて更新が行われ、大抵60fpsになる。フレームカウントの取得は float t = Time.frameCount; //アプリ開始を0とした現在のフレ…

ExcelVBA - ElseIfの書き方

Pg

ExcelVBA - ElseIfの書き方 VBAでは"ElseIf"。これが分かっていればいいのだが、他の言語と混ざっているとハマる。 '動く If (aa = True) And (bb = False) Then objCB.Click ElseIf (aa = False) And (bb = True) Then objCB.Click End If If (aa = True…

VBAでIE制御するときにハマったところ

Pg

やりたいことが出来てきたものの、かなり嵌りどころが多い。 TIPSをまとめておきます。 (環境:Office2010) DOMのオブジェクトの取り方 自分で作ったサイトでないと、各オブジェクト(エレメント)をどうやって取得するかマチマチで非常に困る。以下の3つ…

Unity開発に関する50のTips ベストプラクティス(翻訳)

http://warapuri.tumblr.com/post/28972633000/unity-50-tips

VisualStudioでEdit

Edit - Preferenceで、Script Editorを選択できる。 でもVSではデバッグできないのであまり使えない。Assetで「UnityVS」なるツールが出ていて、これを使うとVSでデバッグできるらしい。ただ個人で99$、法人で249$。高い。

実行時の色を変える

Edit - Preferenceで、ColorのRunの色を変える。これ重要。transformやScriptのメンバに与える数値などは実行時に変更しても停止させると元に戻る。 Unityの良いところなのだが、うっかり忘れていると悲しいことになる。

VBAでIE制御のリファレンス

Pg

http://memopad.bitter.jp/w3c/jsref/coll_doc_links.html がとっても良かった。メンバの解説があるし。日本語だし。

別のシーンに切り替える

ゲームのモードごとにシーンを作ってロードする場合などに使用する。 Sceneファイルの名前の部分を引数にして Application.LoadLevel("MainScene"); とすると良い。ただし、同じプロジェクト内にあること、[Build Settings]の上部(Scene In Build)にScene…

衝突を取得する/接触を取得する

物理計算のため、RigidBodyコンポーネントを追加すると、コリジョン(衝突)を取得できる。 取得は基本的に OnCollisionEnter()で取得する。 void OnCollisionEnter(Collision col){ if (col.gameObject.tag == "Player"){ //処理 } } 剛体物理を適用したく…

オブジェクトを回転させるには。

フランクにインスペクタに載ってるrotation。これをいじるのはなんだか難しい。 positionもそうなのだが、直接x要素などに値を加算できない。Vector3で一気にいじる必要がある。 また、回転は基本的にクォータニオンで制御されているので、Y軸回転だけやろう…

invalid multibyte char (US-ASCII)

cygwinのruby更新したら1.9.3になりまして、エラーが出るようになりました。 「invalid multibyte char (US-ASCII)」1.9ではソースのエンコードがUS-ASCIIになってるそうで、cygwinのutf-8とは違っちゃうんで、以下の記述が必要になるようです。ちゃんと直り…

買うUnity本間違えた

Unityをはじめようと思って「ゲームの作り方 Unityで覚える遊びのアルゴリズム」を読んだのですが・・・この本、Unityでのゲームの作り方を学ぶ本ではなく、ゲームのアルゴリズムや作り方をUnity環境で学ぶ本でした。間違えたーー!Unity4.x、C#なのは長所で…

インスペクタでいじる変数を共有するには

Unityの特徴的な要素の一つ、それはインスペクタで変数をいじれること。 ユーザーが定義した変数もいじることができる。 いじるには public class Choge : MonoBehaviour { public float m_atai = 1.0f; //←これ など、スクリプト上で、クラスのpublicメンバ…

iOSアプリとObjective-C

Pg

iOSアプリ開発にObjective-Cが必要なのか、イマイチよく分からない。 (やってないからだけど) なんとなく雰囲気としてわかったのは・・・・iOSアプリはXcodeでビルドするのが標準。ネイティブアプリを作るにはObjective-C(拡張子m)、C(拡張子c)、C++(拡張…

Excell VBAでIE操作してみたTIPS

Pg

■経緯 Excel VBAでIEを思いのままに操作できるプログラミング術 〜窓の杜 特別レッスン〜 http://www.forest.impress.co.jp/docs/special/20130516_599332.html を見て、便利そうなのでちょっとやってみました。 ■まずは入門 VBも知らない若輩者ではなかなか…

暗号化

pg

暗号化の反対は、復号というらしい。復号化でなく。ま、どっちでもいいんだけど。 復号は”暗号を平文に変換すること”(だと思う)。なので、復号というのは動詞(復号する)。一方暗号は名詞ということで、暗号にすることを暗号化と言うんだろう。