[Unity] 常にカメラの前にSpriteを出す

Unityでカメラに追従して、前面にSpriteを出す方法

これ、本当は、カメラの子供として指定すればもっと簡単なんですけど…

testScript.transform.parent = Camera.main.transform

この場合、
カメラにアニメーションが付いてる時(メインカメラは固定ポジションのままの時)に
うまく乗せられなかったりして、
面倒だなーと思い、Update毎に自分で位置を更新することにしました
(変に親子関係があるのも、後で何か制限されたらやだなーとかとかもあり…)

以下を参考にしたら、簡単にカメラの前に表示するスプライトを簡単に表現できました

public class TestExecutor : MonoBehaviour
{
    private Texture2D blackTexture;
    private SpriteRenderer testSprite;

    void Start()
    {
        // Create black texture
        blackTexture = new Texture2D(32, 32, TextureFormat.RGB24, false);
        blackTexture.SetPixel(0, 0, Color.white);
        blackTexture.Apply();

        // Create Sprite
        var sprite = Sprite.Create(
          texture: blackTexture,
          rect: new Rect(0, 0, blackTexture.width, blackTexture.height),
          pivot: new Vector2(0.5f, 0.5f)
        );

        // スクリプトからSprite生成
        testSprite = new GameObject("TestSprite").AddComponent<SpriteRenderer>();
        testSprite.sprite = sprite;
    }

    void Update()
    {
        var distance = 10f;

        // カメラの前に置く距離に応じて、ワールド座標でのスクリーンサイズを求める
        // (distance +1f) の意味は、スクリーンサイズよりちょい大きめで画面を覆いたいから
        var worldScreenH = 2.0f * (distance + 1f) * Mathf.Tan(Camera.main.fieldOfView * 0.5f * Mathf.Deg2Rad);
        var worldScreenW = worldScreenH * Camera.main.aspect;

        // Spriteのサイズを調整
        testSprite.transform.localScale = new Vector3(worldScreenW / testSprite.sprite.bounds.size.x, worldScreenH / testSprite.sprite.bounds.size.y);

        // カメラの角度と位置をコピー、前に置くだけならforwardベクトルが便利
        testSprite.transform.position = Camera.main.transform.position + testSprite.transform.forward.normalized * distance;
        testSprite.transform.rotation = Camera.main.transform.rotation;
        
        // フェードとかさせたいなら、ここでαを調整
        testSprite.color = new Color(0, 0, 0, fadingAlpha);
    }
}

Gist - Unity Sprite on front of camera

こんな感じで、Spriteがカメラにくっついてきてくれます

忘れそうな自分へのメモ


[SSH] ポート指定GitサーバにSSHでアクセスできない時(Windows/GitExtensions)

最近…

機械学習関係をやってたんですけど、Unityをまた触ることになっています
てんやわんやして、前回更新から2カ月も経ってしまった…(+o+)

今回また、タイトル名のGit/SSH関係でオロオロしたので、同現象で困ってる人の助けになれば幸いです

(現象)初回SSH接続に失敗する

環境

こんな環境で作業していました(古いPCからアクセスしたかったので、Win7なのです…)

  1. 初回クローンするために、Gitサーバにアクセスしようと、秘密鍵を .ssh ディレクトリ以下にコピーしておきます
    デフォルトのSSH秘密鍵置き場は
    c:\Users[ユーザ名].ssh/id_rsa
    です

  2. GitExtensionsを利用してGitリポジトリからクローンしようとすると、以下のエラーが…

fatal: Could not read from remote repository.
Please make sure you have the correct access rights and repository exists.

え、なんで…?

(解決)ポート番号ありでknown_hostsに登録する

アドレスも合ってる!
リポジトリもある!
サーバには公開鍵、クライアントには秘密鍵を置いてる!

これでなぜアクセス出来ないのか、解明に半日かかってしまいました…トホホ
自分のインフラ力の無さに涙が出そうです

答えを書きますと、

これで解決しました…(^_^;)

わたしの場合のポイントは、ポート指定でした


  1. コマンドプロンプトを立ち上げます
    わたしの場合、GitExtensionsを使ってたので Tools > Git bash から立ち上げました

  2. SSH のテスト接続を行います

$ssh git@[サーバアドレス] -p [SSHアクセスのポート番号]

そしたら、

Are you sure you want to continue connecting (yes/no)?

と聞かれるので、すかさず yes を!
c:\Users[ユーザ名].ssh\known_hosts にアクセス情報が登録されます

これで GitExtensions に戻って新規クローン開始したら、拒否されることなくソースを取得できました!

まとめ

最初に、

$ssh git@[サーバアドレス]

この状態で接続テストしてたんですけど、足りてないみたいでした

たったこれだけなんですけど、あまり情報が乗ってなかったように思いますので
未来の自分へのメモ…


[TensorFlow] TensorFlow on Windows GPU版インストール方法

前回、TensorFlowの環境を作るために、Anacondaをインストールしました

その続きで、TensorFlow GPUバージョンを入れたいと思います

わたしの環境は以下です

はじめに…

TensorFlow公式サイトのインストール方法では、残念ながらうまく動作させることは出来ませんでした…(´・ω・`)

どこを見たら良いかというと、TensorFlowのGitHubの方 です…!!!
ここ見るべし(。-`ω-)クワワッ

今回の全インストールログは、わたしのGistにアップしておきました
Install_log_on_Windows_for_TensorFlow_GPU.log

では、やった手順を記載します!

1) NVIDIA CUDA Toolkit をインストールする

TensorFlowにはCPU版とGPU版が提供されています

CPUのみでも動くのですけど
開発環境の構築というのはなんともめんどくさいので
最初に出来る事をやっとくことにします

