Nobu

Visual Programmerの西条 信広(Saijo Nobuhiro)です。 …

Nobu

Visual Programmerの西条 信広(Saijo Nobuhiro)です。 Programmingを使った Art/ installation 作品、Live演出、などをつくって活動しています。

マガジン

  • Visual Programming tips

    主に、Unity、Openframeworks、を使ったVisual Programmingのtips集です。

  • Works : Visual Programmer 西条

  • Works : Noobu music studio

  • FL studio

最近の記事

How to use mouseX in a class?【oF】

mouse X/Yは、ofBaseApp内で宣言されており、ofApp内からしかaccessできません。もし、別class内で使用したい場合は、 ofGetAppPtr()->mouseX; でaccessできます。 参考・How to use mouseX in a class?

    • c++ : kbhit on mac

      Linux/ mac、C/C++での開発環境で、Windowsでいうところの kbhit関数(キーイベントの取得) を再現したコードです。 /************************************************************■【C言語】Linuxでのkbhit関数(キーイベントの取得) https://hotnews8.net/programming/tricky-code/c-code03 ■Unixにリアルタイムキー処理をプログラミ

      • illustrator : バウンディングボックスのリセットがグレーアウトしてる時の対処法

        問題Adobe Illustrator 2021で、正方形(長方形)を描いた後、回転させて、「バウンディングボックスのリセット」してから潰そうと思ったのですが、「バウンディングボックスのリセット」がグレーアウトしてしまっており、操作ができませんでした。 今回は、こちらの対処法です。 Steps正方形を作成。 45度回転させて、バウンディングボックスのリセット…しようとしますが、グレーアウトに出会います。 オブジェクトを選択して[オブジェクト]-[シェイプ]-[シェイプ

        • mac用Editor "mi"の比較表示 設定

          miのversionが3.0.4r1になったので、更新したのですが、git repository登録されたFileを触ると、下図のように、「変更」「追加」「削除」した箇所に色が着くようになっていました。 sourceの変更 全部終わった後で、diffを見たい時はありますが、ずっとdiff見ながらsourceを更新して行くのは、正直 見辛い。 と、言うことでこれを回避する方法を探したのですが、この設定のon/offをする箇所が見つかりませんでした。しかし、色の設定は mi

        How to use mouseX in a class?【oF】

        マガジン

        • Visual Programming tips
          86本
        • Works : Visual Programmer 西条
          0本
        • Works : Noobu music studio
          0本
        • FL studio
          1本

        記事

          illustrator : png読み込んでから色を変える

          illustratorにpngを読み込んだ後、色を変えたい時は、illustrator上で、画像をベクター化することで対応できます。 * オブジェクトを選択。 * メニューバーのオブジェクト→画像トレース→作成して拡張 これで、画像から図形を判断し、イラストレーターがベクター化をしてくれました。このままだとグループ化されているので、"cmd + shift + g"でgroupを解除し、partsごとに色を塗ってください。 背景もベクター化されているので、これは、選択して削

          illustrator : png読み込んでから色を変える

          unity : SceneView : zoom

          macで、unityのScene Viewでのzoomは、2本指 scrollですが、この方法は、zoomの解像度が粗く、小さいObjectを扱う時に不便です。 そう言う時は、Objectを選択して、"shift + f"で近づいておいて、 "option + 右Drag"で細かくzoomできます。 より具体的には、"option + 2本指 Drag(押し込んで動かす)"です。 Control + 1本指click = 右click、であることから、 "option +

          unity : SceneView : zoom

          illustrator : 打ち落とし部分は「透明な縁」としてpng書き出しされてしまう

          illustratorで、「打ち落とし」がある状態でpng書き出しすると、「打ち落とし」部分が透明なエリアとして一緒に書き出され、一回り大きな画像になってしまいます。 実際、ofImage::getWidth(), ofImage::getHeight()で確認すると、実際にsizeが大きいことがわかります。 img::draw( )した時に、何故か縁ができてしまい、「何故だろう」と調べて発覚しました。もちろん、対応は、「打ち落とし = 0」に設定することです。元々Desi

          illustrator : 打ち落とし部分は「透明な縁」としてpng書き出しされてしまう

          oF : glm sytax

          No matching member function for call to ‘addVertices’ (ofMesh)of 11.0.0のofMeshでは、addVertex() においては、ofVec3fが使えたが、addVertices() では使えなくなっていた。glm::vec3を使わなければいけないようだ。 glmでは、各種methodがofVec3fとは異なるので、その点だけ注意。 参考URL* The new GLM syntax * glm * No

          oF : glm sytax

          unity : Hierarchy : たたむ/ 展開する

          Hierarchyにて、オブジェクトを選択した状態で、 * Command + option + 右キー : 子要素を展開 * Command + option + 左キー : 子要素を畳む

          unity : Hierarchy : たたむ/ 展開する

          unity : SetActive使用時の注意

          unityのscriptで、 GameObject.SetActive(true/ false); を使用する機会は非常に多いです。 しかし、すでにactiveなobjectをactiveにしたり、activeでないobjectを非activeにしたり、と言う動作をすると、その瞬間、動作が重くなるので注意です。変数を変えるノリで、「毎Frame呼ぶ」などすると、一気にFrameRateが落ちます。 さらに、その瞬間だけでなく、その後、「CPUが重くなる症状」が尾を引く・

          unity : SetActive使用時の注意

          unity : script実行順序を指定

          unityのscriptでStart()、Update()などのイベント関数がどのフレームで呼ばれるかはUnity側で決まっていますが、異なるスクリプト間で、どのスクリプトのStart()が先に呼ばれるかまでは決まっていません。 しかし、scriptの実行順を指定したい時があります。このような時に使えるテクニックです。 実際には、順番を指定できるのはMonoBehaviourを継承しているスクリプトという制限はありますが、順番指定ができるのはありがたいです。 How to

          unity : script実行順序を指定

          FL studio : 遅延補償をReset

          FL studioにて作業中、処理が重くなってくると(2つ同時に立ち上げたりすると、すぐなるのだが)、音が遅れて再生される現象が出る。 これは、処理が重い場合でも、plug-inを正常に動作させるためのものであるが、はっきり言って、作業がし辛くて仕方ない。 こんな時は、mixerのmenuから、"Reset manual latency on all tracks"でOKだ。

          FL studio : 遅延補償をReset

          unity : udp tips

          unity/ oF間でudpを送受信する際のtipsや注意点など。 Receivetimeout設定なし(timeout = ∞)の時、相手がいない時も含め、udp受信するまで、ずっと、udp.Receive( )で待機する。 この時、例外は発生しないが、Loopもまた、回らない。 後述するように、threadは、abortでなく、flagで終了処理を行うので、Loopが回らないのはBad。 なので、timeoutはStart( )で例えば udp.Client.

          unity : udp tips

          c++ : TerminalCommand from c++ program

          system( ) 関数を使う。 ただし、commandが終了するまで、そこで待機するので、別threadからcallするのが良い。 Github にsourceを上げておきました。

          c++ : TerminalCommand from c++ program

          oF : fbo AntiAliasing : Solid back

          やりたいこと* AlphaでCutoutした画像をfbo上で重ねたい * 画像同士の重なりはないが、Cutoutはしたい(背景を抜きたい) * -> fbo上もAlpha Blendし、fboをScreenに描画する時も、Alpha Blend. * 作成したfbo画像は、syphonでunityに送る 問題fbo.allocate(WINDOW_WIDTH, WINDOW_HEIGHT, GL_RGBA, 4); などとしても、エイリアスが見えてしまう。 原因/対策

          oF : fbo AntiAliasing : Solid back

          c++ : エイリアス宣言

          #include <stdio.h>class TEMP{private: public: void func(){ printf("func\n"); fflush(stdout); }};int main() { using TEST = TEMP; // エイリアス宣言で別名をつけられる. TEST temp; temp.func(); return 0;}

          c++ : エイリアス宣言