Blender Python : オブジェクトの頂点座標取得

オブジェクトの頂点情報は MeshVertex に保存されます MeshVertex::co 頂点一覧を取得したい場合 for v in bpy.context.object.data.vertices : v.co

Blender Python : オブジェクトのロケーション取得

オブジェクトのロケーションは Object::location に保存されます bpy.context.object.location 選択中オブジェクトのロケーション取得するコード for obj in bpy.context.selected_objects : obj.location

【Erlang】FizzBuzz

ErlangでFizzBuzz~ %% fizzbuzz.erl -module(fizzbuzz). -export([run/1]). %% Fizz Buzz リストに変換 convert([]) -> []; convert([H|T]) -> [convert(H)|convert(T)]; convert(H) when (H rem 15) =:= 0 -> 'FizzBuzz'; convert(H) when (H rem 3) =:= 0…

【Erlang】Erlangもくもく会に参加してきました

@_yosssiさん主催のErlang勉強会に参加しました自分は「プログラミングErlang(飛行機本)」を買って勉強しました今回は1~3章の途中まで読みました関数型言語は初めてなので、なかなか新鮮でしたErlangについて詳しくなかったのであまり発言できず、もくも…

【TEDTalk】TEDトーク世界最高のプレゼン術を読もう

第二章:トピックを選ぶこの章で学んだこと 1.プレゼンが終わったら、聞き手に「どうなっていってほしい」と考えながらテーマを選ぶ 2.ストーリと事実を積み重ねながらトークを組み立てる この章に紹介された動画メアリー・ローチ:あなたの知らないオーガズ…

【TEDTalk】TEDトーク世界最高のプレゼン術を読もう

第一章:TEDの使命TEDとは テクノロジー・エンターテインメント・デザインなど 様々な分野の人物がプレゼンテーションを行なうカンファレンスです 年一回に開催され、講演会の内容はインターネット上で無料で観ることができますこの章に紹介した動画のまとめ…

【C++】長いfor文とおさらばだ

C++

C++11の範囲for文を使ったらSTLのコンテナを簡単に回せる std::vector<int> v; // C++03 for(int i = 0 ; i < v.size() ; i++) { v[i]; } // algorithm std::for_each(v.begin(),v.end(),func); // C++11 for(auto it : v) { it; } 見やすくて書きやすいだけど、</int>…

【C#】C#でboost::bindを実装してみた(3)

前回の続きです 引数の部分束縛を実装に以下問題がありました ①どの引数を束縛するのかはどうやって指定するの? ②たとえ引数を適当を渡しても、両方も当てはまるのでエラーが発生します これらを対策してみました ①束縛する引数を指定する Placeholder 引数…

【C#】C#でboost::bindを実装してみた(2)

前回にはすべての引数を束縛することができました 部分的に束縛をやりたいと思います イメージ // メソッドを定義する public static void DelegateMethod(int a,int b) { // do do something } // デリゲートを保存する(第2引数を束縛する) Action action …

【C#】C#でboost::bindを実装してみた(1)

boost::bindはなかなか便利で、 C#のデリゲートで実装してみました デリゲート C#では delegate という メソッドをカプセル化する機能がありました 実際自分から定義する必要なく、 Action と Func を使用することが多いです Action と Func の簡単な例 // i…

【C#】BitArray覚えた

BitArrayとはビット値の小型の配列を管理するクラス 基本の使い方 例えば4ビットを管理するクラスを生成する // BitArray生成 BitArray bits = new BitArray(4); // [false,false,false,false]で初期化 // ビット2をtrueに設定 bits.Set(2,true); // ビット…

【C#】列挙型の項目数取得

例えば、こんな感じな列挙型を定義する enum Direct { Up, Down, Left, Right } 項目数取得 // enum => string[] => 文字列数取得 Enum.GetNames(typeof(Direct)).Length; テンプレートで実装する public static class EnumExtension { public static int Le…

【C#】ジェネリック引数付きコンストラクタ

C#では テンプレート型のコンストラクタに引数が渡せません using System; public class Foo<T> where T : new() { public Foo() { new T(1); } } `T': cannot provide arguments when creating an instance of a variable type 詳細:Compiler Error CS0417 Ty</t>…

【Unity】構造体属性

C#では union がなかったが、似ている機能があります StructLayout属性 構造体のレイアウトを指定可能にします FieldOffset属性 変数を指定位置に配置します [FieldOffset(バイト)] 例 ARGBを保持するクラスを作成します using System.Runtime.InteropServic…

【C#】Action と Funcメモ

C#

ActionとFuncの違いは戻り値あるかどうかですAction:戻り値なし Func:戻り値あり両方とも パラメーター 16 個まで用意されます

