c# - 对象引用未设置为对象:但是在哪里
问题描述
我正在按照教程为粘液平台游戏角色创建一些果冻效果,该脚本分为两部分,我称之为“JellyBro”,它使顶点抖动和“jellyfier”,使我的玩家弹跳。该脚本没有任何拼写错误,它应该可以工作,除了空引用异常,当我单击时,它会将我带到脚本的随机部分......
我对脚本和东西真的很陌生,所以我不知道它可能是什么,论坛中的其他类似问题并没有真正帮助
using System.Collections.Generic;
using UnityEngine;
public class jellyfier : MonoBehaviour
{
public float bounceSpeed;
public float fallForce;
public float stiffness;
private MeshFilter meshFilter;
private Mesh mesh;
Jelly[] jellyVertices;
Vector3[] currentMeshVertices;
private void Start()
{
meshFilter = GetComponent<MeshFilter>();
mesh = meshFilter.mesh;
GetVertices();
}
private void GetVertices()
{
jellyVertices = new JellyBro[mesh.vertices.Length];
currentMeshVertices = new Vector3[mesh.vertices.Length];
for (int i = 0; i < mesh.vertices.Length ; i++)
{
jellyVertices[i] = new JellyBro(i,mesh.vertices[i], mesh.vertices[i], Vector3.zero);
currentMeshVertices[i] = mesh.vertices[i];
}
}
private void Update()
{
UpdateVertices();
}
private void UpdateVertices()
{
for (int i = 0; i < jellyVertices.Length; i++)
{
jellyVertices[i].UpdateVelocity(bounceSpeed);
jellyVertices[i].Settle(stiffness);
jellyVertices[i].currentVertexPosition += jellyVertices[i].currentVelocity * Time.deltaTime;
currentMeshVertices[i] = jellyVertices[i].currentVertexPosition;
}
mesh.vertices = currentMeshVertices;
mesh.RecalculateBounds();
mesh.RecalculateNormals();
mesh.RecalculateTangents();
}
public void OnCollisionEnter(Collision other)
{
ContactPoint[] CollisionPoints = other.contacts;
for (int i = 0; i < CollisionPoints.Length; i++)
{
Vector3 inputPoint = CollisionPoints[i].point + (CollisionPoints[i].point * .1f);
ApplyPressureToPoint(inputPoint, fallForce);
}
}
public void ApplyPressureToPoint(Vector3 _point, float _pressure)
{
for (int i = 0; i < jellyVertices.Length; i++)
{
jellyVertices[i].ApplyPressureToVertex(transform, _point, _pressure);
}
}
}
所以是的,我正在为我的作品集制作这款游戏,所以我真的希望它简单但做得好,这次拍摄让我压力很大哈哈
非常感谢提前
解决方案
推荐阅读
- node.js - 更改同一个集群中的数据库
- c# - 代码在 .Net 5 中有效,但在 .Net 6 中无效
- python-3.x - Python-pptx 库标准幻灯片
- firebase - Firebase Web SDK 对所有 httpsCallable 请求使用自定义域
- c# - 将表单名称传递给用户控件
- ruby-on-rails - Rails 6 将哈希合并到 ActiveRecord 对象
- flutter - 如何获取任意定位的矩形,并将其在视图中居中,并仅使用 Canvas 变换操作对其进行缩放?
- reactjs - 如何在本机反应中的当前对话框之后显示对话框
- windows - % 和 有什么区别!!在批处理文件中?
- python - 如何搜索具有多个键的字典列表?