タグ

ブックマーク / tsubakit1.hateblo.jp (13)

  • 【Unity】Timelineでキャラクターの「表情」を変更する時の注意点 - テラシュールブログ

    今回はTimelineで表情を変更する場合の注意についてです。 Case 1.表情のキーがセットされない Case 2.  表情が変化しない Case 3.  表情がおかしな感じになる Timelineでキャラクターの動き等を変更していると「表情」も変更したくなります。例えばちょっとした会話シーンで表情を変更するのは、よくある事です。 Unityでキャラクターの表情を変更するアイディアは3つあります。 Textureを差し替える BlendShapeを使う Boneでなんとかする 今回はBlendShapeを使用するケースを想定していますが、Boneで使用した場合も少し関わりがあるかもしれません。 下のように予期しない不思議な表情になる場合は、多分この問題です。 またそれ以外でも少し自分が引っかかった問題について紹介します。 Case 1.表情のキーがセットされない TimelineでAn

    【Unity】Timelineでキャラクターの「表情」を変更する時の注意点 - テラシュールブログ
  • 【Unity】"家具を動かせる" 部屋(ステージ)の見栄えを、出来る限り良い感じにする - テラシュールブログ

    綺麗なグラフィックを実現するのは8割以上はモデルとマテリアルのクォリティですが、〆としてライティングやポストプロセスも重要な要素の一つです。 ただし、場合によってはライティングのベイクを利用できないといったケースも存在するかもしれません。例えば建築デモなど、部屋の家具が変化可能といったケースです。 日差しの位置やライトの配置など、すべての要素が変化する可能性があります。 今回は、そういったダイナミックに追加/変化するオブジェクトでも綺麗に見せる為に色々と試行錯誤してみた結果を紹介します。 オブジェクトをダイナミックに生成しても、そこまで破綻なく表現出来ています。 壁紙(金属製のカーペット??)の一部を変更すると、部屋の色味も変わります。 目次 手順 事前準備なパート 1.  初期状態 2. ReflectionProbeを追加する 3. Lightprobeを用意する 4.ライトをベイクす

    【Unity】"家具を動かせる" 部屋(ステージ)の見栄えを、出来る限り良い感じにする - テラシュールブログ
  • 【Unity】複数パーツで構成されたSpriteを半透明にしても違和感をなくす方法 - テラシュールブログ

    今回は最近のスケルタルアニメーションでよく見られるような、複数パーツで構成されたSpriteを、違和感なく半透明にするアプローチについてです。 若干限定的な所があるので、そのあたりは自分で何とかする必要があります。 2Dのスケルタルアニメーション スケルタルアニメーションを作る 半透明が問題 Spriteを透明にするアプローチ Sprite Maskで手前のスプライトのみを表示する 実際の手順 幾つかの問題対処法(概要) 関連 2Dのスケルタルアニメーション 最近では2Dでも伝統的なピクセルアート*1によるアニメーションだけでなく、各関節を動かしてアニメーションとするスケルタルアニメーション的な手法が多くなりました。 流行で言えばFate GO的な。 この手法では大胆な変形が難しい反面、かなり高解像度な画像で多彩なアニメーションが実現出来るのが利点です。 上の品質をパタパタアニメ手法で実現

    【Unity】複数パーツで構成されたSpriteを半透明にしても違和感をなくす方法 - テラシュールブログ
  • UnityBasicでもテクスチャを非同期でロードする - テラシュールブログ

    以前紹介したStreamingAssetsを紹介した際に、File.ReadAllBytesでリソースを読み込んでいたが、 実はWWWからアクセスできる事がわかった。 というかバグってたらしい。4.0.1で治ったらしいので安心して使える。 iOS: fix WWW class crash when loading files via file:// on iOS 4.x devices Unity4.0.1リリースノート http://unity3d.com/unity/whats-new/unity-4.0.1 [Unity3D] StreamingAssetsについて http://terasur.blog.fc2.com/blog-entry-266.html ■方法 方法は超簡単。 string path = "file://" + Path.Combine( Applicatio

    UnityBasicでもテクスチャを非同期でロードする - テラシュールブログ
  • 【Unity】コンポーネントのイベント実行順についてのTips - テラシュールブログ

    GameObjectにアタッチしたスクリプトの実行順番は、特に何もしなければ割とランダムです。今回はその辺りについて少し整理します。 スクリプトの実行順番 スクリプトの実行順を制御する Script Execution OrderをGUIで設定 メタデータに直接書き込む DefaultExecutionOrderを使用 イベントの実行順 OnEnableとAwakeの違い ScriptableObjectのOnEnableは、大抵Awakeより先に呼ばれる Execution Orderが効かないケース コンポーネントやオブジェクトを動的に追加した場合は、生成順になる しかし”同時に”生成した場合は、Script Execution Order準拠 関連 スクリプトの実行順番 UnityはコンポーネントをGameObjectに設定すればコンポーネントに記述したイベントを呼び出してくれます。

    【Unity】コンポーネントのイベント実行順についてのTips - テラシュールブログ
  • UnityのOcclusion Cullingの機能を使って3D空間を効率的に描画する - テラシュールブログ

    Occlusion Culling OccluderとOccludee Smallest OccluderとSmallest Hole Occlusion AreaとOcclusion Portal Occlusion Cullingがあんまり効かないケース 参考 Occlusion Culling Occlusion Cullingとはオブジェクトが遮蔽物に隠れていた場合にオブジェクトを描画しない機能です。下のように、遮蔽物で隠れているオブジェクトを描画しないようにします。 Unityは基機能として錐台カリングを行います。これにより、画面外にあるモデルの描画をスキップします。しかし、壁の向こうのオブジェクト等のような、視錐台内に含まれるオブジェクトは描画してしまいます(ピクセルは塗りません) 描画の内容はFlame Debuggerで確認する事ができます。下の図では、実際は画面は赤い壁

    UnityのOcclusion Cullingの機能を使って3D空間を効率的に描画する - テラシュールブログ
  • 【Unity】ハンドカメラ風カメラの挙動を実現するHandheldCamera - テラシュールブログ

    飛行機の制御を作ったら、ハンドカメラ風のカメラ挙動が欲しくなります。で、StandardAssetsに含まれるCameraにソレっぽい挙動があったので、試しに使ってみます。 HandheldCamera HandHeldCamコンポーネント Target Field Of View 関連 HandheldCamera StandardAssets > Cameraでインポートしたアセット群にHandheldCameraなるPrefabが含まれます。 これがハンドカメラ風のカメラ挙動で、機能は Targetに指定したGameObjectを追跡する 手ブレ表現 対象の移動先をある程度予測する 距離に応じてズームする という物です。 HandHeldCamコンポーネント HandHeldCameraプレハブに付いてるコンポーネントの一つは、HandHeldCamコンポーネントです。これは対象の追

    【Unity】ハンドカメラ風カメラの挙動を実現するHandheldCamera - テラシュールブログ
  • ユニティちゃんライブのシーン構造について軽く解説してみる - テラシュールブログ

    今日はユニティちゃんライブのステージ構成について説明します。 ユニティちゃんライブ公開!とりあえず役立ちそうな情報とか、入手方法とかまとめてる - テラシュールブログ ユニティちゃんのステージ構成について まず、初期設定でシーン構造を理解するのは相当しんどいです。 なので、ステージをエディタ上で構築出来るようにしました。ダウンロード後に適応して下さい。 これで、色々動かしながら内容を確認出来るようになります。 ユニティちゃんライブパッチ 11/8 音が出なかった問題を修正 ※髪の毛が立つ(アホ毛みたいに)場合は、CandyRockStarのPrefabを選択した状態でRevertを押して下さい。 使い方は、Stage Setup(EditorOnly)のSetupDirectorのコンテキストメニューから、Setupを選ぶとセットアップします。この方法でセットアップした場合、StageDi

    ユニティちゃんライブのシーン構造について軽く解説してみる - テラシュールブログ
  • 【Unity】動的にキャラクターの衣装を差し替える - テラシュールブログ

    動的にキャラクターの衣装…というかメッシュをを差し替える方法について紹介します。 Unityで動的な衣装切り替え pic.twitter.com/b2BfLsxUCt — 椿 (@tsubaki_t1) 2015, 10月 23 目次 目次 キャラクターのMeshを差し替える マテリアルの登録順番による問題 Boneの登録順番による問題 ボーンを並び替える Animator Optimizeを使用する 関連 キャラクターのMeshを差し替える といってもやる事は簡単です。キャラクターという事はSkinnedMeshRendererを使用していると思うので、SkinnedMeshRendererのMeshとMaterialを差し替えてやるだけです。 var meshRenderer = GetComponent<SkinnedMeshRenderer>(); meshRenderer.sha

    【Unity】動的にキャラクターの衣装を差し替える - テラシュールブログ
  • 【Unity】LOD(Level of Detail-距離に応じたハイポリ/ローポリの切替)をキャラクターで使用する方法 - テラシュールブログ

    Level of Detailをキャラクター・・・と言うかアニメーションを持つキャラクターに対して使用する方法についてです。 LOD(Level of Detail) キャラクターとLOD 一つのAnimatorでLOD やり方 関連 LOD(Level of Detail) Level of Detailは距離に応じて描画するモデルのポリゴン数を制御する機能です。近距離のモデルはハイポリ、遠距離のモデルはローポリで表現することで、オブジェクトの描画負荷を低減します。 例えば下の画像は左が通常ポリゴン、右がリダレクション*1を行ったモデルです。近くで見ると右は歪んでいますが、遠距離で見ると左のポリゴン密度が高すぎる点が気になります。 今までの自分の認識ではポリゴン数が問題になる事はそこまで無かったのですが、PBRを綺麗に見せようとすると超ハイポリによる表現が必要な点や、表情を綺麗に変形させ

    【Unity】LOD(Level of Detail-距離に応じたハイポリ/ローポリの切替)をキャラクターで使用する方法 - テラシュールブログ
  • マップから落ちないようにステージ上を歩かせる楽な方法 - テラシュールブログ

    UnityRPGを開発する上で、最初に当たる問題が「移動」に関する問題だ。キャラクターを動かす事は(Transformを直接変更したり、CharacterControlを使ったりRigidbodyに色々したりして)難しくはないが、「障害物に突っ込まない」とか「崖の下に落ちないようにする」といった挙動を実現する場合は厄介だ。 特に「落ちないようにする」を実現するのは若干面倒で、方法こそ色々とあるがどれも地味に面倒くさかった。 見えない壁を配置する地面に(例えば6の)Rayを常に飛ばすそもそも落下地点に移動出来ないようにする(ブロック単位の移動) が、気づいたら(4.2より)NavmeshがUnity無料版でも使えるようになったので、それをつかって実現してみようと思う。 Navmeshについてナビゲーションメッシュ(または Navmesh と呼ばれる)はゲーム世界の物体の簡素化された表現で

    マップから落ちないようにステージ上を歩かせる楽な方法 - テラシュールブログ
  • あと48時間あれば作業を終わらせられると勘違いしていた72時間前の自分へ。 - テラシュールブログ

    自分よ、よく聞きなさい。 君はあと48時間以内に資料を完成させる必要がある事は良くわかるし、それ以外に色々と問題が発生していた事も知っている。 しかし、72時間前の自分よ、よく聞いてくれ。君は大きな大きな勘違いをしている。 まず48時間という時間はフルには使えない事を思い出すべきだ。まず寝る時間が入ってないし、そもそも君は休憩を入れないと集中を継続できない。 問題は休憩を入れた後に再度潜る為には、とても高い集中力とモチベーションが要る事だ。そして寝る時間が減ると、継続して集中出来る時間が減る。貫徹すると何をするにしても惰性でしか作業が出来なくなる。 これから君がやるような、潜ってないと効率が出ないような作業は先に終わらせておくべきだ。上から順ではなく、それを念頭にスケジュールを考えるんだ。 暴飲・暴にも気をつけるんだ。君はこれから大体30時間後くらいに体が熱を発生させることが出来なくなっ

    あと48時間あれば作業を終わらせられると勘違いしていた72時間前の自分へ。 - テラシュールブログ
  • Unityでパンツが見えそうなら「見せられないよ!」する - テラシュールブログ

    まず最初に書いておくと、この方法は失敗作だ。 単純にパフォーマンスが良くないし、精度も今ひとつ。 だけど、同じ過ちを犯す人がいるかもしれないから、メモに残しておく。 ちなみに、こんな感じになる。一応リアルタイム。 画像はSweetSpotの見せられないよアイコンより。 モデルはAoiちゃん。 少し前からあった自分好みのアセットで、制服・パジャマ・道着のような物から、ボロボロにされた服やバスタオル一枚、スク水ニーソ・セーラー服の下にスク水といった、マニアックな物も入ってる逸品。 モーションも格闘から会話・移動等々、非常に良い感じ(62種類?多すぎて分からん) Aoi Character Packあ、ちなみにバスタオルの中は黒塗りです。 つまりシュレティンガーのぱんつ。 この方法、やってる事はすごく簡単だ。 Mesh Coliderをリアルタイムに更新パンツにコライダーを設定パンツへ向けてRa

    Unityでパンツが見えそうなら「見せられないよ!」する - テラシュールブログ
  • 1