まずは、CUDA のインストール
※CUDAとは、GPUを活用するための開発環境です
 GPUを使うには、NVIDIAのCUDAを入れる必要があります

わたしは Visual Studio 2017 を入れているのですが、まだサポートされてないよ って出ました

NVIDIA の公式によると、2017/4/10時点では
Visual Studio 2015 の VC++14.0 まで対応しているみたいです

NVIDIAのドライバも更新されるため、何度かチラチラと画面が黒くなりますが
それ以外は特に問題もなく、Toolkitのインストールは完了します

2) NVIDIA Developer Membership に登録する

さて、続いて cuDNN をインストールする必要があります

cuDNN は The NVIDIA CUDA Deep Neural Network library の略
つまりCUDAのライブラリ群です

cuDNNをダウンロードするには、NVIDIA Developer Membership に登録する必要があります(登録だけなら、お金は要らなかった)
登録時に簡単な Survey がありますので、良しなに記載しておきます

登録完了すると、速攻で

「Please confirm your email to join the Accelerated Computing Developer Program」

という件名のメールが飛んできました
中のリンクをクリックしたら、登録完了です

こんな感じで NVIDIA Developer Membership への登録は瞬殺で終わりました

3) NVIDIA cuDNN をインストールする(正確にはパスを通す)

登録が済んだら、cuDNN をダウンロード出来ます
※ここでもまた、Survey があります(^^;

先ほどインストールした CUDA Toolkit は 8.0 なので、それに対応した cuDNN v6.0 を選択!

2017/4/17追記:
cuDNN6.0には 後程記述する cudnn64_5.dll が入っておらず
現時点ではTensorFlowのインポートでエラーが出ます
cuDNN v5.1 をダウンロードして、回避しました
scimprさん、教えて下さってありがとうございました

落としてきたのはただのZIPファイルなので、展開し、好きなディレクトリに設置します
わたしの場合は、 D:\Library\cuda というディレクトリを作って置きました

もしくは、cuda と cuDNN のバージョンは必ず一致しないと行けないようなので
cudaのインストールパス
(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin)
に手コピーするのも、一つの手らしいです
cudaディレクトリにコピーした人はパスを設定しなくていいので、以下は飛ばしてください

このパス(わたしの場合、D:\Library\cuda\bin)が Anaconda 環境から見えるように、Windowsのパスを設定しておきます
パスを通すのくらいは…と思いましたが、ついでにキャプチャは取ったので、それだけ載せておきますね

コントロールパネルのシステムを開く

システムプロパティの環境設定を開く

自分の環境設定のパスを編集する

パスを新規追加

一応、パスが通ってることを path コマンドでチェックしとく

ま、こんな感じです

4) TensorFlow on Windows (GPU) のインストール

いよいよ TensorFlow のインストールを行います

最初に、Anaconda Promptを開いて、環境をTensorFlow用のやつに変えておきます(前回の記事で書いたやつです)

#Change env

(C:\utils\Anaconda3) D:\dev\anaconda>activate tensorflow

(tensorflow) D:\dev\anaconda>

(以下、失敗手順も含んでいます)

# Installed TensorFlow (1st time, error occurred.)

(tensorflow) D:\dev\anaconda>pip install --upgrade tensorflow-gpu
Collecting tensorflow-gpu
  Downloading tensorflow_gpu-1.0.1-cp35-cp35m-win_amd64.whl (43.1MB)

(中略)

Successfully installed appdirs-1.4.3 numpy-1.12.1 packaging-16.8 protobuf-3.2.0 pyparsing-2.2.0 setuptools-34.3.3 six-1.10.0 tensorflow-gpu-1.0.1

(中略)

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:\\utils\\Anaconda3\\envs\\tensorflow\\lib\\site-packages\\setuptools-27.2.0-py3.5.egg'

(tensorflow) D:\dev\anaconda>

Tensorflowのインストールは出来ましたが、一番最後、なにやらファイルが無いとエラーが出ています
よくわからない( ̄▽ ̄)

cudnn64_5.dllが無い って言われる

# Check import version

(tensorflow) D:\dev\anaconda>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cublas64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:126] Couldn't open CUDA library cudnn64_5.dll
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:3517] Unable to load cuDNN DSO
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cufft64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library nvcuda.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library curand64_80.dll locally
>>> print( tensorflow.__version__)
1.0.1
>>> exit()

(tensorflow) D:\dev\anaconda>

あれ?
ちゃんとCUDA8.0 に対応した cuDNN6.0 を入れたのに…(´・ω・`)

良く見てみると、わたしの落としてきた cuDNN の DLL は cudnn64_6.dll
エラーが出てるDLLは cudnn64_5.dll

…もうGetできなくね???(;^_^A


調べてもよく判らなかったので
持ってるDLLのファイル名を変更して使うことにしました(*ノωノ)
なんか今後問題でそうですが、致し方なし…
誰か、解決策あるなら教えて下さい(T▽T)

2017/4/17追記:
scimprさんに教えて頂きました
cuDNN5.1を選ぶと、cudnn64_5.dll が入っていますので、ここに書いたコピー暫定対応はしてはいけません!
cuDNN5.1でも問題なく TensorFlow 1.1.0rc1 は動いています!!


TensorFlowのバージョンは 1.0.1、インストールしまして、インポートでのエラーは出なくなりましたが…

(tensorflow) D:\dev\anaconda>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cublas64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cudnn64_5.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cufft64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library nvcuda.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library curand64_80.dll locally
>>> print( tensorflow.__version__)
1.0.1
>>> exit()

(tensorflow) D:\dev\anaconda>

実はこの後、Hello TensorFlow! を表示しようとして、別の OpKernel エラーが大量発生します

E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel (‘op: “BestSplits” device_type: “CPU”‘) for unknown op: BestSplits

なんだよこれは…(。-`ω-)

