graphics.hatenablog.com

技術系テクニカルアーティストのあれこれ

オンメモリに展開したPythonスクリプトをimportする。

Python 3.6 で meta_path 周りが色々整理されてたっぽいから使ってみた。 github.com 概要 importer find_spec() create_module() exec_module() カスタム importer のサンプル

ゆるい管理職。

入社して間もない年上の部下に「こんなに "ゆるい" のにちゃんとチームとしてまとめることができてるのがすごい」と褒めてもらうことがあった。曰く、彼自身が過去に管理職を担当していたときはもっと強権的だったこともあり、これほどの "ゆるい" マネジメ…

育休を4ヶ月とってみた。

育休もだいぶ終盤に差し掛かってきたので、備忘録がてら、思いつくままにメモっておく。※なお本記事はクソ長ポエムである。 お金 育休取得期間 仕事 前準備 出産 予習 新生児期 ワンオペ二交代制 初期育児のタスク負荷 2ヶ月目以降 育児タスクの分担 notワン…

PySideのイベント関数をシグナル化してみた。

あるいはイベントとシグナルとMeta-Object Sytemについて。 github.com イベントとシグナル Meta-Object System 実装

言語化の段階とエンジニアTAのトレンドについて。(前回の記事の補足)

前回の記事を眺めていて、少し説明が足りてない気がしたので補足する。 graphics.hatenablog.com 前回の記事では「言語化」「可視化」の2点を挙げたのだけど、大半の組織では、前者の「言語化」についてはそれほど困っていない、あるいは言われずとも試行錯…

「『TAが欲しい!』じゃ伝わらない ~現在のゲーム業界におけるTA再定義、再認識~」についての雑感。

クリーク・アンド・リバー社 さんが CEDEC でおもしろい講演をしてたので、それについて思うことを書いてみる。まずは講演内容をざっと要約して、その中の論点について、自分の脳内を書き下してみようと思う。 cedil.cesa.or.jp これはあくまで個人的な考え…

USD Tutorials を C++ でやってみた。

だいたい Python だったから C++ でやってみた。 いろいろ調べながら頑張ってお勉強しようとするよりも、まずは何も考えず公式チュートリアルを読みながら写経するのがよさげ。あと C++ だと namespace とか型定義が Python と微妙に違うのと、include でフ…

USD-20.05 の Windows ビルドメモ。

Visual Studio 2017 以降じゃないとビルドできなかった。 Maya 用に 2015 ビルドが欲しいんだけど、どうしたもんかな。。 ビルド Visual Studio起動 コード修正 プロジェクトプロパティ テストコード

PySide でエクスプローラー系モジュールを実装してみた。

この記事の続編みたいなもの。 graphics.hatenablog.com ソースコード 基本設計 ViewModel なウィジェットのベースクラス DirectoryTree FileList ファイルアイコン QIcon の非同期バッチ生成 サムネイルビュー

Substance Designer の動的な構成管理。

ざっくり触ってみてこりゃ無理だなと思ったので。なお、Substance Designer は Maya なんかと比べると色々な箇所が速く変わっていくソフトウェアなので、ここで書いてあることが数カ月後には通用しなくなっている可能性もある。その場合はご了承を。*1 ヒュ…

QImage の読み書きあれこれ

たしかに GUI 関係に限らずサムネ画像とか直で DB にいれたりするのってたまに便利よね。 QImage でやったことはなかったので軽く試してみた。既に見られてるかもですが公式に一応ドキュメントがhttps://t.co/eheIYcJK4C— トモハラ (@tm8r) 2020年3月6日 前…

.Net Framework から .Net Core 3.1 への Assembly Loading/Unloading 移植メモ。

自作のツールを .Net 4.6 から .Net Core 3.1 に移植したので、メモがてら記事化しておく。 GitHub - hal1932/csi: CSharp pseudo Interpreter → C# をランタイムコンパイルしてPythonとかRubyの代わりに使う - graphics.hatenablog.com GitHub - hal1932/Cs…

今度こそ from import を reload する。

この記事は Maya Advent Calendar 2019 - Qiita の 22 日目の記事になります。 前日の記事は @lie_871221 さんの mayaコマンドを使ったGUIの書き方 - Qiita でした。 Python API 2.0 についてなにか書こうと思ってたんだけど、ネタに詰まったので、過去に書…

Maya負荷テスト用シーン作成メモ

