yuda のすべての投稿

MySQLでフィールドの値を交換する

MySQLでフィールドの値を入れ替えるのに失敗したので、
備忘録を兼ねて交換する方法を書きます。

まず間違ったクエリですが、以下のようなクエリはSQLServerでは大丈夫ですが、
MySQLでは処理順の都合で結果としてXもYもどちらもYの値で更新されます。

UPDATE `table` SET `X`=`Y`, `Y`=`X`;

なので、ユーザ変数を利用して以下のようなクエリにします。

SET @temp = 0;
UPDATE `table` SET `X` = (@temp:=`X`) * 0 + `Y`, `Y` = @temp;

こうすることで以下のように処理されるので、値の交換ができます。

// ユーザ変数@tempに`X`が代入される。
(@temp:=`X`)

// Xの値を0にしてYを加算することでYの値でXを更新される
`X` = (@temp:=`X`) * 0 + `Y`

// Yの値をユーザ変数@temp=`X`の値で更新される
`Y` = @temp

交換する項目が数値型以外の場合は、
以下の個所を型に併せた形に書き換えれば対応できます。

(@temp:=`X`) * 0 + `Y`

カルチャの変更

業務中にクライアントマシンのロケール設定が問題になったので、
対応策としてプログラム上でカルチャの変更を行いました。

現在のカルチャの取得先(System.Globalization.CultureInfo)と、
カルチャを変更する場合の設定先(System.Thread.CurrentThread.CurrentCulture)が違い、
わかり難かったので現在のカルチャの取得方法と設定方法を備忘録として残しておきます。


// 現在のカルチャの取得
var calture = System.Globalization.CultureInfo.CurrentCulture();

// カルチャの設定
var calture = CultureInfo.GetCultureInfo(“ja-JP”);
Thread.CurrentThread.CurrentCulture = calture;

UE4.8でLeapMotionを使ってみる。

表題の通りUnreal Engine 4.8でLeap Motionを使ってみたいと思います。

試したバージョンは以下の通りです。

Unreal Engine 4.8.3
Leap Motion 2.3.0

今回はLeap Motionの動作確認が目的なので
キャラクターや移動等が既に有るFPSテンプレートを利用します。

1.プラグインが有効になっているか確認します。

ウィンドウ→Plugins→Input Devicesを開いて、
Leap Motion Controller Pluginが有効になっているかチェックします。
無効になっている場合は有効にしてエディタを再起動します。

Plugins

2.プレイヤーのアクターにLeap Motionの機能を利用できるようにする。
FPSテンプレートのプレイヤーのアクターは
Content\FirstPersonBP\Blueprints\FirstPersonCharacter
ですので、こちらを開きます。

次にコンポーネントを追加からLeap Motion Controllerを探して追加します。

これでLeap Motion Controllerの機能が使えるようになった筈なので、
実行して確認してみます。

3

ちゃんと手が認識されて表示されました。

表示された手の大きさや、メッシュ等はコンポーネントのプロパティから設定できるようになっています。

5

指の位置等は、それぞれにアクターが用意されているので、
下記のようなブループリントで取得できます。

6

所感
公式プラグインが用意されているのもあってかなり簡単にLeap Motionを利用することができました。
HMDマウント時の設定もプロパティから制御できるようなのでOculusと併せての利用も簡単そうです。

Leap Motion

今更ですが個人的にLeap Motionを購入しました。

IMG_0351

まだUnityでサンプルを動かして、
ちょっと触ってみた程度ですが、
思っていたよりも感度が良かったので、
購入時に想定していたOculusの入力用途に十分使えそうです。

これから時間を作って開発を進めていこうと思います。

Leap Motion公式
https://www.leapmotion.com/?lang=jp

Docker インストール

社内でDockerを試すために環境を構築したので備忘録を兼ねて手順を残しておきます。

 

ちょうどCentOS7が出ていたので、今回はCentOS7にDockerをインストールしてみます。

CentOS6.5と違い標準リポジトリに追加されているので、

#yum update -y

#yum install -y docker

だけでインストールできます。

インストールが終わったら

#docker –version

で、インストールできた事を確認しておきましょう。

 

Dockerの利用については色々試している最中なので、また今度