Alpaca Soft Blog

ゲーム作る系 草食動物の備忘録

【VisualStudio】パラメーター "basePath" を相対パスにすることはできません。対策

DLL開発等で、

実行時に「作業ディレクトリ」を指定する場合があります。

f:id:alpacatech:20180612151754p:plain

作業ディレクトリに ..\..\bin 等の相対パスを入れて、

(<参照…>ボタンを押して設定しても相対パスになる)

 

実行すると、

f:id:alpacatech:20180612151453p:plain

パラメーター "basePath" を相対パスにすることはできません。

というエラーが出ます。

 

対策としては、

..\..\bin 

$(ProjectDir)..\..\bin

に変更すると絶対パスになるので動きます。

$(ProjectDir)は、プロジェクトのフルパス。

 

ちなみに、

フォルダが存在しな場所を指定すると

~は有効な作業ディレクトリではありません。

f:id:alpacatech:20180612152252p:plain

と出るのでパスを見直してください。

 

【Unity】ProBuilder備忘録

Unity2018から標準搭載のProBuilderについて備忘録です

 

インストール方法

Window→PackageManager→All→ProBuilder→Install

*Unity2018以上

 

モデリングチュートリアル

モデリング入門動画(日本語)

UnityJpanさんの動画

www.youtube.com

家、樽、葉っぱ、樹木、リフト、島等を作成。

動画なので細かい操作の確認や作業が

自分のペースで勉強できます。

 

プリンを作る

hakonebox.hatenablog.com

 入門向けで美味しいプリンの作り方。

 

 

ショートカットキーまとめ

Prototype(ProBuilder)のショートカットまとめ

 

 

メモ

ProBuilderのウィンドウを出す

メニューのTools->ProBuilder->ProBuilderWindow

アセットのウィンドウはWindowにありがちだけど違う。

 

パレットで頂点カラーを編集したい

VertexColorsの+

f:id:alpacatech:20180531183436p:plain

Editor-> Pallet ->Open Vertex Editor

 

ツールバーのメニューにVertexColorメニューがあるけど別みたい

 

色は反映するけどガイドラインみたいなのが残る

f:id:alpacatech:20180531185148p:plain

 ガイドラインが残ってる面を選び、

[Alt+2]ボタンでマテリアルを選ぶと

そのマテリアルだけで適応される。

 

f:id:alpacatech:20180531185528p:plain

 

選択モードでメニューが変わる

f:id:alpacatech:20180531185922g:plain

モデル選択、頂点選択、線選択、面選択でコマンド内容変わるので

コマンドが無いよーって場合は、現在のモードを確認。

 

 

ファイル出力

objファイル等でExportできます。

他のモデリングソフトで調整できるかも

f:id:alpacatech:20180531193244p:plain

 

 

 

何かあったら追記していきます

 

 

【雑記】家の中を自動化計画【スマートホーム】

センサーやらスマホとかの家電で家を色々自動化していってます。

細かい事でも毎日利用するものなら数秒の手間でも大きく変わっていきます。

買ったやつを紹介していきます。 

*商品写真クリックでshopに移動

 

 

AIスピーカー

Alexa

「アレクサ、○○」と語りかけるだで、いろいろ聞いてくれます。

お金は稼いできてくれません。

 

私がよく使う利用方法としては、 

・天気予報(気温)を聞く

・赤ちゃんに聞かせる音楽を再生(オルゴールみたいなやつ)

・アルパカについて調べる

他の人は、

・ニュースを聞く

・設定した音楽流す

等やっているみたいです。

「歌って」とかでも対応してくれます。

 

 自分でスキル作ったりIFTTTとかで連携できたりもします。

 

スマート家電と組み合わせるとより便利になるけど まだ活用できていません。

いるとたまに便利です。

 

セサミ スマートロック

スマホで鍵の開閉を行えるやつです。

帰宅時にオープンやオートロックもできるみたい(まだ試してない)

開閉ログ(自動or手動)とかも見れます。 

 

公式

セサミ スマートロック | CANDY HOUSE, Inc. JAPAN – CANDY HOUSE JAPAN

 

公式動画

  

パールホワイト、マットブラック、シャンパンゴールド、シャンパンシルバー。

の4種類(2018/06現在)

 

bluetooth単体版   /   bluetooth+wifiセット版 

 

本体はBluetooth対応。

Wifiアクセスポイントは別売り。(セットだと1000円ぐらいお得)

違いは、 amazonで細かく記載されています。

https://www.amazon.co.jp/dp/B076WXCRZ4/ref=twister_B078Y7LFRH?th=1

f:id:alpacatech:20180605150031p:plain

 

wifi版は、鍵の閉め忘れを気にする人は安心材料になるかも。

 

「セサミ」は、オープンセサミ(開けゴマ)から来てるみたいです。

 

 

ソープディスペンサー

[液体タイプ] Topbasic【改良版】オートソープディスペンサー

 

液体タイプです。

ロートが付属しているので液体石鹸入れるの楽でした。

石鹸の出る量は2段階です。

乾電池式。

2000円ぐらいで購入。

 

市販の詰め替え利用できます。

 

これ利用しました。

 

水道も自動化したい。

 

 

[泡タイプ] Lantoo ソープ ディスペンサー

 

こちらは泡タイプです。

中身が見えます。

