unity 傅老师学习

辅助插件 I tweeen anmition

补充valueto       https://www.bilibili.com/read/cv103358

开关门 iTween event脚本  iTween.GetEvent(this.gameobjet,"door close").play();

http://wiki.unity3d.com/index.php/AlphaVertexLitZ   解决着色器半透明度问题

第三方粒子特效:

Elemental Free在這裡: https://share.weiyun.com/3569aa97a3d51bb8cde639c37f1260c7

来自 <https://www.bilibili.com/video/av14480171>

关卡创建插件:

Create Level Tool  根据地图快速创建关卡  修改下代码增加间距

人物插件:Unity chan  产生角色

Unity简单建模插件:

SabreCSG Level Design Tools   通过增减

export obj:

https://share.weiyun.com/5HhBlzw

来自 <https://www.bilibili.com/video/av14573701>

利用GIMP  high map   去饱和度  调整亮度和对比度  黑白明显  高度

      xnormal   high map  to normal  map;  法线

   放到 material  中

材质球中metallic环境光   smothness反射光   调整亮度

ctrl多选

Ctrl+shift+f 

就是把物体transform同步成视口的

来自 <https://www.bilibili.com/video/av14573701>

Alt+左键  环视

Master cube   贴图拉伸

Poster Processing Stack

使用Fungus制作NPC对话

道具背包  inventory system

https://share.weiyun.com/48d8399639512ee42d38dcc9c1671868

来自 <https://www.bilibili.com/video/av15020512>

当计算时间播放动画时由于斜边应用勾股定理导致有根号2倍关系  速度变快

解决方法:论文:

https://arxiv.org/ftp/arxiv/papers/1509/1509.06344.pdf

解决·用trigger触发器jump时按两次jump有累加问题:

在状态机上加入behavior      FSMClearSignals;用数组存信号

用animator.ResetTrigger砍掉其他多余状态

动画 伴随代码   

可以把它套接出去   例如 增加自己写的脚本 FSMOnEnter  用sendmessage

声明数组public string[] onEnterMessage;

在OnStateEnter方法中可以写:

Foreach(var msg in onEnterMessage)

Animator.gameObject.SendMessage(msg);//朝自己这个物体发送信息

Animator.gameObject.SendMessageUpwards(msg);//朝上发信息  母物件

然后在外面只需声明与发送的消息同名的函数即可进行操作

东西尽量不要塞到第二层或更多层

用ctrl+f整体替换

1.首先创建基础场景,做人物控制

声明public 变量会在界面显示出来,因此声明keyup,right,down,left

利用input.getkey函数获取输入 声明Dup,Dright,targetDup

,TargetDright获取差值,接着利用mathf.smoothdamp函数平滑变换到目标值

实现软开关,禁用模块

声明bool inputenabled=true

然后控制targetdup target的值为0

2.汇入素材

调整材质球的tiling控制贴图大小

人物可以放在一层空物件下 空handle 里面才是模型

调整碰撞器的center值

3.动画控制器

Idle walk run jump

Create-》animator controller

注意转出humanoid

一维混合状态树:create-from new blend tree,

重命名 然后会自动给一个变量控制混合的大小 自己修改名称

4.控制动画

AcorCOntroller

获取model animator playerinput组件

在awake函数里

playerinput模块加在player空物件上,

ActorController控制角色动画:

1.灌入模型 GameObject model

2.获得model上的actor组件:写在awake函数里

Anim=model.GetComponent<Animator>();

可以通过【SerializeField】使其可见

3.获取输入组件

PlayerInput Pi=GetCOmpoent《input》();

在update里

Anim.setfloat("forward")调变动画

猜你喜欢

转载自www.cnblogs.com/wtblogwt/p/10585113.html