# Remained the same error too. (OpKernel error)

(tensorflow) D:\dev\anaconda>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cublas64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cudnn64_5.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library cufft64_80.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library nvcuda.dll locally
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\dso_loader.cc:135] successfully opened CUDA library curand64_80.dll locally
>>> hello = tf.constant('Hello tensorflow!')
>>> sess = tf.Session()
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 960
major: 5 minor: 2 memoryClockRate (GHz) 1.253
pciBusID 0000:05:00.0
Total memory: 2.00GiB
Free memory: 1.64GiB
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0:   Y
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 960, pci bus id: 0000:05:00.0)
>>> print(sess.run(hello))
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "BestSplits" device_type: "CPU"') for unknown op: BestSplits
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "CountExtremelyRandomStats" device_type: "CPU"') for unknown op: CountExtremelyRandomStats
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "FinishedNodes" device_type: "CPU"') for unknown op: FinishedNodes
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "GrowTree" device_type: "CPU"') for unknown op: GrowTree
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "ReinterpretStringToFloat" device_type: "CPU"') for unknown op: ReinterpretStringToFloat
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "SampleInputs" device_type: "CPU"') for unknown op: SampleInputs
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "ScatterAddNdim" device_type: "CPU"') for unknown op: ScatterAddNdim
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "TopNInsert" device_type: "CPU"') for unknown op: TopNInsert
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "TopNRemove" device_type: "CPU"') for unknown op: TopNRemove
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "TreePredictions" device_type: "CPU"') for unknown op: TreePredictions
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "UpdateFertileSlots" device_type: "CPU"') for unknown op: UpdateFertileSlots
b'Hello tensorflow!'
>>> exit()

ここでようやく、インストールが上手く行ってないことに気が付きます(+o+)


よし、気を取り直して
公式サイトではなく、GitHubの方に書かれている、インストール方法 を参考にしてみます

# Uninstalled TensorFlow

(tensorflow) D:\dev\anaconda>pip uninstall tensorflow-gpu
Uninstalling tensorflow-gpu-1.0.1:
  c:\utils\anaconda3\envs\tensorflow\lib\site-packages\external\d3\d3.js
  c:\utils\anaconda3\envs\tensorflow\lib\site-packages\external\d3\d3.min.js
  
(中略)

  c:\utils\anaconda3\envs\tensorflow\scripts\tensorboard.exe
Proceed (y/n)? y
  Successfully uninstalled tensorflow-gpu-1.0.1

※2017/4/10現在の情報です、正確には公式GitHubサイトを確認してください
> pip install –ignore-installed –upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl

# Re-install TensorFlow for Anaconda, it's best way for Anaconda/Windows user!

(tensorflow) D:\dev\anaconda>pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl
Collecting tensorflow-gpu==1.1.0rc1 from https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl
  Downloading https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl (48.6MB)
    100% |################################| 48.6MB 26kB/s
Collecting werkzeug>=0.11.10 (from tensorflow-gpu==1.1.0rc1)
  Downloading Werkzeug-0.12.1-py2.py3-none-any.whl (312kB)
    100% |################################| 317kB 3.0MB/s
Collecting numpy>=1.11.0 (from tensorflow-gpu==1.1.0rc1)
  Using cached numpy-1.12.1-cp35-none-win_amd64.whl
Collecting protobuf>=3.2.0 (from tensorflow-gpu==1.1.0rc1)
  Using cached protobuf-3.2.0-py2.py3-none-any.whl
Collecting six>=1.10.0 (from tensorflow-gpu==1.1.0rc1)
  Using cached six-1.10.0-py2.py3-none-any.whl
Collecting wheel>=0.26 (from tensorflow-gpu==1.1.0rc1)
  Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB)
    100% |################################| 71kB 4.0MB/s
Collecting setuptools (from protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
  Using cached setuptools-34.3.3-py2.py3-none-any.whl
Collecting packaging>=16.8 (from setuptools->protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
  Using cached packaging-16.8-py2.py3-none-any.whl
Collecting appdirs>=1.4.0 (from setuptools->protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
  Using cached appdirs-1.4.3-py2.py3-none-any.whl
Collecting pyparsing (from packaging>=16.8->setuptools->protobuf>=3.2.0->tensorflow-gpu==1.1.0rc1)
  Using cached pyparsing-2.2.0-py2.py3-none-any.whl
Installing collected packages: werkzeug, numpy, six, pyparsing, packaging, appdirs, setuptools, protobuf, wheel, tensorflow-gpu
Successfully installed appdirs-1.4.3 numpy-1.12.1 packaging-16.8 protobuf-3.2.0 pyparsing-2.2.0 setuptools-34.3.3 six-1.10.0 tensorflow-gpu-1.1.0rc1 werkzeug-0.12.1 wheel-0.29.0

TensorFlowのバージョンは 1.1.0rc1 になりました
(2017/4/10現在)

# Hello TensorFlow!

(tensorflow) D:\dev\anaconda>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> hello = tf.constant('Hello tensorflow')
>>> sess = tf.Session()
2017-04-07 17:55:06.792343: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
2017-04-07 17:55:06.794854: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations.
2017-04-07 17:55:06.795650: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
2017-04-07 17:55:06.798303: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-04-07 17:55:06.798924: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-04-07 17:55:06.799553: W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-04-07 17:55:07.171447: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:887] Found device 0 with properties:
name: GeForce GTX 960
major: 5 minor: 2 memoryClockRate (GHz) 1.253
pciBusID 0000:05:00.0
Total memory: 2.00GiB
Free memory: 1.64GiB
2017-04-07 17:55:07.171652: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:908] DMA: 0
2017-04-07 17:55:07.178823: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:918] 0:   Y
2017-04-07 17:55:07.180026: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 960, pci bus id: 0000:05:00.0)
>>> print(sess.run(hello))
b'Hello tensorflow'
>>> exit()

