ヘキサ日記 Blog

 

2017年5月23日

本日のMaya Python API 2.0

        

こんにちは、ヨセミテです。

スープカレー、最近はラマイにしか行ってません。割愛。

 


 

今回は何を取り扱うか、前日にAPI2.0のドキュメントを眺めてどれにしようか考えてました。当日にドキュメントを眺めだした前回とくらべると非常に大きな進歩ですね。

 

今回はポリゴンモデルを操作するために用いられる基本的な5つのAPIクラスと銘を打たれているクラスを扱ってみます。丁度前回ふれていない方のMIt~の方のクラスが多いです。

 

MItMeshPolygon

MItMeshEdge

MItMeshVertex

MItMeshFaceVertex

MFnMesh

 

要はポリゴン、頂点、エッジ、UV、メッシュ全体などです。しょっちゅう使いますがあんまりしっかりまとめたことが無かったのでまとめてみます。

これらは同様の流れで使用する準備を整えることが出来ます。

 


 

前回同様に適当なメッシュを用意して、

適当なメッシュ

前回同様にMGlobalクラスでメッシュのDagPathを取得します。

import maya.api.OpenMaya as om2
selList    = om2.MGlobal.getActiveSelectionList() # 選択対象からSelectionListを取得
selDagPath = selList.getDagPath(0)                # MSelectionListからindexを指定してDagPathの取得

で、DagPathを、引数にしてインスタンスを作成。全部同じ形です。

# メッシュ関連のライブラリは全てメッシュのDagPathを定義時に指定することで操作できる
mitMeshPolygonIns  = om2.MItMeshPolygon(selDagPath)
mitMeshEdgeIns     = om2.MItMeshEdge(selDagPath)
mitMeshVertIns     = om2.MItMeshVertex(selDagPath)
mitMeshFaceVertIns = om2.MItMeshFaceVertex(selDagPath)
mfnMeshIns         = om2.MFnMesh(selDagPath)

 これで上記の各クラスのリンク先にある処理を利用できるようになりました。

# 例えば割り当てているindexのエッジの隣接フェースを取得できます。
mitMeshEdgeIns.setIndex(6) # indexの指定
connectedFace = mitMeshEdgeIns.getConnectedFaces()
print connectedFace

 MIt~のクラスはイテレーターという連続処理に特化したクラスであり、.next()で順番に全ての要素にアクセスしていく、もしくは.setIndex()で指定のindexにアクセスするという処理を行います。

# イテレータをまわして全フェースのを面積調べる
mitMeshPolygonIns.reset()                  # .resetで現在のindexを初期化できます。
print mitMeshPolygonIns.index()            # .indexで現在のindexを調べられます。
for n in range(mitMeshPolygonIns.count()): # .countで全体の長さを調べられます。
    faceSize = mitMeshPolygonIns.getArea()
    print faceSize                         # フェースの面積
    mitMeshPolygonIns.next(1)              # なぜかポリゴンだけnextに引数が必要…?ドキュメントに書いてないんで多分バグ

 MItMeshPolygonの不審な挙動発見

イテレーター自体に関しては本来のPythonにある実装なので興味のある人はググって見てください。

 

もうちょっとAPI2.0での処理をかいてみましょう。

定義さえ済ませてしまえばcmdsやMELとさほど違いはありません。

# イテレータをまわして全頂点を -1 ~ 1 範囲でランダムに移動
import random
mitMeshVertIns.reset() # .resetで現在のindexを初期化できます。
for n in range(mitMeshVertIns.count()):
    randPos = [random.uniform(-1,1),random.uniform(-1,1),random.uniform(-1,1) ]
    currentPos = mitMeshVertIns.position()
    PosData = om2.MPoint(currentPos[0] + randPos[0], currentPos[1] + randPos[1], currentPos[2] + randPos[2])
    # 座標データはopenMayaの座標データ用のインスタンスで求められる場合も結構あります。
    mitMeshVertIns.setPosition(PosData)
    mitMeshVertIns.next()
