Unity - A计划 2.0(一年有效期) 扫二维码继续学习二维码时效为半小时

(32评价)
价格: 880.00元

luaenv.DeString("require 'example'")

[展开全文]
sonexie · 11小时前 · 默认教学计划 0

1. 技术人才永远不会饱和,技术人员稀缺,特别是高技术人才。就想上山一样,越是山顶人越少。

2.准备4个中小型项目,界面背包啥都有,直接给面试官看、试玩,发布到app store上(淘宝上买一个开发账号)

[展开全文]

设计游戏背景,Block方格放置在坐标轴0,0位置为一个背景方格,做一个prefab,然后按住ALT复制水平排列(10格)(放到空物体Row下),纵向复制(20行)(整体放置到空物体Map下),再调整MainCamera的Size,将背景地图居中显示,并调整Block的颜色为浅灰色。

[展开全文]
lix0824 · 15小时前 · 默认教学计划 0

slot和item脚本比较重要,特别是slot中的各种方法,看的有点

[展开全文]

foreach (object key in tab.GetKeys())
{
       print(tab.Get<object>(key));
}

老师视频里foreach遍历类型是string,所以类型转换错误。

[展开全文]

群组行为

play automatically自动播放动画(Animation)

[展开全文]

映射到LuaFunction

func.Call(1,2)

[展开全文]

3.映射到Dictionary<>,List<>

[展开全文]

Application.streamingAssetPath

File.ReadAllText()

System.Text.Encoding.UTF8.GetBytes()

[展开全文]

12Mesh合并代码

[展开全文]

 unity的性能优化

unity之所以可以跨平台是应为unity里面有内置的mono虚拟机,我们所写的程序是运行在mono虚拟机上面,因为mono虚拟机可以跨平台所以我们开发的程序也是可以跨平台的。
        影响unity性能有以下几点:
       1.资源优化        2.渲染优化     
Draw Call
        简答来说Draw Call就是CPU对图形接口的调用,cpu通过调用图形库(DX,OpenGL)接口,命令GPU渲染,一次调用就是一次Draw Call。每调用一次Draw Call ,cpu就会做一次准备,调用的次数增多了之后,cpu就负载过多,GPU就会闲置。(比如说文件的复制,一个是一个800M的文件,一个是800个800M的文件同时复制,当然是前者比较快)
     unity中跟Draw Call有关的参数有Profiler  unity Statistics 和Batches
资源优化的标准
       unity动态模型 :   
                          面数<3000
                           材质数<3
                           骨骼数<50
       unity静态模型:
                          顶点数<500
 
Audio
        长时间音乐(背景音乐)用mp3(压缩)
        短时间音乐(音效)用WAV(未压缩,重复调用,)
Texture贴图宽度<1024
shader减少复杂的数字运算,减少discard操作
模型优化,贴图优化
        面片减少,贴图合并
减少冗余资源和重复资源
        1.Resource文件夹下的文件不管是否用到都会打包进去
        2.不同目录下的相同文件都会被打包造成资源的重复和冗余
资源优化UWV
层级细节LOD技术(一个物体,三种精细程度不同的模型,距离越近模型越精细)
遮挡剔除Occluder Static(只渲染视野内的物体,被遮挡和不在视野之内的物体不进行渲染)
LightMapping(渲染一张灯光贴图代替场景中的灯光)
Mesh合并
[展开全文]

DoBeforeEntering当我们进入状态时会调用的方法

[展开全文]

但是我的电脑正对门,又不敢

[展开全文]
  1. 二叉树的遍历
  2. 佛挡杀佛打发似的
[展开全文]

struct SubArray

{

public int startIndex;

public int endIndex;

int total;

}

 

static SubArray GetMaxSubArray(int low, int high, int[] array)

{

if(low == high)

{

SubArray subarray;

subarray.startIndex = low;

subarray.endIndex = high;

subarray.total = array[low];

return subarray;

}

 

SubArray subArray1 = GetMaxSubArray(low,mid,array);

SubArray subArray2 = GetMaxSubArray(mid+1,high,array);

//从[low,mid] 找到最大子数组[i,mid]

int total1 = array[mid];

int startIndex = mid;

int totalTemp = 0;

for(int i = mid;i >= low; --i)

{

totalTemp += array[i];

if(totalTemp > total1)

{

total1 = totalTemp;

startIndex = i;

}

}

//从[mid+1,high]找到最大子数组[mid+1,j]

int total2 = array[mid+1];

int endIndex = mid+1;

totalTemp = 0;

for(int j = mid+1;j <= high; ++j)

{

totalTemp += array[j];

if(totalTemp > total2)

{

total2 = totalTemp;

endIndex = j;

}

}

SubArray subArray3;

subArray3.StartIndex = startIndex;

subArray3.EndIndex = endIndex;

subArray3.total = total1+total2;

if(subArray1.total >= subArray2.total && subArray1.total >= subArray3.total)

{

return subArray1;

}else if(subArray2.total >= subArray1.total && subArray2.total >= subArray3.total)

{

return subArray2;

}

else {

return subArray3;

}

 

}

[展开全文]

单一职责原则

开-闭原则

里氏替换原则

依赖倒置原则

接口隔离原则

最少知识原则(迪米特法则)

少用继承多用组合(合成复用)

《设计模式 可复用面向对象软件的基础》

《head First 设计模式(中文版)》

《设计模式与完美游戏开发》

 

[展开全文]

这里算法。感觉可以写这样

for(int i = 0 ;i < len ; ++i)

{

int temp = 0;

for(int j = i; j < len; ++j)

{

temp += array[j];

if(temp > total)

{

total = temp;

startIdx = i;

endIdx = j;

}

}

}

[展开全文]

分治法显示股票的价格波动解决了一个很有趣的问题--如何在哪天买入哪天卖出可以获得最大收益。

1.通过得到一个价格变动的数组中的子数组。(最大的和)则能确定哪天买入卖出收益最大。则将收益问题转换为最大子数组问题。

 

[展开全文]

分离 队列 聚合。简单集群的三种状态。

分离:当前位置-目标位置=分离力的向量

foreach(GameObject neighbor in sperationNeighbors)

{

Vector3 dir = transform.position - neighbor.transform.position;

separationForce += dir.Normalize()/dir.magnitude;

//magnitude是长度,代表两点之间的距离

}

 

separationForce *= separationWeight;

权重用来控制整体的影响,如果物理计算得到的力没有达到预期,则乘以权重。

此处增加了一个权重public float SperatorWeight = 0f;

[展开全文]