IPythonことはじめ

「IPythonデーターサイエンスクックブック」を買ってきたのでやってみる。 洋書の原書も買ってたが家で塩漬けになっていたり・・・ インストール Windowsでやる。 普通のPythonだとnumpy等のライブラリを揃えるのが大変なので、 付属ライブラリが添付されているAnacondaパッケージを使いましょう。 https://www.continuum.io/downloads python3.5(64bit)を選んでみた。 起動 > mkdir notebook > cd notebook notebook> C:\Anaconda3\Scripts\ipython.exe notebook カレントディレクトリが作業領域になるのでC:\から実行したりすると404って言われる。 実行 右上の[new]を押して、[python3]を選択。 ”‘python print(‘hello’) ``` と入れて[shift+enter]で実行。 [Read More]

UnityのSerializedObject

UnityのSerializedObjectのメモ。 PropertyDrawers have two uses: - Customize the GUI of every instance of a Serializable class. - Customize the GUI of script members with custom PropertyAttributes. できることは2つ。 Serializeable classのPropertyDrawerを定義する。 PropertyAttributeを定義して既存のSerializable classのPropertyDrawerを差し替える。 Not Serializableなclassに対してPropertyDrawerを定義することはできぬ(TimeSpanとかね)。 PropertyDrawerを定義してみる using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif public class SampleAttribute : PropertyAttribute { } #if UNITY_EDITOR [CustomPropertyDrawer(typeof(SampleAttribute))] public class SampleDrawer : PropertyDrawer { public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { var sampleAttribute = (SampleAttribute)attribute; Debug. [Read More]

WebPackやってみる

gulpだけでいっぱいいっぱいだったので敬遠していたwebpackをやってみる。 #ことはじめ http://webpack.github.io/docs/ http://webpack.github.io/docs/tutorials/getting-started/ webpackをインストールして > npm install webpack -g サンプルファイルを用意して entry.js document.write("It works."); webpack実行。 > webpack ./entry.js bundle.js Hash: ca188ee5789bb780fcec Version: webpack 1.12.12 Time: 52ms Asset Size Chunks Chunk Names bundle.js 1.42 kB 0 [emitted] main [0] ./entry.js 28 bytes {0} [built] entry.jsを入力し、bundle.jsが出力される。 bundle.js /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) /******/ return installedModules[moduleId]. [Read More]

UnityでToon

Toonシェーダーをやってみる。 メニューからインポートすると、 Assets > Import Package > Effects Assetsが現れる。 Standard Assets/Effects/ToonShading Toon/Lit Standard Assets/Effects/ToonShadingのshaderを自分のフォルダにコピーして改造する。 #UsePassを展開して改造準備 Shader "MyToon/Lit Outline" { Properties { _Color ("Main Color", Color) = (0.5,0.5,0.5,1) _OutlineColor ("Outline Color", Color) = (0,0,0,1) _Outline ("Outline width", Range (.002, 0.03)) = .005 _MainTex ("Base (RGB)", 2D) = "white" {} _Ramp ("Toon Ramp (RGB)", 2D) = "gray" {} } SubShader { Tags { "RenderType"="Opaque" } UsePass "Toon/Lit/FORWARD" UsePass "Toon/Basic Outline/OUTLINE" } Fallback "Toon/Lit" } Toon/Litのinspectorの [Read More]

UnityのShaderを書いてみる

アルファブレンディング シャドウキャスター シャドウレシーバー なシェーダー。 基本 新規作成 Create -> Shader -> UnLitShader CustomShader Shader "CustomShader" { Properties { _MainTex ("Texture", 2D) = "white" {} } SubShader { Tags { "RenderType"="Opaque" } LOD 100 Pass { CGPROGRAM #pragma vertex vert #pragma fragment frag // make fog work #pragma multi_compile_fog #include "UnityCG.cginc" struct appdata { float4 vertex : POSITION; float2 uv : TEXCOORD0; }; struct v2f { float2 uv : TEXCOORD0; UNITY_FOG_COORDS(1) float4 vertex : SV_POSITION; }; sampler2D _MainTex; float4 _MainTex_ST; v2f vert (appdata v) { v2f o; o. [Read More]

UnityのUsePassを追う

下記のUnityの半透明シェーダーがいったいどういうメカニズムなのかを調べる。 Shaderの元ネタはこちら Unity で Transparent/Diffuse で描画順が崩れてしまう際の対処法 Shader "Transparent/Diffuse ZWrite" { Properties{ _Color("Main Color", Color) = (1,1,1,1) _MainTex("Base (RGB) Trans (A)", 2D) = "white" {} } SubShader{ Tags{ "Queue" = "Transparent" "IgnoreProjector" = "True" "RenderType" = "Transparent" } LOD 200 // extra pass that renders to depth buffer only Pass{ ZWrite On ColorMask 0 } // paste in forward rendering passes from Transparent/Diffuse UsePass "Transparent/Diffuse/FORWARD" } Fallback "Transparent/VertexLit" } 2パス描画になる。 [Read More]

Unity5.3でWebGL

var Module = { TOTAL_MEMORY: 268435456, errorhandler: null, // arguments: err, url, line. This function must return 'true' if the error is handled, otherwise 'false' compatibilitycheck: null, dataUrl: "Release/WebGL.data", codeUrl: "Release/WebGL.js", memUrl: "Release/WebGL.mem", }; こっちが未加工のindex.html。 Unity5.3のWebGLを試してみる。 http://blogs.unity3d.com/jp/2015/12/07/unity-5-3-webgl-updates/ http://docs.unity3d.com/530/Documentation/Manual/webgl-gettingstarted.html とりあえずbuildして動かしてみた。 下記のようなディレクトリ構造で出力されていた。 │ index.html │ ├─Release │ .htaccess │ UnityLoader.js │ WebGL.datagz │ WebGL.jsgz │ WebGL.memgz │ └─TemplateData favicon.ico fullbar.png fullscreen.png loadingbar.png logo.png progresslogo.png style. [Read More]