# イテレータをまわしてフェースの方向が下を向いているポリゴンを削除する
mitMeshPolygonIns.reset()
targetIndex = []
valueLambda = 0.00001 # 許容誤差
for n in range(mitMeshPolygonIns.count()):
    currentNormal = mitMeshPolygonIns.getNormal()
    xFlag =  0.0 - valueLambda < currentNormal[0] <  0.0 + valueLambda
    yFlag = -1.0 - valueLambda < currentNormal[1] < -1.0 + valueLambda
    zFlag =  0.0 - valueLambda < currentNormal[2] <  0.0 + valueLambda
    if xFlag and yFlag and zFlag:
        targetIndex.append(mitMeshPolygonIns.index())
mitMeshPolygonIns.next(1)
for n in targetIndex[::-1]:
    mfnMeshIns.deleteFace(n)    # MFnメッシュクラスはMIt~で取得したインデックスを指定して色々出来る

 


と、いうことでMeshのAPIはメッシュのDagPathを取得すればこのように大体利用できます。あとはリファレンスを見て何をしたいかに応じて試してみてください。

 

経験上、cmdsやMELを使っている人がAPIに移行する際に一番大きな障害になるのはAPIの利用方法です。使い方さえわかってしまえば色々なプロセスを効率化していきたい人たちもいるかなと思います。

Maya Python API 2.0 は非常に使いやすい仕組みに作られているので興味のある人が使ってみて、利用者が増えていってくれれば良いですね。

 では。

 


2017年5月22日

筋肉+計測=????

        

昨日の快晴の中、海辺でピザ窯で焼いた自家製ピザとバーベキューをいただいていたので、

逆に太陽に体力を奪われてしまい身体がだるいおのってぃです。

 

今日は前々回に予告した気がする筋肉の活動を取得する機械について説明しようかなと思います。

いきなりですが、全体像がこれ。

DSC_0027

サイズ感が一切わからないですね。。だいたいタバコ箱程度の大きさです。

 

諸般の事情で電子回路を触る人にはわかる程度にざっくりと全体の構成を書くだけで、回路図は割愛させていただきます。

・1次増幅器 ・・・ だいたい10~50倍程度のごく普通のオペアンプを利用した反転増幅器です。

・2次増幅器 ・・・ 数百倍オーダーのごく普通のオペアンプを利用したハイパスフィルタ(だいたい5Hz)、ローパスフィルタ(だいたい1000Hz)付き反転増幅器です。

・出力先 ・・・ 上記写真には写っていませんが、出力はモノラルフォンプラグにしているので、そのままPCにさすことでマイクからの入力として筋肉の活動を取得できます。加工もなんでも思いのまま。

 

~~

高精度でノイズレスにするためには大型化や複雑な回路になるのですが、

生体活動を計測する仕組みのコアそのものはシンプルだったりします。

このような計測機器を利用したものが、アミューズメント施設にあってもよさそうなのになと思っていたこともあるのですが、結構大きな問題がつきまとっていることに気づき今ではあきらめムードです。

 

①ケーブルが揺れるととても大きなノイズが発生する(定期健診などの心電図検査ではそうならないように横になるはずです)。

②周りに機械が多数存在しているとノイズが発生する。同じコンセントにアースがついていない他機械のプラグをさすなんて以ての外(定期健診などの心電図検査ではそうならないように専用の部屋があるはずです。)。

③後ろや横を人が通っただけでノイズが発生する場合がある(定期健診などの~以下略)

(④そもそもそのような専用コントローラを準備して面白いゲームができるのか)

 

個人として勝手に作って勝手にコントローラなどをハックして勝手に楽しむ分には可能だと思いますが、

商品として提供するにはこの技術では無理かなぁ、と思います。

 

書きながらふと思ったのですが、もしかしたら「戦場の絆」のような筐体で「戦場のダイモス」を作れば、

もうそれは原作を再現できて、一部嬉しい人々もいるかもしれません。

しかしダイモスを知っている世代が限定されているので、

どこかで再放送をしていただけないものでしょうか。

かくいう僕もまともに全話見たこと無いので。

 

~~

なぜこの記事がダイモスの再放送希望に着地してしまったのか自分でも不思議です。

世の中不思議なことっていくらでもあるんですね。

