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

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

pg

動的配列を使う

動的配列の使い方 VBAで配列を使うとき、サイズを後から変更できる”動的配列”というものがあります。 ただ、ちょっと癖があるので、慣れが必要です。 VBAといえばCollectionなのですが、簡単に使えるかな、というイメージがある人はどうぞ。 '初期化 Dim arr…

Windows10に移行したときの、office VBAの設定

pg

自動化環境って、必要な設定忘れちゃいますよね。 PC移行したら自動化が動かなくて「うわーん」ってなるやつ。 excel VBA, Outlook VBAなどでIEコンポーネントを使うとき、コードの移植以外に必要なことをまとめておきます。 マクロのセキュリティ設定変える…

gnu make向けmakefileをWindows10 64bitに持っていった ざっくり

pg

●前提 諸事情につき、前はcygwinのgnu makeでやってたのを、VSのnmakeに通すように変更した。 ●手順 ・VisualStudioをインストールする ・インストールフォルダの中のvcvars64.bat、nmakeを見つける。パスを通しておくとよい。 ・makefileを書き換え $(CC)を…

マイクロソフトのARデバイス。Hololens

マイクロソフトのARデバイス。Hololensがマイクロソフトストアで売っています。 ちょっと高いですが、買ってアプリを作るなら今。

日本人のための、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とは違っちゃうんで、以下の記述が必要になるようです。ちゃんと直り…