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")调变动画