【C++】 クラスの呼び方

C++

クラスの継承関係ではいろんな呼び方があります 1. class 子クラス : 親クラス {}; 2. class 派生クラス : 基底クラス {}; 3. class サブクラス : スーパークラス {}; D&E本では2番目を使用されます 自分も 派生クラス/基底クラス に 統一しようと思い…

【雑記】Googleドキュメント

資料をまとめようだが、自宅のPCにはMicrosoft Officeをインストールしてなかった Chromeは結構前から使っていまして、Googleドキュメントは初めて起動したささやかなことにニールセン博士の記事を思い出した ユーザーの知識は低いレベルで停滞する新たな発…

【C#】演算子のオーバーロードメモ

C#

public static 戻り値型 operator 演算子 (パラメータリスト) サンプル class Foo { public int X {get;set;} public Foo(int x){ X = x; } public static Foo operator + (Foo lhs,Foo rhs) { return new Foo(lhs.X+rhs.X); } }

【C#】 Enum メソッド

C#

C#にはEnumを配列に変換するメソッドが用意されています例えば、以下の enum を定義されます enum Type { X = 10, Y = 20, Z = 30, } Enum -> string[] string[] names = Enum.GetNames(typeof(Type)); Enum -> Array int[] values = (int[])Enum.GetValues(…

【Unity】ユニットテスト:UUnit

UUnitはUnityIDE内実行できるユニットテストフレームワークです 何種類のユニットテストフレームワークを試してみて、 UUnitは一番使い勝手いいと思ったので導入方法を紹介します ダウンロード先 http://wiki.unity3d.com/index.php?title=UUnit 最新バージ…

【Unity】文字列プルダウンメニュー

Inspectorに文字列プルダウンメニューを表示する PulldownAttribute // PulldownAttribute.cs using UnityEngine; public class PulldownAttribute : PropertyAttribute { public string[] names; public PulldownAttribute(params string[] names) { this.n…

【Unity】 HideInInspector

スクリプトのpublic変数をInspectorに表示したくない場合 HideInInspectorを使用すればいい public class Foo: MonoBehaviour { { [HideInInspector] public int bar; }

【Unity】 自作Attributeでコメント表示

練習としてパラメータにマウスオーバーしたら コメント表示用Attributeを作成してみます CommentAttribute PropertyAttributeを継承して、コメント保存用クラスを作成します // CommentAttribute.cs using UnityEngine; public class CommentAttribute : Pro…

【C#】名前付き引数を覚えた

void func(int width,int height) { // do something } void bar() { func(height:10,width:20); } 1.引数の順番を気にしなくかける 2.呼び出すコードを見ただけで引数の意味が分かる void bar() { func(/*width*/20,/*height*/10); } C++では名前付き引数を…

【Unity】DontDestroyOnLoad

Unity には シーンを変更時、古いシーンに生成されたオブジェクトを破棄されます シーンを跨いでオブジェクトを使用したい場合 スクリプトのAwakeが呼ばれたら、DontDestroyOnLoadを使えばいいです public class Example : MonoBehaviour { void Awake() { D…

【Unity】RangeAttribute

Inspectorにはスクリプトから公開された変数を調整できる public class SpinScript : MonoBehaviour { public float spin; } 有効範囲を設定したい時、RangeAttributeを使えばいい public class SpinScript : MonoBehaviour { [Range(0,10)] public float sp…

【Unity】Delegates 勉強した

C# delegate の使い方をメモします デリゲート class Foo { delegate void MyDelegate(int num); // delegateの要求形式を記述 MyDelegate myDelegate; public Foo() { myDelegate = PrintNum; myDelegate(10); myDelegate = PrintDoubleNum; myDelegate(10)…

【Unity】GameAnalytics SDK for Unity

データ集計&解析ツール GameAnalytics SDK for UnityUnityのAssertStoreに無料公開中です

【C++】std::bitset のoperator[]

C++

使ってみて少し迷いました #include <bitset> #include <vector> #include <iostream> int main() { std::bitset<4> bit(0b1000); std::vector<int> v = {1,0,0,0}; if(v[0] == bit[0]) std::cout << "true" << std::endl; else std::cout << "false" << std::endl; } false 違和感があった</int></iostream></vector></bitset>…

【Unity】拡張メソッド(Extension Methods)

Transform クラスをリセットするメソッドを追加したい場合*1 // こんな感じで呼び出したい transform.ResetTransformation(); 拡張クラスを書く // ExtensionMethods.cs using UnityEngine; using System.Collections; // 拡張メソッド. このクラスは static…