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

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

先把FollowCamera禁用

[展开全文]
By丶wind · 2018-11-20 · 0

#include int main(){ return 0; }

[展开全文]
.嘴巴上扬. · 2018-11-05 · 0

Emmison自发光

如果有角落交界处灯光烘培有问题的话,就去调节lighting面板里头的indirect Resolution的强度

compress lightmaps压缩光照贴图(模糊)

如果烘培后没有产生相应的场景的光照文件,就手动烘培一次

Ambient Occlusion墙角效果

  • maxDistance越大,墙角越自然
  • indirectContribution越小,越自然

Lightmap Size越小,烘培越快,文件越小

[展开全文]
OuiuO · 2018-11-04 · 0

为了避免ReflectionProbe将物体本身录入其中形成黑色区域,应该把物体设置到Reflection这个摄像机拍不到的图层里面。

注意ReflcetionProbe跟物体要没有相对距离!

Refresh Mode决定性能消耗

Importance很重要,决定各个probe之间的权重

可以在lighting面板里的右下角单独烘培反射探针

[展开全文]
OuiuO · 2018-11-04 · 0

灯光探针一定要在灯光有变化的区域放置

例如阴影内外,不同颜色交换的区域

储存阴影信息的探针一定要在阴影里

储存亮部信息的探针一定要在亮部里

颜色同理

[展开全文]
OuiuO · 2018-11-02 · 0

场景切换状态模式 这一章看了两遍

第一遍看了跟着做 第二遍又看了一回复习,

然后又跌跌撞撞的反复删了重写好几次 就跟背英语单词一样,有时候总是忘记下一步要写什么。。

[展开全文]
淹死的一条鱼 · 2018-10-28 · 0

int arg那块突发奇想 将挂载的脚本中写一个枚举

然后把int arg 改成枚举类 

将挂载的脚本中方法context.handle(枚举变量)丢入update中运行  

public class StateA : IState
{
    Context mContext;
    public StateA(Context context) {

        mContext = context;
    }
    public void Handle(GameState gameState)
    {
        Debug.Log("StateA.Handel"+ gameState);
        if (gameState==GameState.MENU)
        {
            mContext.SetState(new StateB(mContext));
        }
    }
}

 

public enum GameState {
     LOGO,
     MENU,
     GAME

}
public class UseDM : MonoBehaviour {

    public GameState gameState;
    Context context;

    void Start () {
        context = new Context();
        context.SetState(new StateA(context));
     
    }
    private void Update()
    {
        context.Hanlde(gameState);
    }
}

[展开全文]
淹死的一条鱼 · 2018-10-28 · 0

maincamera删

 

[展开全文]
memoria · 2018-10-22 · 0

查询的时候用limit

 

select * from mytable limit 2;

意思是只显示mytable这个表中的前两个数据

 

select * from mytable limit 2 4;

意思是只显示mytable这个表前2条数据不算,从第3条开始显示4条

[展开全文]
sun080123 · 2018-10-12 · 0

表格建好后  插入数据

insert into 表名(属性名,属性名,...) values (内容 , 内容,...)

insert into mytable(username , password) values ('张三' , '123456');

 

查询表内容

select * from 表名

select * from mytable;

 

修改表中数据

update 表名 set 属性名 = 内容 , 属性名 = 内容 , ... where 限制

 

1.update mytable set username = 'sun' , password = '123.qwe' where id = 1;

这个是修改id是1的username为sun和password为123.qwe

2.update mytable set username = 'sun1'  , where id = 1;

这个是修改id是1的username为sun1

如果没有限制条件  默认修改所有的

 

删除数据

delete from 表名 where 限制

delete from mytable where id = 2;

删除id是2的数据

[展开全文]
sun080123 · 2018-10-12 · 0

启动sql

net start mysql

 

关闭sql

net stop mysql

 

看某个sql show tables; 看之前要选一个数据库

use 数据库名;

 

create database 数据库名      创建数据库

drop database 数据库名       删除数据库

 

create table 表名 (内容)  创建表  需要先选择一个数据库

 

primary key(一个属性的名字) 将该属性设置成主键

属性名字 int 创一个整型

auto_increment 自增

carchar(length) 字符串

 

创建一个表名是mytesttable的表,属性有id(int类型 自增 , username 字符串类型长度30 , password 字符串类型长度30 , 设置主键为id)

create table mytesttable(id int auto_increment,

username varchar(30),

passworld varchar(30),

primary key(id));

 

查看表结构

desc 表名

[展开全文]
sun080123 · 2018-10-12 · 0

这里应该可以把common项目的输出路径设置为unity项目的Plugin文件夹。生成MyGameServer项目时由于引用了common项目,会同时编译common项目到MyGameServer的输出文件夹。这样就不用手动去拖拽common.dll到unity里了。

[展开全文]
mikeeyfu · 2018-10-06 · 0

提个醒,本视频7分钟左右,视频被剪辑了,但遗漏了部分代码的讲解,此处在解锁状态的判断中,凭空出现了hasRigisterEvent注册事件的判断,先前的条件语句是在此条件下执行的。

