GithubHelp home page GithubHelp logo

narazaka / flooradjuster Goto Github PK

View Code? Open in Web Editor NEW
22.0 2.0 3.0 23 KB

非破壊にアバターの上下位置を変更するツール

Home Page: https://narazaka.github.io/FloorAdjuster/

License: zlib License

C# 100.00%
vrchat vrchat-avatar vrchat-avatars vrchat-sdk3 vrchat-tool ndmf

flooradjuster's Introduction

FloorAdjuster

Floor Adjuster

概要

非破壊にアバターの上下位置を変更するツールです。

Modular Avatarと互換性があります。

インストール

VCCによる方法

  1. https://vpm.narazaka.net/ から「Add to VCC」ボタンを押してリポジトリをVCCにインストールします。
  2. VCCでSettings→Packages→Installed Repositoriesの一覧中で「Narazaka VPM Listing」にチェックが付いていることを確認します。
  3. アバタープロジェクトの「Manage Project」から「Floor Adjuster」をインストールします。

使い方

  1. アバターのArmatureのオブジェクトを選択し、「Add Component」から「Floor Adjuster」を選んで付けます。

  2. 地面高さを設定します。

  3. アップロードするとたぶん上下位置が動いてるはず

注意

アバターのArmatureのスケールを調整してHipsボーンを移動させる&Hipsボーンにスケールの逆数をかけることで大きさを保つ手法をとっています。

このため厳密にはボーンの配置に寄りますが一般的にアバターの上下位置だけでなく前後位置も移動します。これを打ち消すためにViewPointの上下+前後位置も動かしています。

更新履歴

  • 1.0.4
    • VCCでのUnity 2022プロジェクトへのインストールでUnityバージョン警告がでないように
  • 1.0.3
    • MA依存では無くNDMF依存にする by @anatawa12
    • 誤ってるっぽいところ(アバタールートなど)にコンポーネントを付けたときに警告
    • スケールが非標準のArmatureで動作するようにする by @lunetoiles
  • 1.0.2
    • asmdef修正
  • 1.0.1
    • アバターViewPointの前後位置ズレを修正
  • 1.0.0
    • リリース

License

Zlib License

flooradjuster's People

Contributors

lunetoiles avatar narazaka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

flooradjuster's Issues

Error when we added to non-Armature GameObject

NullReferenceException: Object reference not set to an instance of an object
Narazaka.VRChat.FloorAdjuster.Editor.FloorAdjusterEditor.OnSceneGUI () (at Packages/net.narazaka.vrchat.floor-adjuster/Editor/FloorAdjusterEditor.cs:38)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
UnityEditor.SceneView.CallOnSceneGUI () (at /Users/bokken/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:3572)
UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at /Users/bokken/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2778)
UnityEditor.SceneView.OnGUI () (at /Users/bokken/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2490)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at /Users/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:381)
UnityEditor.HostView.Invoke (System.String methodName) (at /Users/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:375)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at /Users/bokken/buildslave/unity/build/Editor/Mono/HostView.cs:351)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at /Users/bokken/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:407)
UnityEditor.DockArea.OldOnGUI () (at /Users/bokken/buildslave/unity/build/Editor/Mono/GUI/DockArea.cs:396)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:293)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:508)
UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at /Users/bokken/buildslave/unity/build/Modules/UIElements/IMGUIContainer.cs:463)
UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Boolean straightY, System.Single pixelsPerPoint, System.Exception& immediateException) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRenderer/UIRenderers.cs:107)
Rethrow as ImmediateModeException
UnityEngine.UIElements.UIR.RenderChain.Render (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection, UnityEngine.UIElements.PanelClearFlags clearFlags) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRChainBuilder.cs:392)
UnityEngine.UIElements.UIRRepaintUpdater.DrawChain (UnityEngine.Rect viewport, UnityEngine.Matrix4x4 projection) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:68)
UnityEngine.UIElements.UIRRepaintUpdater.Update () (at /Users/bokken/buildslave/unity/build/Modules/UIElements/Renderer/UIRRepaintUpdater.cs:57)
UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/VisualTreeUpdater.cs:84)
UnityEngine.UIElements.Panel.UpdateForRepaint () (at /Users/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:721)
UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/Panel.cs:747)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:387)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/buildslave/unity/build/Modules/UIElements/UIElementsUtility.bindings.cs:194)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:197)

Assembly has duplicate references due to Unity 2019 bug

Unity2019のバグによりGUIDで参照すると複製してインストール時にこのようなエラーが出ることがあります。

Assembly has duplicate references: nadena.dev.ndmf.runtime (Packages/net.narazaka.vrchat.floor-adjuster/FloorAdjuster.asmdef)
Assembly has duplicate references: nadena.dev.ndmf (Packages/net.narazaka.vrchat.floor-adjuster/Editor/FloorAdjuster.Editor.asmdef)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.