유닛에서 파티에서 이산 군을 만들어 보도록 하겠습니다.

7449 단어 Unity

이렇게
three.제이스로 만든 걸 유니티도 할 수 있다고 생각해서 만들었어요.
또 FPS는 10으로 실용성이 없다.
shader에 정점 데이터를 보내야 합니다.

코드


qiita.csharp

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MakingMeshParticle : MonoBehaviour {

    [SerializeField]
    private GameObject cube,character;

    List<GameObject> cubes = new List<GameObject>();
    List<Vector3> cubesTransform = new List<Vector3>();

    Mesh mesh{set {this.mesh= value;} get{return character.GetComponent <SkinnedMeshRenderer> ().sharedMesh;}}

    // Use this for initialization

    Vector3[] normals ;
    void Start () {

        Vector3[] vertices = mesh.vertices;
        normals = mesh.normals;


        mesh.vertices = vertices;

        for(int i =0;i<vertices.Length; i++){
            cubes.Add((GameObject)Instantiate (cube, vertices[i], Quaternion.identity));
            cubes [i].GetComponent<Renderer> ().material.color = Color.black;
            cubesTransform.Add (vertices [i]);
        }

    }

    // Update is called once per frame

    float n =0;
    void Update () {

        for(int i =1;i<cubes.Count; i++){
            cubes [i].transform.position = Vector3.Lerp(cubesTransform[i] ,new Vector3(Vector3.Magnitude(cubesTransform[i])*Mathf.Sin(i*100+Time.time),0,Mathf.Cos(i*100+Time.time)) ,Mathf.Sin(Time.time));
        }
    }
}

정점의 데이터 배열을 준비하고 이 값을 게임object의 위치 정보에 넣습니다.
내 맥북 에어로도 가능한 느낌으로 움직이고 싶어서 컴퓨터 쉐더를 못 쓰는데 어떡하지.

좋은 웹페이지 즐겨찾기