これでOpKernelエラーは出なくなりましたし、GPU利用のログも出ていますね

name: GeForce GTX 960
major: 5 minor: 2 memoryClockRate (GHz) 1.253

ほっ…(≧▽≦)

(おまけ)SSEのワーニングを消すには?

しかし良く見て!?
エラーは消えたけど、ワーニングは出てるよっ!?!?

どうやらこれについては、本家GitHub issue でも取りざたされています

意味は、ソースからコンパイルし直したら、CPUが早くなるんじゃね?というお知らせの様です

うーん…GPUで動かしてるのにCPUを早くする??よくわからんです

これは放置でも動作に問題ないらしいのですが、見たくない場合は、ログレベルを変更したら見えなくなると、issueに記載がありました

import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL’]=‘2’

こんな感じですっきりしました
GPUの確認ログも消えちゃいますけど…

# Changed worning level

(tensorflow) D:\dev\anaconda>python
Python 3.5.3 |Continuum Analytics, Inc.| (default, Feb 22 2017, 21:28:42) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
>>> import tensorflow as tf
>>> hello = tf.constant('Hello tensorflow')
>>> sess = tf.Session()
>>> print(sess.run(hello))
b'Hello tensorflow'
>>> exit()

とりあえず、TensorFlow on Windows (GPU) のインストールと、最初の動作確認は完了しました

作業の全ログはこちらに置いています…

おつかれさまでした~

その他ポイント1:Anacondaではpipを使う

Anacondaでインストールする場合は、pipを使う(pip3 は無いみたい)

(tensorflow) D:\dev\anaconda>pip3
'pip3' is not recognized as an internal or external command,
operable program or batch file.

その他ポイント2:Pythonのバージョンは3.5

Tensorflowは Python3.5系じゃないとだめ
3.6に入れようとしたら、怒られました 試しに、CPU版にしても怒られました

(tensorflow) D:\dev\anaconda>pip install tensorflow-gpu
Collecting tensorflow-gpu
  Could not find a version that satisfies the requirement tensorflow-gpu (from versions: )
No matching distribution found for tensorflow-gpu

どうやら、pythonのバージョンは Windowsの場合3.5系でないと対応してないみたいです(2017/4/10現在)


(その他参考)

同じOpKernelエラー現象が出てる海外のも居た…
Installation log of Tensorflow 1.0 on Windows using pip
https://gist.github.com/apacha/a595c244f90a27aced56f67f7598d90d


[Anaconda] Anaconda for Windowsインストール方法

ちょっとPCのグラフィックボードを新しくしたので、TensorFlowでなんかモデルでも作ってみるかということで、Pythonを使うためにAnacondaをインストールしました

初回のインストールでは何も問題が起きなかったのですが、Anacondaのバージョンを上げようとして、なんか色々やってるうちに、エラーにはまったので、その解決メモです
(ただし、あまり良い解決方法じゃありません、ごめんなさい)

Anacondaのインストール

わたしの環境は以下です

このAnacondaはPython 3.6 に対応しています

Anaconda 4.3系は Pythonの 2.7, 3.4, 3.5, 3.6 をサポートしている様です

実は、わたしは何度もAncondaのインストールとアンインストールを繰り返しました
すると、再インストール時にはエラーメッセージ

Failed to create anaconda menus

がインストール時に出るようになってしまいました
インストールする権限の問題の様です
おかしいなぁ…
Administrator権限で起動してるのですが、出てしまいます…(´-`).。oO


これは、

この3点をすれば、怒られずにインストールできたのですが…

わたしのインストールしたいディレクトリは c:\utils\Anaconda3 なのです!

インストールしたいディレクトリを変更するって…ちょっとヤダなぁと思い
ダメもとで

にしてみたら、うまく同じインストールディレクトリに
再インストールすることが出来ました
あまり良い解決方法じゃないけど…もう権限周りで困りたくないです><。

あなこんだ for Windows 。。。難しいよ(´ω`)

インストーラーとWindowsの権限周りは、少し問題が残っている印象でした

TensorFlow用の開発環境を切る

今の状態でダイレクトに作業しても良いんですけど
他のプロジェクトや要件が出たときに困らないために、TensorFlow用の開発環境を切っておきます

(1)conda info -e コマンドで確認します

インストール直後の環境は root 環境しかありません

(C:\utils\Anaconda3) C:\Users\(インストールユーザ名)>conda info -e
# conda environments:
#
root                  *  C:\utils\Anaconda3

(2)conda create でAnacondaのTensorflow用環境を作ります

引数:

2017/3/29現在、公式では TensorFlowはPython 3.5系しかサポートしてないらしいです

公式の言う通り、3.5を指定することにします

(C:\utils\Anaconda3) C:\Users\(インストールユーザ名)>conda create --name=tensorflow python=3.5
Fetching package metadata ...........
Solving package specifications: .

Package plan for installation in environment C:\utils\Anaconda3\envs\tensorflow:

The following NEW packages will be INSTALLED:

    pip:            9.0.1-py35_1
    python:         3.5.3-0
    setuptools:     27.2.0-py35_1
    vs2015_runtime: 14.0.25123-0
    wheel:          0.29.0-py35_0

