升级obi

This commit is contained in:
2026-01-22 22:08:21 +08:00
parent 120b8cda26
commit 20f14322bc
1067 changed files with 149894 additions and 29583 deletions

View File

@@ -15,8 +15,27 @@ namespace Obi{
public void OnEnable(){
renderer = (ObiRopeChainRenderer)target;
}
public override void OnInspectorGUI() {
[MenuItem("CONTEXT/ObiRopeChainRenderer/Bake mesh")]
static void Bake(MenuCommand command)
{
ObiRopeChainRenderer renderer = (ObiRopeChainRenderer)command.context;
if (renderer.actor.isLoaded)
{
var system = renderer.actor.solver.GetRenderSystem<ObiRopeChainRenderer>() as ObiChainRopeRenderSystem;
if (system != null)
{
var mesh = new Mesh();
system.BakeMesh(renderer, ref mesh, true);
ObiEditorUtils.SaveMesh(mesh, "Save chain mesh", "chain mesh");
GameObject.DestroyImmediate(mesh);
}
}
}
public override void OnInspectorGUI() {
serializedObject.UpdateIfRequiredOrScript();
@@ -25,12 +44,7 @@ namespace Obi{
// Apply changes to the serializedProperty
if (GUI.changed){
serializedObject.ApplyModifiedProperties();
renderer.ClearChainLinkInstances();
renderer.CreateChainLinkInstances(renderer.GetComponent<ObiRopeBase>());
renderer.UpdateRenderer(renderer.GetComponent<ObiRopeBase>());
serializedObject.ApplyModifiedProperties();
}
}