こちらも市販の詰め替えで問題なかったです。

乾電池式。 

2500円ぐらいで購入。 

 

電球

ALED LIGHT LEDセンサーライト

 

人感センサーで電気がつきます。

電気代抑えられるし、電気消した消してないで喧嘩することもなくなるはず。

 

サイズ間違えた 

だったけど、サイズ間違えました/(^q^)\

ソケットサイズE17です。

日本のよくある電球サイズはE26です。

これから買う人は注意してください。

 

 変換器買いました。

 今は、問題なく動作しています。

  

E26                     / E17 

 

 

 

体重計

Nokia スマート体重計 Body Cardio ホワイト 

 

wifi接続することで、体重や体脂肪率等を管理ページにアップロード

体重等の増減グラフをスマホ等で確認できます。

多人数で利用しても、識別してくれます。

(近い数値の人同士だとどうなるかわからない)

 

※これを買うだけでは痩せれません。 

 

  

掃除機

アイロボット ロボット掃除機 ルンバ691 R691060

まいどおなじみルンバ。

私のは、これより古いタイプなので新しい機能はわかりません。

自分で充電しに行ったりします。

 

ルンバが動けるような床にしないと掃除途中で動けなくなります。

・物を置きすぎない

・段差作らない

・ケーブル出しっぱにしない

ルンバの為に掃除する必要があります^q^

ワンルーム暮らしの時はよく動いてました。

 

 

【python】VisualStudio2017のpythonでopencv

インストール手順

Python3.6を右クリックして

Pythonパッケージのインストールを選び

f:id:alpacatech:20180531134845p:plain

 

pip installを行うウィンドウが出るので、

opencvで検索。

opencv-python(...)クリックでインストール。

*numpyとセットでインストールされました。 

f:id:alpacatech:20180529183713g:plain

 *ViusalStudio2017 15.5.6で確認

 

OpenCVサンプルコード

画像読み込み+表示

import numpy as np
import cv2

img = cv2.imread('test.jpg')  #test.jpg読み込み
cv2.imshow('test', img)       #imgをtestウィンドウで表示
cv2.waitKey()                 #何かキーを押されるまで待機

 

 test.jpgが読み込まれウィンドウで表示されます。

キーが押されると終了

 

画像生成

img = np.zeros((480, 640, 3), np.uint8)  # 640x480のRGB画像生成

 

 

画素に直接アクセス

for y in range(img.shape[0]):
    for x in range(img.shape[1]):
        img[y,x,0] = 0

↑全部の画素のBに0を代入

 img[y座標,x座標,チャンネル] = 0~255

チャンネルは、0...B / 1...G / 2...R

 

 

 

 

 

【Unity】メニューを追加する方法+セーブフォルダを開く

 

スクリプト生成

Editorフォルダを作成。
その中にスクリプト生成。

 

OpenSaveData(persistentDataPath)Folder

 

Editor関連はEditorフォルダに入れないと

Editor以外でのビルドエラー等が発生します。

 

コンポーネントのメニューに追加する

 [ContextMenu("TestFunction")]

public void TestFunction()

{

    // 処理

}

 

と記述することでコンポーネントの歯車からメソッドを呼び出すことができます。

f:id:alpacatech:20190709180303p:plain

 

UnityEditorのメニューに追加する

[MenuItem("SaveData/OpenPersistentDataPath")]

public void Foo()

{

処理

}
と記述することでメニューが追加され、選ぶと内部の処理が実行されます。

f:id:alpacatech:20180427191359p:plain

  

セーブデータフォルダを開く

Application.persistentDataPath

フォルダを開く場合は、以下の通りです。

 

System.Diagnostics.Process.Start(Application.persistentDataPath);

エクスプローラでフォルダがオープンされます

 

Windows10で確認。

Macは未確認

 

 

【Unity】コルーチンの中でコルーチンを呼ぼうとしてミスった

コルーチン処理を分ける(コルーチンの中でコルーチンを呼ぶ)

まずは正解パターンから。 

void Start()
{
	StartCoroutine(coMain());
}

IEnumerator coMain()
{
	for(int i=0;i<3;++i)
	{
		yield return coSub();
	}
	yield break;
}

IEnumerator coSub()
{
	Debug.Log("Sub.Start");
	yield return new WaitForSeconds(1.0f);
	Debug.Log("Sub.End");
}

こう書くことで、コルーチンの処理を分割できます。

結果は、「"Sub.Start"→1秒待機→"Sub.End"」を3回繰り返します。

 

利用できるのはUnity5.3から?

参考

Unity5.3から、コルーチン内でコルーチンを呼び出しやすくなった | Unity用ビジュアルノベルツール「宴」

 

間違えた

サブコルーチン?を呼ぶときに

    yield return coSub();

と書かずに、

    coSub();

と書くと中のWaitForSeconds(1.0f) は機能せずに戻ってきました。

    while(true)
    {
        coSub();
    }

と書くとフリーズします(waitが一切ない永久ループ)

気づくまでフリーズ再起動祭りでした。

 


おまけ

フレーム単位で待機したい
IEnumerator WaitFixedFrame(int frame)
{
    for(int i = 0; i < frame; ++i)
    {
        yield return new WaitForFixedUpdate();
    }
}

...
yield return WaitFixedFrame(15);	//	15F待機

これやりたかった。