コード例 #1
0
    // Protected methods /////////////////

    protected virtual void Init(UltimateTerrain uTerrain)
    {
        converter = uTerrain.Converter;
        var halfSize = new Vector3d(radius, radius, radius).Rounded;

        halfSize.x += 1;
        halfSize.y += 1;
        halfSize.z += 1;
        var startVoxelPos = start.Rounded;
        var endVoxelPos   = end.Rounded;

        from             = UMath.Min(startVoxelPos, endVoxelPos) - halfSize;
        to               = UMath.Max(startVoxelPos, endVoxelPos) + halfSize;
        direction        = (end - start).Normalized;
        length           = (end - start).Magnitude;
        voxelSizeInverse = 1.0 / uTerrain.Params.SizeXVoxel;
    }