Proceed ([y]/n)? y

python-3.5.3-0 100% |###############################| Time: 0:00:07   4.27 MB/s
setuptools-27. 100% |###############################| Time: 0:00:00   4.24 MB/s
wheel-0.29.0-p 100% |###############################| Time: 0:00:00   4.35 MB/s
pip-9.0.1-py35 100% |###############################| Time: 0:00:00   4.06 MB/s
#
# To activate this environment, use:
# > activate tensorflow
#
# To deactivate this environment, use:
# > deactivate tensorflow
#
# * for power-users using bash, you must source
#


(C:\utils\Anaconda3) C:\Users\(インストールユーザ名)>

(3)tensorflow という環境が出来ました

さっきの condaコマンドで確認します

(C:\utils\Anaconda3) C:\Users\(インストールユーザ名)>conda info -e
# conda environments:
#
tensorflow               C:\utils\Anaconda3\envs\tensorflow
root                  *  C:\utils\Anaconda3

(4)作った tensorflow環境に切り替えます

activateコマンドを使います
ちなみに抜けたい時は、deactivateです(が、わたしはあまり使う機会がないかな…)

(C:\utils\Anaconda3) C:\Users\(インストールユーザ名)>activate tensorflow

(tensorflow) C:\Users\(インストールユーザ名)>

前に、作った環境の名前 (tensorflow) が付くので、判りやすいですね!

(余談)起動ディレクトリを変更する

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)

わたしの場合、ここスタートアップの場所に Anaconda Prompt が入ってました

Anaconda Prompt のプロパティを開いて、開始するディレクトリを変更すればOKです

わたしは起動ディレクトリを、D:\dev\anaconda に変えました


ふー
たったこんだけなんですけどねぇ…(´-`).。oO
まごまごしてるわたし…

気を取り直して、次回は、TensorFlow on Windowsのインストール準備をします

<その他参考>


[Chrome] Google Chromeのマルチプロファイル設定

Google Chrome を使って、Webサイトの開発をしている人向けの情報です

自分のChromeのユーザプロファイラを使わずに、開発は別のプロファイラを使いたいってこと、ありますよね…?

[プランA] ユーザプロファイラを切り替える

Google Chrome のユーザデータを、開発用と自分個人用とに分けたい
開発用のモバイルモードで見てるときに、普通にPCブラウジングがしたい

とかいうときのために(か、どうか分かりませんが…)

Google chrome は複数ユーザに対応しています

  1. chrome://settings/ にアクセス
    もしくは、メニューの「設定」を押す

  2. 「ユーザ」の設定項目があるので、追加します

  3. アイコンと名前を選択して「追加」します
    (わたしの場合は適当に Development と付けました)

  4. ユーザ名が右上に表示されるようになり、新しい「Development」ユーザでブラウザが立ち上がります

Extension や閲覧履歴は、完全に今まで使っていたものとは別になっているので
新規プロファイルが使い放題です(*ノωノ)

これまで使っていたユーザは「ユーザ-1」
開発用のユーザは「Development」
で、使い分けることが可能になりました

[おまけ] 起動時に Development ユーザを指定して起動する方法

ちなみに、デフォルト起動はもちろん、これまで使っていた「ユーザー1」で立ち上がります

ショートカットなどで、さっき作ったDevelopmentユーザがいきなり立ち上がって欲しいときは
以下のように「profile-directory」起動オプションを設定してあげると
任意のユーザプロファイルで立ち上がります

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory="Profile 2"

※Chromeのショートカット設定にしておくと便利です

わたしの環境では、”Peofile 2”という名前でしたが、これは作った環境によって異なっているはずです

Chromeユーザプロファイルのデフォルトの位置はこちら↓↓↓

“C:\Users[Winユーザ名]\AppData\Local\Google\Chrome\User Data\Profile x”

ちなみに、これまで使っていた自分の環境である「ユーザー1」は「Default」というディレクトリ名です

“C:\Users[Winユーザ名]\AppData\Local\Google\Chrome\User Data\Default”


さて、プランAのプロファイル切り替えでも、まぁ用途は足りるんですけど
1点だけ、気に入らないところがありました…

確かに、完全にプロファイルは別になるのですが
起動時の画面サイズは、プロファイル間で共有されてしまうのです

これを解消したい…!
それが次に示すプランBのパターンです

[プランB] 稼働環境を別物にする

つまりプランAのままだと、

自分でブラウジングしてる「ユーザー1」の画面サイズと
「Development」ユーザの画面サイズを、
個別に保存することは出来ない

のです…
あぁ残念 xxx

でも大丈夫(*ノωノ)

方法がありました

プロファイルの保存場所そのものを、別のディレクトリにすればOKでした

指定するオプションは「user-data-dir」です

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="C:\utils\chrome_dev_profile"

※同じく、Chromeのショートカット設定の図、先ほどのプランAの profile-directory オプションは不要

このオプションで指定するディレクトリは、どこでもいいみたいですが
出来ればデフォルトで利用している

C:\Users[Winユーザ名]\AppData\Local\Google\Chrome\User Data

の配下は、避けた方がいいかもしれません
(わたしの環境では、スタートページがちょっと変になりました。深追いして調べてないです…)


プランA/Bのどちらでも、マルチプロファイラでブラウジングできるのですが
より独立した設定をしたい!という人には、プランBが私的にはお勧めです

Chrome は起動オプションがいっぱいあって、他にも
Userエージェントを指定出来たり(user-agent)、
ブラウザの言語を指定したり(lang=en-USで英語になる)と
いろんな機能が用意されてるので
開発用途としてはなかなかいい感じだなと、今更ながら思いました(*´∇`)ノ