テクスチャ用画像作成 @echo off setlocal enabledelayedexpansion set PATH=%PATH%;C:\Program Files\ImageMagick-7.0.9-Q16 for /l %%i in (0, 1, 9999) do ( set N=0000%%i set N=!N:~-4! magick convert -background lightblue -fill blue -size 100x100…

Reading PyMEL: ex01. ノード周り書いてみた

いくら趣味とはいえずっと読んでるのも大変だから、試しに自分でも書いてみた。 まずは PyNode に相当する部分から。github.comQyMEL って名前に特に意味はなくて、まぁとりあえず "P" の隣で "Q" にしとこうかな*1ってくらい。 基本設計 __new__ を使わない…

Reading PyMEL: 02. createFunctions

前回の記事で "import pymel.core as pm" はなぜ遅いのか? を書いたので、ここをもうちょっと深堀りしてみる。 pm.polyCube() みたいに、PyMEL はなぜ MEL コマンドを直接呼ぶことができて、しかも返り値を PyNode で受けとれるのか? PyMEL 経由でコマンド…

Reading PyMEL: 01. PyNode

ふと思い立ってコードを読んでみることにした。 github.comまずは pymel.core.PyNode から。 意外と複雑だし、ちゃんと読んだことのある人ってそんなに多くはないんじゃなかろうか。 PyNode の機能 シーン内オブジェクトへのアクセス PyNode インスタンスの…

C#とPythonからC++を叩いてみる。

たとえば Unity と Maya の両方で同じロジックを使いたい場合、C# と Python で同じものを実装するのはとてもだるいので、C++ で書いてから共有できるようにしてみた。 GitHub - hal1932/DllExportTestこの手のことをやるときは基本的には SWIG で全然問題な…

PySide ウィンドウに大量の画像を表示する

PySideのThread使って謎の異常終了で悩まされたので色々と調べ直した参照渡しィィィ!!!https://t.co/TB7JtgQc5G— あんどうめぐみ@れみりあ (@fereria) 2019年8月18日 そういや PySide でスレッド周りあんまやったことないなぁ……と思ってやってみた。 お題…

Maya 用 PySide メインウィンドウの雛形。

ホリデープログラミング向けの Maya メインウィンドウの雛形を晒してみる。 ちょいちょい雑な実装もしてるけど、まぁそこはあくまで個人開発のテスト向け*1ってことで。 maya_test/maya.py at master · hal1932/maya_test · GitHub ライブラリコード findChi…

PySide で多言語対応してみる。

maya_test/main_window.py at master · hal1932/maya_test · GitHubそのうち必要になる気がするので手順をメモっておく。 Qt Linguist のインストール 多言語対応の UI を組む pyside-lupdate 言語の反映 動的な言語切り替え

PySide で QGraphicsView を使ってみる。

ノードエディタっぽいものを試しにつくってみたので、気になったとことかをいくつかメモっておく。 maya_test/tools/node_editor at master · hal1932/maya_test · GitHub 基本設計 QGraphicsItem が QObject 派生ではない QGraphicsItem にイベント実装が足…

GUIとレイアウトの基本

こないだ会社で軽く説明したかんじ、意外と需要がありそうだったのでまとめておく。 ツールプログラミングの第一歩。理論編。 基本のクラス構造 EventDispatcher Widget Layout ItemsWidget 自動レイアウトの基本形 Stack 系 Row (Horizontal) Column (Verti…

Python のプロパティあれこれ。

PyMEL の utils.cachedProperty をみてふと思ったのでやってみたコネタ。python/property.py at master · hal1932/python · GitHub public フィールド property をそのまま使う fget 内で hasattr してから setattr property 作成時に setattr して getattr …

テクニカルアーティストのための「5つの習慣」

GDC Vault - Technical Artist Bootcamp: Identifying Technical Art by Its Habitsあまり見かけないかんじでおもしろかったのでざっとまとめてみる。内容は、「習慣」というものからどういった性質をもつ人間がテクニカルアーティストたりうるかを考える、…

Python で from import を reload する。

※ このエントリは Maya Python Advent Calendar 2017 - Qiita の 3 日目です。 ※ エントリ中に挙がってるコードの改善版は こちら Maya-Python といえば reload ですね。 reload といえば from import ですね。 つらいのでなんとかします。 前置き そもそも…

JSX (Photoshop) を include 展開してみる。

github.comJSX って基本的には配布後にインストールしてもらう形式になるだろうし、配布済みスクリプトの更新でトラブルになるような気がした。ので、include を全展開して 1 ファイルだけユーザに渡せるようにしてみる。本番配布で使うんじゃなくて、「こん…

エンジニアTA向けGUIチュートリアルとしてのファイルエクスプローラ実装。

そろそろPySideをちゃんと覚えようと思ってファイルエクスプローラをつくってみた。 これ個人的に GUI ネタとしてはわりといいかんじだと思ってるのでざっくり紹介してみる。エクスプローラっていろんなGUIネタが詰まってるから、チュートリアルとしてはたぶ…

2回目のP2P、っぽいなにか。

前回の続き。 サーバからピアへの返信をメッセージングからHTTPに変更した。 サーバからピアへの返信をJSON形式に統一した。 再利用できるように全体的にコードを整理した。 github.comgraphics.hatenablog.com

はじめてのP2P、っぽいなにか。

NSQとHTTPをベースにしてトポロジっぽいものを組んでみた。とはいえネットワーク周りはまったくの専門外なので、とりあえずは 個数が動的に増減する複数のクライアントノード間でいいかんじに分散処理できること ネットワーク上にサーバがいないときにクライ…