Search Unity

I have a code by idk how connect it to the fbx model from blender

Discussion in 'Asset Importing & Exporting' started by lazizjon21, Apr 30, 2021.

  1. lazizjon21

    lazizjon21

    Joined:
    Apr 29, 2021
    Posts:
    8
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class JellyMesh : MonoBehaviour
    {
    public float Intensity = 1f;
    public float Mass = 1f;
    public float stiffness = 1f;
    public float damping = 0.6f;
    private Mesh OriginalMesh = null, MeshClone = null;
    private MeshRenderer renderer;
    private JellyVertex[] jv;
    private Vector3[] vertexArray;
    void Start()
    {
    OriginalMesh = GetComponent<MeshFilter>().sharedMesh;
    MeshClone = Instantiate(OriginalMesh);
    GetComponent<MeshFilter>().sharedMesh = MeshClone;
    renderer = GetComponent<MeshRenderer>();
    jv = new JellyVertex[MeshClone.vertices.Length];
    for (int i = 0; i < MeshClone.vertices.Length; i++)
    jv = new JellyVertex(i, transform.TransformPoint(MeshClone.vertices));
    }
    void FixedUpdate()
    {
    vertexArray = OriginalMesh.vertices;
    for (int i = 0; i < jv.Length; i++)
    {
    Vector3 target = transform.TransformPoint(vertexArray[jv.ID]);
    float intensity = (1 - (renderer.bounds.max.y - target.y) / renderer.bounds.size.y) * Intensity;
    jv.Shake(target, Mass, stiffness, damping);
    target = transform.InverseTransformPoint(jv.Position);
    vertexArray[jv.ID] = Vector3.Lerp(vertexArray[jv.ID], target, intensity);
    }
    MeshClone.vertices = vertexArray;
    }
    public class JellyVertex
    {
    public int ID;
    public Vector3 Position;
    public Vector3 velocity, Force;
    public JellyVertex(int _id, Vector3 _pos)
    {
    ID = _id;
    Position = _pos;
    }
    public void Shake(Vector3 target, float m, float s, float d)
    {
    Force = (target - Position) * s;
    velocity = (velocity + Force / m) * d;
    Position += velocity;
    if ((velocity + Force + Force / m).magnitude < 0.001f)
    Position = target;
    }
    }
    }