<参考>

ちなみに、Google Chrome の起動オプションは
公式ではちょっと探しにくかったんですけど(わたしの探し方が悪いかも…)
こちらの人のサイトが、簡潔で一覧性が高く、参考になりました(^▽^)/

以下、日本語の参考サイト


[Diary] 2017年もよろしくお願いします

遥佐保(はるか・さお)です

2017年最初のブログになります!
今年もよろしくお願いします(^_^)

MSMVP 2017年1月度受賞

なんと、Microsoft Most Valuable Professional の再受賞を Windows Development のカテゴリで頂きました
信じられないことに、8回目の受賞となります

去年はいろんなジャンルの技術を取り扱った勉強会を開催し
何のかんのと楽しく過ごさせていただきました

それもこれも、関わってくださる全ての方とのつながり、出会いあってこそだと、いつも思っております

講演を快諾してくださる講師さま
オンラインという場所と時間が限られてしまう勉強会に参加してくださるみなさま
コミュニティ活動を支援してくださる上司

そして何より、一緒に勉強会を盛り上げてくれるスタッフのみなさま

本当に本当に、いつもわたくしの思い付きの様な企画に
お付き合いくださいまして、ありがとうございます

また、有志のコミュニティを支援するプログラムを
企業として変わらず提供し続けて下さるマイクロソフト社にも
変わらず感謝しております

自ブログに記載するには大変恐縮ではありますが、僭越ながらお礼申し上げます
本当にありがとうございます

昨年度の活動

去年は、ひそかに1月のマイクロソフト社主催のインターナルイベントにて、ちょっとだけセッション持たせていただいたのを皮切りに、小規模な講演をちょこちょこと、
大きなところでは、C++、UI、Unity、Deep Learning を特集した勉強会を開催するなど、
思うままに知的好奇心を満たせた感じになりました

仕事では良いことも悪いことも、思い返せないくらい、いろんな出来事がありまして…
いやー1年、ほんとに、色々イベントがありすぎました((+_+))
こんなに環境がころころ変わる体験も、なかなか珍しいと思いますが、何とか順応して(?)社会人生活を満喫しています

仕事の番外編ですが

盛岡の専門学校で講演させて頂いた晩に、
現地の方々に連れて行ってもらった「サブカルバーAE」ってところ
ここ、最高です(´艸`*)
また、盛岡に出張行きたいな…

ソーシャルゲーム三昧

今年は…もうこれしかやってません
毎日欠かすことなく、1日最低2時間やってます( ;∀;)
最長時間は。。ここに書けないくらい長時間やってます、もう計測不能(^▽^;)
いやほんとに…
この時間を勉強に当てたら、すごい成果になるんだろうな…

これ何って、いわゆるソーシャルゲーム全盛期の後半あたりに出た
フィーチャーフォン対応のカードゲームです

リンク張りましたが、まぁ昔のゲームなので…わたしは好きなのでやってますが(^^♪

わたしがやり始めてもうすぐ2年経ちます、特に去年1年間は、

課金もしまくり
隙間時間はすべてレベル上げに費やし
毎日開催する1日2回の聖戦は皆勤賞

という素晴らしい廃人ぶりを披露してしまいました

おかげさまで、夜の9時には必ず帰宅し、聖戦の合間に晩御飯の準備をするという
徹底したルーティンが成り立ちました(^▽^;)

ちなみにそれまでは、この時間帯には
カフェなどで、ノマドしながら技術調査したりブログ書いてたんですけどね

MMO的なゲームは、これまでやったことが無かったんです…
なので、勉強のつもりでやってみたのがきっかけですが、
まさか自分の生活がゲーム中心になるとは(^▽^;)

※ギルド内の掲示板で使えるスタンプもある

ただ、やり始めで分かったのは、
半年やそこらでは、MMO的なやつは理解できんな、ということでした

こう、なんといいますか、、、人と人との関わり、薄いつながり、
こういったものを如何に維持するか?ゲーム内のモチベーションを保つか?みたいな
(ゲーム運営ではない)ギルド運営の世界があるのが、よくわかりました

1年ちょっと前から、ギルドオーナーやってるんですけど、これは大変です( ;∀;)

現実世界の会社のチーム運営と、変わんないんですよ…
手法や出来ることが異なっているだけで、根本は一緒なんだなーと思いました

※ギルド内の過去の戦歴は誰でも閲覧できる
しょぼい戦歴しか残ってない=オーナーや執行役の責任(統率が取れていない)
ということもあり、ゲーム内における役職者の責任は重大

実は昨年、ある案件でゲームプランナーさんの面接に関わらせて頂いたのですが
企画経験あります、自分もMMOやってます、ソーシャルゲームやってます、と
面接でいう人のバックボーンが判断出来るようになったと言いますか

「その人がどれくらい知ってて、経験してるか」

が自分なりに判断出来るようになりました

みんな面接では良いこと言いますもんね…
すっごいコアユーザにとったら、わたしはまだまだゲーマーとしてはイージーな方かもしれませんが
ほんとにゲームを色々やってて、やりこんでる人の気持ちについて
(わたしが)会話して理解できるレベルにちょっとなれた気がします

※ま、これはあくまで副産物なんですけど…
 実際は、ゲーム沼に絶賛ハマり中(´ー`)

ゲームの卒業は、ギルドの卒業を意味し、
今まで毎日、雨の日も風の日も、盆も正月も、会ったこともないけど苦楽を共にしてきた(!?)仲間と別れる訳なので

自分の仲間もログインしなくなって、システム的にも終了するまでは、わたしは続けてそうです
この調子だと…(^▽^;)