[展开全文]
Kotori · 2018-10-05 · 0
可以实现在Unity中使用Android的系统调用,访问硬件,还可以调用Android的类库,比如“语音识别”,Unity是不支持的,但android平台有语音识别的解决方案,
 
方案
Unity导出android工程,android增加额外的功能并打包apk
android创建工程,增加功能并打包成插件,供Unity调用,Unity打包成apk
 
使用那一侧打包apk,对那一侧的掌握要求就更高,因此Unity开发应该尽量在Unity侧打包,由Android封装功能插件供Unity调用。
 
每一个Android界面都是一个activity。
 
Unity的所有功能最终发布到android 的 apk中, 就只有一个MainActivity,Unity所有的场景,功能,都会被封装进一个MainActivity
 
Unity程序打包到Android就只有一个Activity
 
 
两种方式
  • Android studio 提供插件
  • Android studio 修改 MainActivity
 
Unity、Android如何相互调用:
  • Unity C# 可调用Android方法
  • Android可以向Unity发消息(给GameObject发消息)
[展开全文]
疯鼠alv · 2018-09-04 · 1

完整的看完了,现在对设计模式也是略懂。这里我整理以下我跟着siki老师做到最后,siki老师留下的bug和没做的。当然这毕竟是一个学习设计模式的Demo,不可能有多完整,有些可能只是我的强迫症吧2333.至少证明我认认真真看完了

bug并不太多,其实都看设计模式了,代码功底应该很强了。

1.用责任链模式做的关卡系统最后一关有空引用的bug,也就是没有判断当前关卡是不是最后一关,解决办法是判断下有没有下一关的引用,如果引用是null,则当前关是最后一关,完美解决。

2.兵营UI显示该兵种数量没有做。其实访问者模式已经把大体框架搭好了,只要加些参数,并将RunVisitor在往具体战士类重写,就做好了。

3.当前关卡显示。这也是一个小问题,有两个地方要显示更新关卡信息,一个是暂停页面GamePauseUI,一个是游戏状态页面GameStateInfoUI。这里我直接在这两个UI脚本注册NewStageSubject主题,就可以获取NewStageSubject里面的关卡信息解决。

4.暂停回到开始菜单逻辑,以及GamePaueseUI都没做。这个没啥说的,基本功。暂停 Time.timeScale = 0;就可以了。

5.战士UI显示。基本功,也没啥可说的。

6.个人强迫症,也就是游戏的完整逻辑。游戏胜利,游戏失败。胜利只有一种,那就是打到第9关胜利。失败就是总计敌人走到目标点。这里我用观察这模式写一个敌人到达终点的主题,让GameStateInfoUI注册这个主题,在EnemyChaseState里面判断敌人是否到达目标点,到达则发布主题,并且设置该敌人死亡。

最后,还是有一个小小的缺点,就是UML图画的太草率了,可能是为了照顾初学者。但类与类的六大关系实心空心聚合组合虚线实线箭头我觉得还是不能省略的。

yi'shang

 

 

[展开全文]
鸵鸟 · 2018-08-31 · 1

03

window timeliness

Dutch(荷兰人) 镜头旋转

screen(屏幕) 旋转x 还是y

04

 

[展开全文]
夜国聚 · 2018-08-05 · 0

 window timeliness

Dutch(荷兰人) 镜头旋转

screen(屏幕) 旋转x 还是y

[展开全文]
夜国聚 · 2018-08-05 · 0

下不过自己的AI  哈哈

[展开全文]
qzuser5424 · 2018-07-26 · 0

只使用一个左键点击的方案

类:LearnButton

<

using UnityEngine;
using UnityEngine.UI;
using System;
using UnityEngine.EventSystems;

public class LearnButton : MonoBehaviour,IPointerClickHandler,IPointerExitHandler,IPointerUpHandler,IPointerDownHandler,IPointerEnterHandler{

    /// <summary>
    /// 划过选中
    /// </summary>
    public event Action HighlightedBtn;
    /// <summary>
    /// 点击选中
    /// </summary>
    public event Action<PointerEventData> PressedBtn;

    public void OnPointerClick(PointerEventData eventData)
    {
        if (PressedBtn != null)
            PressedBtn(eventData);
    }

    public void OnPointerEnter(PointerEventData eventData)
    {
        
    }

    public void OnPointerExit(PointerEventData eventData)
    {
        if (HighlightedBtn != null)
            HighlightedBtn();
    }

    public void OnPointerDown(PointerEventData eventData)
    {

    }

    public void OnPointerUp(PointerEventData eventData)
    {
        
    }
}

>

类:CardUI

<

private void Btn_HighlightedBtn()
    {
        if (Input.GetMouseButton(0))
        {
            if (card.BelongTo == CharacterType.Player)
                IsSelected = !IsSelected;
        }
    }

    private void Btn_PressedBtn(PointerEventData eventData)
    {
        if (card.BelongTo == CharacterType.Player && eventData.button == PointerEventData.InputButton.Left)
            IsSelected = !IsSelected;
    }

>

[展开全文]
ShaderLab · 2018-07-25 · 0