ではまた。


        

ラーメン少女・ミェンミェンが気になっているこの頃。
某(なにがし)です

 

今週末の5月20~21日、国内最大級のインディーズゲームイベント
「BitSummit」
が京都市勧業館みやこめっせにて開催されます。

 

A 5th Of BitSummit 公式サイト

 

とてもたくさんのゲームが、クリエイターが集う、熱いイベントです

 

今年は弊社も出展しますので、
是非とも足を運んで頂けたらと思います!

 

弊社のBitSummit参加は、
2014年の「ダイコン王の野望ッッッン!!」出展以来となります。

 

あれからヘキサのオリジナルゲーム開発は続いていまして、
昨年秋にはスマホゲーム
「アイテム代は経費で落ちない~no item, no quest~」(略称:アイ経)
をリリースしました。

 

アイテム代は経費で落ちない~no item, no quest~ 公式サイト

アイ経は先日、全世界で10万ダウンロードを突破したばかりです!めでたい!
(でも、綴りは間違ってる・・・)

 

既にアイ経のコンテンツ追加は終了しましたが、
アイ経チームは引き続きオリジナルゲーム制作のため再出発しました

 

それが、オリジナルゲームブランド

 

「Ficustone project(フィクストーン・プロジェクト)」

 

です

20170518_ficustone

プロジェクトロゴは、ヘキサイメージの六角形が入っています

 

現在、Ficustone project第2弾タイトルとして
「魔法パスワード1111」(略称:まほぱす)
を開発中です!

 

魔法パスワード1111 ティザーサイト

 

BitSummitでは、「まほぱす」の試遊版を出展します!
まほぱすのバトルが簡単に体験できる内容になっているので、遊んでみてください

 

そして、さらに!

 

今回は新たな取り組みとして、
Ficustone projectグッズの販売も同時に行ないます

アクキーがなかなかきれいな仕上がりで良いんですよ

 

「設定資料集+開発資料集」については、
「アイ経」と「まほばす」の設定資料&開発資料を本にまとめたものとなります。

 

せっかくインディーズゲームイベントに出す、ということだったので、
開発の裏側を書くと面白いんじゃないか!?
と思い、企画書仕様書といった開発資料も入ってます。

 

なかなか珍しいのではないでしょうか

 

ゲーム開発に興味のある方にも、
きっと楽しんで頂ける内容かと思います

 

以上がヘキサの出展内容です

 

ということで、
今週末の予定が空いている方は、BitSummitに足を運んでみませんか


2017年5月17日

静岡ホビーショー2017

        

こんにちは!モリタです。

暑かったり、寒かったり、丁度良かったりする日があって、体調管理も大変ですね・・。

 

そんな日々が続きますが、

先週の休みは静岡ホビーショーに行ってきました!
20170517_静岡ホビーショー01
タミヤ本社。この中にも入れましたー。

 

初めて来たので、分かれている2会場(タミヤ本社⇔ツインメッセ静岡)を

シャトルバスで行き来するのがちょっと大変でしたが
自衛隊からの参加もあったりと、普段見られないものがたくさんあって面白かったです! 

 

20170517_静岡ホビーショー02
LAV・・ちょっと思い出として聞きたくない名前でしたが・・。

 

20170517_静岡ホビーショー03
横山 宏 氏の素晴らしい作品!

 

20170517_静岡ホビーショー04
渋めな辺りをうろうろと・・職業柄、建物の構造はどうも見てしまいますね

(ちなみにこちら6万円とのこと・・) 

 

20170517_静岡ホビーショー05
これが艦これか・・!

 

色々な展示物があって楽しかったです!
ただ、ありすぎて広すぎて、時間の都合もあってガンダムや美少女は見れなかったのです 

 

普段モニターでしか見ていないようなものを
実物で見るとやはり刺激を受けますね!

うまく立ち回れてなかったのもあるので、また機会があれば行きたいと思います!
それではまたです~


        

最近は寒かったり暑かったり
衣替えの時期がよく分からない・・こんにちは  さとうです

 

さて、本日は中途採用向けの合同説明会についてのお知らせです!

 