今年は?

こんな感じで、去年はソーシャルゲーム三昧でしたが
今年は今、流行ってるらしい「MOBA」ジャンルのゲームをやってみたいなーと思っています

※ MOBA:マルチプレイヤーオンラインバトル
 RPG、戦略ゲーム、アクションが混じったようなオンラインバトルゲーム

ちょうど、Epic Games から 「PARAGON」も出てるし(今はまだ日本はベータ版)

ギルドの多対多カードバトルは、日本で大人気なんですけど、
海外では 相変わらずモバイルではシングル同志のP2Pゲーム が流行ってるみたい
PCやPS4などでは MOBA のギルド戦が流行ってるらしいです
というわけで次のターゲットは海外向け!


おっと、大事な技術系についてですが…
会社の自分の環境がちょっと落ち着いてないので、仕事の方向はそれに左右されちゃうかな~

個人的には、引き続き、
自分の得意なゲームグラフィック(パーティクルやエフェクト関係)の充実
新規では
Deep Learning へのチャレンジですかね

画像の Deep Learning って結構もうおなか一杯で、先人たちがやりつくした感あるんですけど
ログとの組み合わせなどは、まだ成功してなさそうなんですよね

わたしはまだまだDeep Learningの素人なんで、どこまで食い込めるか分かりませんけど、幸い、身の回りの環境という意味で、社内には知見とデータリソースがあるので、チャレンジしがいもあるかなーって感じです

最後に2016年の年越しそば、おいしかった~(^ω^)

ではでは、2017年も、どうぞ、よろしくお願いします!


[Outlook] 使わなくなったOutlook on the webの予定表(カレンダー)を削除する方法

Office365とかの Outlook カレンダーではなく
Webベースでアクセスできる Outlook on the web について
データの削除がとてもややこしかったので、ちょっとメモしておきたいと思います

かつての Windows Liveカレンダー

昔は、Windows Liveカレンダーという名称で、カレンダーサービスがあったのですが
最近になり、Outlook on the web というサービス名に変わった様です

https://calendar.live.com/calendar/calendar.aspx

それに伴い、ちょっとずつ使い勝手も変わってきたりして…

わたし自身が
Googleにもカレンダーがあり、サイボウズにもあり…カレンダーだらけだったので
ちょっと過去データを整理しようと思ったのが、このブログのきっかけです

以降、「予定表」とあるのは、カレンダーの事を指しています
マイクロソフトさんの用語で統一して書きたいと思います

問題点が2つ起きた

  1. Outlook on the web のメインの予定表が消せない
  2. Windows10 カレンダーアプリの情報が同期されない(消せない)

今日はこれを解決したいと思います…



<問題1>不要な予定表を削除したいが、メインは消せない

実際に、オフィシャルサイトには、予定表の削除の方法は書いていないのです…

しかし、Outlook on the web の方で、予定表を削除することは出来るようです
該当する予定表の上で、右クリックしたら、”削除” が出てきます
↓↓↓

しかし、メインの予定表は消せないみたいです
(削除が出てこない)
↓↓↓

とにかく情報を整理したいだけなのに…(+o+)

<問題2>Windows10 カレンダーアプリの情報は削除されない

メイン以外の予定表は消せるので、Outlook on the web上で操作するんですけど
クライアントアプリである、Windows10 付随のカレンダーには、一向に反映されません

あれ、消したはずの予定表がいつまで経っても消えない…
↓↓↓



<解決方法>Web上では無理、Outlookクライアントを使う

Outlook on the web だけでは無理なのが良く判ったので
Outlookのクライアントメールソフト を使ってみました

Officeで使えるPC上にインストールするあれです

  1. まず、メニュー > ファイル > 情報 に行きます

  2. 「アカウント情報」の下の「アカウントの追加」で、問題となっているマイクロソフトアカウント (旧Windows Live カレンダーアカウント)を追加します

  3. 問題となっている登録したアカウントを選んだ状態で、 Outlookアプリの左下に表示されている(と思う)「…」を選ぶと、「フォルダー」という項目が選択できるので、 それを選びます

  4. なんと!?削除済みアイテムの中に、さっき消した予定表が入っていました!
    さくっと「フォルダーを空にする」を選びましょう
    (その画像は取り忘れちゃいましたが…操作する箇所はこれです)

  5. これで、Windows10のカレンダーアプリの情報も更新され、削除した予定表は消えました…!やったー!
    ※ただし、即時反映ってん訳じゃなさそうでした、しばらく時間がかかるっぽいです

これで <問題2>のほうは解決しました
あとは、<問題1>のメイン予定表が消せない件ですね…


メイン予定表は削除できない、なら、せめて予定表に入っている項目を全削除してやる!というのが、以下の試みです

  1. 引き続き、Outlookクライアントを使います
    アカウントの「予定表」を選択した状態で
    ビューの変更 > 一覧 を選択します

  2. これまで登録している予定の一覧が表示されます
    どれか選択した状態で、「Ctrl + A」で予定を全選択します

  3. あとは「Delete」を押して、全選択すれば、
    内容をとにかく消すことには成功します
    (予定表そのものは消せない様ですが)
    消す前に、一応以下の様な注意が出るので、思い切って「はい」をぽちっとな!

…過去に登録した項目は、メインの予定表からすべて消えました(●´ω`●)
いったんは、これで良しとしますかね…(´-`).。oO


<後片付け>Outlookクライアントからアカウントを削除

Outlook on the webの予定表を消すためだけに
Outlookクライアントにアカウントを登録したので、これを削除する画面キャプチャもついでに載せておきます

  1. 再び、メニュー > ファイル > 情報 に行き、「アカウントの設定」を選びます

  2. 先ほど登録した Outlook on the web 用のアカウントを選択し、「削除」を押します

