12

我有下面的代码,我正在尝试对 PerlinNoise(x,z) 进行四舍五入,所以我将其设为 Yscale 并尝试对其进行四舍五入。问题是我收到该行的错误“当前上下文中不存在名称‘数学’”。有任何想法吗?

using UnityEngine;
using System.Collections;

public class voxelcreate : MonoBehaviour {
private int origin = 0;
private Vector3 ChunkSize = new Vector3 (32,6,32);
private float Height = 10.0f;
private float NoiseSize = 10.0f;
private float Yscale=0;
private GameObject root;
public float PerlinNoise(float x, float y)
{
    float noise = Mathf.PerlinNoise( x / NoiseSize, y / NoiseSize );
    return noise * Height;

}

// Use this for initialization
void Start () {
    for(int x = 0; x < 33; x++){
        bool isMultiple = x % ChunkSize.x == 0;
        if(isMultiple == true){
        origin = x;
Chunk();}
    }
}

// Update is called once per frame

void Chunk (){
    int ranNumber = Random.Range(8, 80);
    int ranNumber2 = Random.Range(8, 20);
    Height = ranNumber2;
    NoiseSize = ranNumber;
    for(int x = 0; x < ChunkSize.x; x++)
    {
for(int y = 0; y < ChunkSize.y; y++)
{
    for(int z = 0; z < ChunkSize.z; z++)
    {
GameObject box = GameObject.CreatePrimitive(PrimitiveType.Cube);
                int Yscale = (int)Math.Round((PerlinNoise( x, z)), 0);
           box.transform.position = new Vector3( origin+x , y+Yscale, z);
}}}}}
4

3 回答 3

27

添加

using System;

在文件的顶部。

或使用System.Math代替Math.

于 2013-11-01T22:46:11.593 回答
2

确实可以添加using System. 但是,Unity 有Mathf

为什么你宁愿使用内置的 Mathf?

System.Math使用双打。UnityEngine.Mathf使用花车。由于大多数 Unity 都使用浮点数,因此最好使用它,Mathf这样您就不必不断地来回转换浮点数和双精度数。

于 2013-11-14T09:18:51.243 回答
1

在 ASP.NET Core 中,您需要首先获取 System.Runtime.Extension 包,可能通过 Visual Studio 中的 NuGet 包管理器或通过命令行。

可以在此处找到有关该软件包的详细信息。

最后你需要给:

using System

然后你可以使用这个类的方法:

            using System;
            namespace Demo.Helpers
            {
                public class MathDemo
                {
                    public int GetAbsoluteValue()
                    {
                        var negativeValue = -123;
                        return Math.Abs(negativeValue);
                    }
                }
            }
于 2017-01-02T10:43:58.640 回答