『 DODA 転職フェア 』
  日時:5月20日(土) 11:00~18:00
  場所:大阪(梅田)ハービスホール
     大阪府大阪市北区梅田2-5-25

 

大手・優良企業が集まり、採用担当者から”生”の情報を収集できます!
ヘキサドライブも参加しますので、ぜひお越しください♪

 

会場でお会いできることを楽しみしています

 

それではまた


        

こんにちは。東京デザイナーの足立です。

 

最近他のデザイナーがSubstanceDesignerネタをちょいちょいあげてるので、

マネして何か作ってみることにしました。

 

お題は「雑草の生えた地面」ってとこで

いきなり全ノードはこんな感じ。

SB_blog01

 

はい、一目見てうんざりしますね。

悪い例です。

見た目だけでも綺麗にしようと申し訳程度にフレームで囲ったりしてみたんですが・・・

これ他の人がデータ触るとなったらエライことですよ。

データは綺麗に簡潔に!

 

 

では、雑草をどうやって作っていったか紹介。・・・ってほどのことしてないけどね。

 

「Shape」ノードの「ディスク」を変形させてベースとなる形を作って、

そこにグラデーションなどを重ねていき、「指向性ワープ」でさらに変形させたりします。

SB_blog02

 

同じようにしてこんな形や

SB_blog03

 

こんなディティールを追加してみたり

SB_blog04

 

と、いろいろと試行錯誤して、それぞれ「Tile Sampler」で配置したのちブレンド。

ブレンドモードは「最大(明)」で。

SB_blog05

 

これにカラーをのせて、ハイトを見ながら細かい調整をしたりして

最終的に出来上がったのがこちら

SB_blog06

 

草をもっとフワッと柔らかい感じにしたいんですが、今の自分の力量ではコレが精一杯。

まだまだ修行不足です・・・。もっと勉強してココで色々紹介できるようにならなきゃですね。

 

 

最後にSubstanceあるある!

地面系のテクスチャつくると、無駄に水溜り作りたくなる~

SB_blog07

SubstanceDesigner5.6で追加された「Water Level」で簡単に作れるようになっていい感じ。

ってやらない?

 

 

 


        

こんにちは

チャラメガネです

 

先週はGWでしたね

皆様はゆっくり休めましたでしょうか

 

良いモノづくりには休息は必須私はバッチリです

 

ちなみに、私はGW中に、高尾山に登ってきました