これで後片付けも完了です

今回紹介した方法が、良いやり方かどうかは判りませんが
似たような事で困っている人の助けになればと思います~(^^♪

(参考サイト)


[UE4] Unreal Engine4のインストール要件

仕事上、色んな Game Engine を試しておりまして
先日、クリーンで、比較的低スペックな Windows10 PC に
Epic さんの Unreal Engine 4 をインストールしたときに、はふん?と思った件のメモです


Enreal Engine 4 のダウンロード はダッシュボードから出来ます (ログインが必要)

迷わず、Windows のプラットフォームを選択!

落としてきた EpicGamesLauncherInstaller-2.12.14-3176191.msi (2016/11/16現在) を実行します

あれ?

コンピューターにXINPUT1_3.dll がないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。

はて。。。何やら懐かしい香りのDLL名がエラーに上がっています( ̄▽ ̄)

UE4 のインストール要件って、なんだったっけ?と思ったのですが、ダウンロードの画面には、何も書かれてないんですよね~

よく判らないから、ドキュメントを見てみよう!ということで
「ハードウェア&ソフトウェア仕様」のドキュメントサイトを見ていくと
ソフトウェアのインストール要件が書かれていました

おぉぉ、DXのランタイム!お前さんだったのかぁ~

というわけで、DirectX End-User Runtimes (June 2010) を入れたら、すんなり UE4 のインストールは出来ました(^o^)

ランチャーのランタイムエラーが判りにくいよ…と思ったけど
これくらいのことはゲーム開発する人にとったら、許容範囲ですかね(^^;)

あと実は、UE4 は Win10 を
今日現在で、オフィシャルにはサポートしてないのかぁと思いました

単にドキュメントの更新の問題かしら???

まぁ今のところ、わたしの Windows10 の環境では
問題なく UE4 の開発環境は動いてるので、特に問題ないです(^^)


[Maya] Maya2015設定ウィンドウの開き方

Mayaはいろんな機能がありますね…
設定の開き方すら判らないという恥ずかしい思いをよくしているので、いざというときの自分のメモです

記載環境は、Maya2015 on Windows10 です

レンダリングエンジンの変更

Mayaのデフォルトレンダリングは OpenGL になっています
DirectX11 に変更する方法

  1. プリファレンスウィンドウを開きます
    Windows
     > Settings/Prederences
      > Preferences

  2. Display カテゴリの Viewport 2.0
    Rendering engine を変更できるドロップダウンリストがあるので、そこで変更できる

レンダー設定

上記はレンダリングエンジンについてでしたが、レンダリングの設定を触るところはまた別の箇所になっています

  1. レンダー設定のウィンドウを開きます
    Windows
     > Rendering Editors
      > Render Settings

  2. レンダー設定ウィンドウ

  3. 使うレンダリングの設定を、ここで選ぶことが出来ます
    わたしの場合は Maya Hardware 2.0 を選択したりしてます

ハードウェアレンダラ2.0設定

浮動小数レンダーターゲットを有効化したいとき

この画面は、Maya2015固有みたいです

  1. Mayaの作業画面(ビューポート)の RendererViewport2.0 の横にある、四角いチェックを押してみます

  2. Hardware Renderer 2.0 Settings のウィンドウが表示されます

  3. 精度を上げた浮動小数レンダリングをするには
    Floating Point Render Target の Enable にチェックを入れます
    フォーマットは、16bit と 32bit が選択できました

カメラの設定

  1. カメラアトリビュートを出すには
    Mayaの作業画面(ビューポート)の ViewSelect Camera を選択します

  2. Attribute Editor がぽこっと現れます
    違うものが現れたときには、
    横のタブに persp, perspShape
    縦のタブに Channel Box/Layer Editor, Attribute Editor があるので
    開きたいものを選択します

インストールされているプラグイン

  1. プラグインマネージャを開きます
    Windows
     > Settings/Prederences
      > Plug-in Manager

  2. プラグイン一覧がここで見れます

自分の必要なメモ書きでした
Mayaは奥が深いですね~


[Unity] Unity用YEBISプラグインのお話してきました

たまには、仕事のお話を…
現在、Unityのプラグインを絶賛開発中で、わたしも少し関わらせて頂いてます

なんのプラグインかというと、ポストエフェクト処理がかけられる「YEBIS」というプロダクトのプラグイン化になります

今、ベータ版として期間限定のトライアルを出し中。。

あぁ、なんでUnityのアセットストアじゃないのかって…?

実は、「特濃!ゲーム開発塾5」というイベントでこのプラグインの話をしてきたのですが、ストアの申請が間に合わず…><
とりあえず、GitHub Pagesに置いてます
(なので、アセットストアに公開するまでの、期間限定サイトです)

ちなみに、イベントURLはこれ

岩手県盛岡市はIT支援がとても盛んらしく、こんなゲーム開発者向けのお祭りイベントがあるんですね~

わたしが参加した日程は 8月9日(火)
対象となる人はプログラマー、もしくはプログラムを将来仕事にしたい人向け
現在、DMM.comラボにてプロデューサをされている松本卓也さんがメイン講師をされました

わたしは30分ほどセッション時間を頂き、このUnityプラグインのお話をさせて頂きました
発表に利用した資料はこれです

ベータ版なので動作不安定な点がいくつもあるのですが、人柱的に試しても良いかなーという心優しい方は、トライしてみてくださいm(__)m

ちなみにドキュメントはこちら

トップは英語で書かれてますが、実は日本語のドキュメントしか今は無いです