いつまでもプロトタイプ

映画やアニメ、エロゲ、AVなどなどエロネタ中心に扱ってます。

<お知らせ>
作ったもの(プラグインしかないけどw)を置いておく場所を変更しました。
一部記事にてリンク切れが発生しておりますがワタクシめ修正する気がないようです。
おなじみのアップローダーを借りたので、今後はこちらから奪ってやってください!
http://ux.getuploader.com/moistened_eye/

2015年09月

最近、着衣状態のショートカットや、スタジオのカメラのショートカットキー、その他諸々の追加機能を暇を見つけては作るのが楽しくてしょうがない。
ついでにC#もUnityも少しずつ勉強できるし。
 
しかし、ショートカット程度ならともかく、カメラをいじってみたくなったりすると何度もゲームを再起動しなければならず、その都度、いちいちデータのロードをしなければならないというのは面倒。

なにせプレイクラブは「ロード」→ 「データ選択」→「ロード」→「はい」と4クリックも必要。
たった4クリック? だけど、デバッグで何度も試していると、この4クリックがほんと面倒。

というわけで、下記の数行を追加してみた。

 
public void OnLevelWasInitialized(int level)
{
    if(level == 1)
    {
        GameControl gameControl = UnityEngine.Object.FindObjectOfType();
        gameControl.PlayData.Load(Directory.GetCurrentDirectory() +
"/UserData/save/Game/01.gsd"); gameControl.SceneCtrl.Change("SelectScene", "Load",
Color.black, 0.1f, 0f, false); } }



うん、これなら、ILLUSIONのロゴがでたあと、セーブデータの01番を自動で読み込んでくれる。
ほんの10秒程度の時間差かもしれないけど、気分的な差が大きく、快適。 

この手のゲームでショートカットキーを使わずマウスのみで操作とかって結構面倒なのよね。
それがメニューからの階層が深かったりすると尚更。
というか、表示のON/OFFを繰り返して状態を確認したい場合は浅くても面倒。

そんな感じで「Illusion Plugin Architecture」を利用させてもらって、ショートカットプラグインを作ってあった。
ただ、作成途中でスタジオが出ちゃったからしばらく放置してたんだけど・・・w

 そんなある日、こんなショートカットも需要があるっぽかったので完成させるかと思い立ったわけですよ。
まぁ、やり始めたら、あれもこれもと欲が出てきて、出来上がってみたら

「これ、ショートカットプラグインじゃなくね?」 
「もう、名前変えて別のプラグインにした方がいいんじゃね?」

そんなんが出来上がってしまったwww

さらに今日、 どうせならカメラ位置も「ショートカット」してやるか!
ってんで座標の取得をどうやるのかあれやこれや・・・


ここでだいぶつまずいたのでメモメモ。



<正解>
IllusionCamera component = Camera.main.GetComponent<IllusionCamera>(); 
float cam_fx = component.Focus.x;
float cam_fy = component.Focus.y;
float cam_fz = component.Focus.z;
float cam_rx = component.Rotation.x;
float cam_ry = component.Rotation.y;
float cam_rz = component.Rotation.z;
float cam_dy = component.Distance.y;
float cam_vz = component.FOV.z;

いや、便宜上、わざわざ↑と書いたけど、実際には

Vector3 cam_f = component.Focus;
Vector3 cam_r = component.Rotation; 

と配列のままの方が使い勝手は良いか。 




<不正解> 
IllusionCamera component = Camera.main.GetComponent<IllusionCamera>(); 
float cam_px = component.transform.position.x;
float cam_py = component.transform.position.y;
float cam_pz = component.transform.position.z;
float cam_rx = component.transform.rotation.x;
float cam_ry = component.transform.rotation.y;
float cam_rz = component.transform.rotation.z;
float cam_dy = component.Distance.y;
float cam_vz = component.FOV.z;

とまぁ、Unityに詳しい人なら「え!?」って思うのかもしれんけど、最初、この情報を元にしてカメラ位置を設定してた。
いや~、ズレるズレるw
しかも、
transformなんちゃらで得られる情報が実際はなんなのか未だに理解できていないという・・・
いいんです。
仕事でやってるわけじゃないので、目的のものが出来て動けばそれでいいんです。


はい、というわけでカメラの位置、俺のことだからまたしばらく離れるとスッキリ忘れて同じ事繰り返すはずなので、記録~


しっかし、「Illusion Plugin Architecture」作った人ほんとスゲーよ。
SDKまで出してて、これがなければ何も出来なかったよ。

さて、カメラ位置ショートカットw 組み込むかな。 

このページのトップヘ