(ゼルダBotWの山登りに激ハマりしていたため、超楽しみにしていました

 

景信山~小仏城山~高尾山というルートです

 

チャラメガネはあまり運動が得意ではないので

ゆっくり登りましたが、それでもとてもハードで疲れました…

 

というわけで、途中で撮った写真の数々を披露します

 

 

IMG_1925

森から見上げた陽の光

 

IMG_1966

きれいなお花

 

IMG_1951

きれいなお花パート2

 

IMG_1933

遠くまで見える景色

 

IMG_1959

でかいかき氷

 

 IMG_1936

温かいなめこ汁

 

 

はい、途中から食い道楽と化していますね

 

うんうん、どんなハードな道の中にも楽しみはあるものです

 

 

冒頭で、良いモノづくりに休息は必須と言いましたが、

今回は常日頃の自堕落な休息とは、得られるものが段違いでした

 

 

実際に見る自然と、そこに感じる空気は

間違いなくモノづくりのための経験として刻み込まれました

 

 

と、いうことで

また1つ成長したチャラメガネでした~


        

こんにちはデサイナーのシマイです。

やったー。GWだ!
と喜んで皆さま遊びほうけてますか?
私は会社でコレ書いてます。たのしいなぁ会社
5/1、5/2も祝日にすればいい。いまちょっと本気で思いました。

 

 20131203_separater

えー、と今回用意した絵はこちら

 

月にジジイ
blog05

私は喫煙者ではありませんが、タバコって絵になるよね。カッコイイよね
シチュエーションのタバコをもう少しアメリカでも緩くしてほしいなぁと
思っちゃったりしますが、なかなか事情も考えると難しいかな

 

次はちょっと製作過程を書いていたらいいなぁ、とは思います。
ではまた


2017年4月26日

自分の体を知る

        

こんにちは。

ホライゾンの影響でワンダフルメキシカンコンボの入力が思い出せず…ショック状態のラキアです。

 

皆さんは自分の体の事、ちゃんと把握してますか?

多くの方は健康診断で、なんとなく体内の状態を把握してると思います。

ですがフィジカル面はどうでしょう…?  体力測定……高校以来してないかも…

 

今の家に引っ越して10年位経ちますが、ポストに入ってた1枚のチラシで初めて知りました…

なんと、近所のスポーツ施設が毎年春に無料測定会を実施していたのです!(去年から参加)

今年も自分の体がどれ位フレッシュかを確認してきました。

 

実施項目は…

 ①体組成計測(体重・部分筋肉量・代謝エネルギー量)
 ②肺活量
 ③筋力(握力)
 ④柔軟性(前屈)
 ⑤敏捷性(下記で説明)
 ⑥平衡性(目閉じ/両手腰で片足上げ)
 ⑦全身持久力(負荷掛けエアロバイク12分)
 ⑧筋持久力(30秒での腹筋回数)

 

身長173cmに対するベスト体重は65kg判定…20代は65kgでしたが、重くて機敏に動けなかった…

ここ10年は57kgあたりキープ。これ位が動きやすく、疲れにくい。

イチロー選手も言ってましたが、自分に合った体作りって大事ですね…

 

ちなみに去年の結果↓  (+3が最高評価 / -3が最低評価、標準値は35~39歳の標準値)

2016_03

去年は個人的に敏捷性測定が納得できなかったので、今回はかなり気合いを入れてきました。

DSC_0176このマシーンです

 

敏捷性測定は、ランプ点灯時に1mmでも良いから測定マットから離れる(ジャンプする)反応の速さを測ります。

去年は測定中の人が居なかったのでイメトレできず、ぶっつけ本番1回きり…

今年はチャレンジ3回、いいタイムが反映。なん…だと…

 

これ以外の測定でも想定外の事態が起きました。

・前屈測定中に腹辺りの筋?を何故か痛める…悶絶。去年より結果悪くなってしまった…

・元気なうちに腹筋やりたかったが、待ち具合の影響でエアロバイク→腹筋の順に…

 結構な疲労感の中で全力腹筋

 

高校の部活かよ!な終わり方でした。疲れて何も喋れない…

今年の結果…  (標準値は40~45歳の標準値)

2017_03

 

忘れてました…書類上ではもう40歳なのでした…認めねぇぞ

総合すると…持久力有るけど、体カッチカチ・バランス感覚ガッタガタだな です

 

測定結果の体年齢は34歳…柔軟性と平衡性が足引っ張ってるな…

ピンポイントの対策しかしてなかったので、来年はバランス良く鍛えよう…


2017年4月25日

プラモケイ

        

こんにちはハットリです。

7月開始のシャーロックとゲームオブスローンズが楽しみすぎです。

 

最近ガチャーネンというプラモケイが発売になって、改造にはまってます。

マシーネン3

 

元々はマシーネンクリーガーという1/20サイズの模型を

AFV基準の1/35で出したもの。

マシーネン1

AFVのアフターパーツを組み合わせて

ビネットやダイオラマなんかも楽にでっち上げられます

 

単に組み立てるだけなら10分もあればOK。

時間の無いサラリーマンにぴったりの商品です。

マシーネン2

 

って、ガチャーネン広告みたいな感じになってますが

すごく感心したことがありました。

 

それは販売形態。

 

マシーネンクリーガーは他の模型商品と同じく

模型店専門に卸していて、知る人ぞ知るシリーズでした。

それが今回はガチャガチャになって、いきなり全国の玩具量販店に

置かれたのです。

 

徐々にweb上に「初マシーネン」というユーザーの書き込みが

現れ始め、今回の主眼はユーザーの拡大を狙ったという事に気づきました。

 

視点は、少しずらすだけでも価値を生み出すものだと思いました。

 


ヘキサブログ ピックアップ



過去の日記はこちら

2017年5月
« 4月    
1234567
891011121314
15161718192021
22232425262728
293031