问个问题,2.0崩坏3主线cg最后一个cg怎么拿的

勇者大战魔物娘中章最后一个CG怎么拿,就是女神第二个_百度知道
勇者大战魔物娘中章最后一个CG怎么拿,就是女神第二个
我有更好的答案
看来你已经打通中章了首先只有战胜才能出现在图鉴中,所以必须要战胜伊莉娅丝一次然后在之前有一个选项是选择项,问你是否愿意和伊莉娅丝在天堂中共度一生,选择是就会出CG,不是那自然就是战斗啦
采纳率:43%
- -最后战胜了后打死爱丽丝
为您推荐:
其他类似问题
勇者大战的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。通关了发现一个问题,CG丢了不少,哪位能帮帮忙?【夏娃年代记吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,768贴子:
通关了发现一个问题,CG丢了不少,哪位能帮帮忙?
前一阵子玩的,已经通关了,其他的全部收集,除了幸福兔兔,很奇怪一点就是回想都收集全了,但是CG缺了不少,用别人的全CG存档一看,有些情节好像明明玩过,不知道CG为什么没了。第一页的第2张,貌似是主角和两位零骑士在酒馆喝酒。第四页的第5、6、10张,第5、6张是和白发妹子的XX情节,第10张是主角和白发妹站在屋檐下摆弄R贴。。。第五页的第4、5、6、7张,第4张是莉秀放魔法,第5、6张是和莉秀XX,第7张是在一个木屋子里,莉秀坐在地上,主角挡在莉秀身前,对面是一群怪物。第八页的3、4、5、8,第3、4、5张是一个紫发妹子的福利图,我记得是升级屋那个妹子的姐姐的照片,玩的时候明明都做这个任务了但是游戏都快通关了不知道为什么没这几张CG,第8张是在餐桌上白发妹子和莉秀两个抢着喂主角饭的画面。还有一个是牛奶妹被群的CG,一开始也没有,重读了下第一章开始的存档发现竟然是主线情节的CG,竟然也消失了。还有升级屋那个姐姐的照片,也明明玩过了的,不知道为什么消失了。不知道哪位好心人能帮帮忙,如果能知道具体的章节就好了,不胜感激~
老婆剧情CG回家可以回想的
贴吧热议榜
使用签名档&&
保存至快速回贴1567人阅读
Unity Shader(16)
一、CG 数据类型
Cg语言中预定义的内置 ( built in)的、或称为基本( primitive)的数据类型。然后介绍可以用来声明对象的各类类型,主要是数组和结构类型。
1、 基本数据类型
Cg 支持 7 种基本的数据类型:
1、float, 32 位浮点数据,一个符号位。浮点数据类型被所有的 profile 支持(但是 DirectX8 pixel profiles 在一些操作中降低了浮点数的精度和范围)。
2、half,16 为浮点数据。
3、 int,32 位整形数据,有些 profile 会将 int 类型作为 float 类型使用。
4、fixed,12 位定点数,被所有的 fragment profiles 所支持。
5、bool,布尔数据,通常用于 if 和条件操作符( ?:),布尔数据类型被所有的profiles 支持。
6、sampler*,纹理对象的句柄( the handle to a texture object),分为 6 类:sampler, sampler1D, sampler2D, sampler3D, samplerCUBE,和 samplerRECT。DirectX profiles 不支持 samplerRECT 类型, 除此之外这些类型被所有的 pixel profiles 和 NV40 vertex program profile 所支持( CgUsersManual 30 页)。由此可见,在不远的未来,顶点程序也将广泛支持纹理操作。
7、string,字符类型,该类型不被当前存在的 profile 所支持,实际上也没有必要在 Cg 程序中用到字符类型,但是你可以通过 Cg runtime API 声明该类型变量,并赋值;因此,该类型变量可以保存 Cg 文件的信息。
前 6 种类型会经常用到,事实上在 Wikipedia 有关 Cg 语言的阐述中只列举了前 6 种类型,而并没有提到 string 数据类型。除了上面的基本数据类型外, Cg还提供了内置的向量数据类型(built-in vector data types),内置的向量数据类型基于基础数据类型。例如:float4,表示 float 类型的 4 元向量;bool4,表示 bool类型 4 元向量。
注意: 向量最长不能超过 4 元, 即在 Cg 程序中可以声明 float1、float2、float3、
float4 类型的数组变量,但是不能声明超过 4 元的向量,例如:
float5//编译报错
向量初始化方式一般为:float4 array = float4(1.0, 2.0, 3.0, 4.0);
较长的向量还可以通过较短的向量进行构建:float2 a = float2(1.0, 1.0);
float4 b = float4(a, 0.0, 0.0);
此外, Cg 还提供矩阵数据类型,不过最大的维数不能超过 4*4 阶。例如:float1x1 matrix1;//等价于 float matirx1; x 是字符,并不是乘号!
float2x3 matrix2;// 表示 2*3 阶矩阵,包含 6 个 float 类型数据
float4x2 matrix3;// 表示 4*2 阶矩阵,包含 8 个 float 类型数据
float4x4 matrix4;//表示 4*4 阶矩阵,这是最大的维数
矩阵的初始化方式为:float2x3 matrix5 = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0};
注意: Cg 中向量、矩阵与数组是完全不同,向量和矩阵是内置的数据类型(矩阵基于向量),而数组则是一种数据结构,不是内置数据类型!这一点和C\C++中不太一样,在 C\C++中,这三者同属于数据结构,数组可以构建向量和
2、数组类型
在着色程序中,数组通常的使用目的是:作为从外部应用程序传入大量参数到 Cg 的顶点程序中的形参接口,例如与皮肤形变相关的矩阵数组,或者光照参数数组等。
简而言之,数组数据类型在 Cg 程序中的作用是:作为函数的形参,用于大量数据的转递。
Cg 中声明数组变量的方式和 C 语言类似:例如:float a[10];//声明了一个数组,包含 10 个 float 类型数据
float4 b[10];//声明了一个数组,包含 10 个 float4 类型向量数据
对数组进行初始化的方式为:float a[4] = {1.0, 2.0, 3.0, 4.0}; //初始化一个数组
要获取数组长度,可以调用“ .length”,例如:float a[10]; //声明一个数组
int length = a.//获取数组长度
声明多维数组以及初始化的方式如下所示:float b[2][3] = {{0.0, 0.0, 0.0},{1.0, 1.0, 1.0}};
对多维数组取长度的方式为:int length1 = b. // length1 值为 2
int length2 = b[0]. // length2 值为 3
数组和矩阵有些类似,但是并不是相同。 例如 4*4 阶数组的的声明方式为:float M[4][4];4 阶矩阵的声明方式为: float4x4 M。前者是一个数据结构,包含 16个 float 类型数据,后者是一个 4 阶矩阵数据。 float4x4 M[4],表示一个数组,包含 4 个 4 阶矩阵数据。
进行数组变量声明时,一定要指定数组长度,除非是作为函数参数而声明的形参数组。并且在当前的 profiles 中,数组的长度和所引用的数组元素的地址必须在编译时就知道。
3、结构类型
Cg 语言支持结构体( structure),实际上 Cg 中的结构体的声明、使用和 C++非常类似(只是类似,不是相同)。一个结构体相当于一种数据类型,可以定义该类型的变量。引入结构体机制,赋予了 Cg 语言一丝面向对象的色彩。还记得C++中,结构体与类的区别吗?没有区别,除了默认访问属性在结构体中为public,类中为 private,所以结构体与类是非常近似的,由此可以看出 shader 语言的发展趋势还是向着具有面向对象特性的高级语言。不过目前的
Cg 语言中的结构体以展现“封装”功能为主,并不支持继承机制。
结构体的声明以关键字 struct 开始,然后紧跟结构体的名字,接下来是一个大括号,并以分号结尾(不要忘了分号)。大括号中是结构体的定义,分为两大类:成员变量和成员函数。例如,定义一个名为 myAdd 的结构体,包含一个成员变量,和一个执行相加功能的成员函数,然后声明一个该结构体类型的变量,代码为:struct myAdd
float add(float x)
return val +
使用符号“o ”引用结构体中的成员变量和成员函数。例如:float a = s.
float b = s.add(a);
注意:在当前的所有的 profile 版本下,如果结构体的一个成员函数使用了成员变量,则该成员变量要声明在前。此外,成员函数是否可以重载依赖于使用的 profile 版本。
一般来说,Cg 的源代码都会在文件首部定义二个结构体,分别用于定义输人和输出的类型,这二个结构体定义与普通的 C 结构定义不同,除了定义结构体成员的数据类型外,还定义了该成员的绑定语义类型( Binding Semantics),所谓绑定语义类型是为了与宿主环境进行数据交换的时候识别不同数据类型的。目前Cg 支持的绑定语义类型包括 POSTION 位置), COLOR(颜色), NORMAL(法向量), Texcoord(纹理坐标)等类型。
当顶点着色程序向片段着色程序传递的数据类型较多的情况下, 使用结构体可以大大的方便代码的编写和维护。总而言之,使用结构体是一个好习惯,高智商的孩子都使用。
4、接口( Interfaces)类型
Cg 语言提供接口类型,实际上,我本人很少见到使用接口类型的着色程序,原因在于, Cg 语言中的接口类型还不完善,不能被扩展和包含。此外,目前的GPU 编程大多只是针对独立的算法进行编码,规模较小,使用接口类型没有太大的优势。所以这里对该类型并不多做说明。
5、类型转换
Cg 中的类型转换和 C 语言中的类型转换很类似。 C 语言中类型转换可以是强制类型转换,也可以是隐式转换,如果是后者,则数据类型从低精度向高精度转换。在 Cg 语言中也是如此。例如:float a = 1.0;
half b = 2.0;
float c = a+b; //等价于 float c = a + (float)b;
当有类型变量和无类型常量数据进行运算时,该常量数据不做类型转换,举例如下:float a = 1.0;
float b = a + 2.0; //2.0 为无类型常量数据,编译时作为 float 类型
Cg 语言中对于常量数据可以加上类型后缀,表示该数据的类型,例如:float a = 1.0;
float b = a + 2.0h; //2.0h 为 half 类型常量数据,运算是需要做类型转换
常量的类型后缀( type suffix)有 3 种:
x: 表示 fixed
二、CG 表达式与控制语句
Cg中的操作符与C语言中的类似(操作符的功能和写法与C相同,但用法不尽相同),按照操作符的功能可以划分为:关系操作符、逻辑操作符、条件操作符。 Cg中有一类较为独特的操作符,称为Swizzle操作符, 这个操作符用于取出向量类型变量中的分量。此外,与C语言不同的是, Cg允许在向量类型变量上使用操作符,例如&操作符可以用来比较两个向量各个分量的大小关系。
1、关系操作符( Comparison Operators)
关系操作符, 用于比较同类型数据 (不同类型的基础数据需要进行类型转换,不同长度的向量,不能进行比较)之间的大小关系或者等价关系。 Cg中有6种关系操作符,如表 1所示, 关系操作符运算后的返回类型均为bool类型。
在Cg中,由于关系操作符以及下节会讲到的逻辑操作符,都返回bool类型结果,所以这两种操作符有时也被统一称为boolean operator。
Cg语言表达式允许对向量使用所有的boolean operator,如果是二元操作符,则被操作的两个向量的长度必须一致。表达式中向量的每个分量都进行一对一的运算,最后返回的结果是一个bool类型的向量,长度和操作数向量一致。例如:float3 a = float4(0.5, 0.0, 1.0);
float3 b = float4(0.6, -0.1, 0.9);
bool3 c = a&b;
运算后向量c的结果为float3(true, false, true)。
2、逻辑操作符( Logical Operators)
Cg语言中有3种逻辑操作符(也被称为boolean Operators),如表 2所示,逻辑操作符运算后的返回类型均为bool类型。
正如上节所说,逻辑操作符也可以对向量使用,返回的变量类型是同样长度的内置bool向量。有一点需要注意: Cg中的逻辑与( &&)和逻辑或( ||)不存在C中的短路现象( short-circuiting,即只用计算一个操作数的bool值即可),而是参与运算的操作数据都进行bool分析。
3、数学操作符( Math Operators)
Cg语言对向量的数学操作提供了内置的支持, Cg中的数学操作符有: *乘法;/除法; -取反; +加法;—减法; %求余; ++;——; *=; /=; +=; -=;后面四种运算符有时被归纳入赋值操作符, 不过它们实际上进行数学计算, 然后进行赋值,所以这里也放入数学操作符中进行说明。
需要注意的是:求余操作符%。只能在int类型数据间进行,否则编译器会提示错误信息: error C1021: operands to “ %” must be integral.
当使用这些数学操作符对一个标量和一个向量进行运算时, 标量首先被复制到一个长度相同的向量中,然后进行运算,例如下面的代码形式是正确的:void function()
float2 a = float2(1.0, 1.0);
float b = 2.0;
}4、移位操作符
Cg语言中的移位操作符,功能和C语言中的一样,也可以作用在向量上,但是向量类型必须是int类型。例如:int2 a = int2(0.0,0.0);
int2 b = a&&1;
如果使用如下代码,会出现错误提示信息: error C1021:operands to “ shr”must be integral.float2 a = int2(0.0,0.0);
float2 b = a&&1;5、Swizzle 操作符
可以使用Cg语言中的swizzle操作符( .)将一个向量的成员取出组成一个新的向量。 swizzle操作符被GPU硬件高效支持。 swizzle操作符后接x、 y、 z、 w,分别表示原始向量的第一个、第二个、第三个、第四个元素; swizzle操作符后接r、 g、 b和a的含义与前者等同。不过为了程序的易读性,建议对于表示颜色值的向量,使用swizzle操作符后接r、 g、 b和a的方式。
举例如下:
float4(a, b, c, d).xyz 等价于 float3(a, b, c)
float4(a, b, c, d).xyy 等价于 float3(a, b, b)
float4(a, b, c, d).wzyx 等价于 float4(d, c, b, a)
float4(a, b, c, d).w 等价于 float d
值得注意的是, Cg语言中float a 和float1 a是基本等价的,两者可以进行类型转换; float、 bool、 half等基本类型声明的变量也可以使用swizzle操作符。例
如:float a = 1.0;
float4 b = a.
注意: swizzle操作符只能对结构体和向量使用,不能对数组使用,如果对数组使用swizzle操作符则会出现错误信息: error C1010: expression left of .” x” is not a struct or array (其实个人觉得, 提示的错误信息中array换成vector更加合适)。
要从数组中取值必须使用[]符号。例如:float a[3] = {1.0,1.0,0.0};
float b = a[0]; //正确
float c = a.x; //编译会提示错误信息
6、条件操作符( Conditional Operators)
条件操作符的语法格式为:
expr1 ? expr2 : expr3;
expr1的计算结果为true或者flase,如果是true,则expr2执行运算,否则expr3被计算。
条件操作符为简单的if-else语句提供了一种便利的替代方式,例如我们可以不必写:
if(a & 0){b = a}
else{c = a}
而改写为:
( a & 0) ?(b = a) :( c = a);
Cg中的条件操作符一个独特的性能是:支持向量运算。即, expr1的计算结果可以是bool型向量, expr2和expr3必须是与expr1长度相同的向量。举例如下:
float3 h = float3(-1.0,1.0,1.0);
float3 i = float3(1.0,0.0,0.0);
float3 g = float3(1.0,1.0,0.0);
k = (h & float3(0.0,0.0,0.0))?(i):(g);
三元向量h与float3(0.0, 0.0, 0.0)做比较运算后结果为( true, false, false) ,所以i的第一个数据赋值给K的第一个数据, g的第二个和第三个数据赋值给k的第二个和第三个数据, K的值为(1.0, 1.0, 0.0)。
7、操作符优先顺序
Cg语言中操作符的优先顺序如表 3所示,从上到下表示从高级到低级的优先级;同一行的操作符具有同等优先级。
8、控制流语句( Control Flow Statement)
程序最小的独立单元是语句( statement),语句一般由分号结尾,缺省情况下, 语句是顺序执行的, 但是当涉及逻辑判断控制时, 就要求有控制流程序语句。
控制流程序语句分为条件语句和循环语句,在C语言中,条件语句有if、 if-else、switch等,而循环过程则由while、 do-while和for语句支持。 Cg中的控制流语句和循环语句与C语言类似:条件语句有: if、 if-else;循环语句有: while、 for。 break语句可以和在for语句中使用。
Cg语言中的控制流语句要求其中的条件表达式返回值都是bool类型, 这一点是与C语言不同之处( C语言中,条件表达式返回值可以是0、 1)
阅读:2840
文章:18篇
阅读:12347提问个问题,关于crass提取cg的事情,求达人详解,第一次……【galgame吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:837,566贴子:
提问个问题,关于crass提取cg的事情,求达人详解,第一次……
首先泪目一下……在玩晓之护卫1,全通了,然后果然还是最喜欢月想把对话中时出现的人物形象提取出来,但是提取出来的文件都是黑色剪影,还有一些其他格式的文件因为太占地方也没找到想要的已经删掉了,后缀名没注意……总之就是请各位吧里的巨巨们,大大们指教在下一下下,怎么提取出对话时的人物形象(并不是cg的说……)
先睡 明早起来期待ing
立绘好像是要合成的。。不怎么懂这个
不用明天了,ExtractData这个工具有没有。关闭alpha blending之后直接提取
刚才激情了,我还是自己试一试再说。
搞定了……
crass记得直接就能提取立绘啊,LZ你把所有的文件都试试,我说的立绘只是单个的人物,不是像6L那样还有北京。。。
是的啊 没有 背景的说……
不知道为什么自动去了C盘了 我C盘装不下我就取消了……
那你提出来的是不是6楼那种
完全没看到……用crass提取出来的是黑色剪影和一些场景效果的裁切图
还有背景图就是没有人物形象图
那你是想要背景图还是要人物形象
115提取码:an4z5frvbe4zrl2n先把这两个下载了,然后解压miscmja,在解压出的文件夹里新建一个文本文档。
人物形象不是背景图 也不带背景图0 0我晚上回家试 验试 验 谢谢你呐
双击打开后弹出一个黑色对话框 然后我都反应不过来就没了……多达开了几次看看依稀发现有很多乱码文字……
别急,我16楼说的步骤做了没。
那两个不是同一个文件么……
不是,你在解压好的文件夹里新建好文本文件之后写上内容:mjats2tc &input.arc& &index&其中&input.arc&表示你要抽取的arc文件的路径,&index&在写上22,需要注意的是你需要把arc复制出来,直接指向镜像里的路径是不行的。还有注意空格。然后保存bat执行
貌似很麻烦 我试试
21楼手误,&index&在写上4,其他的不变。写好之后保存内容,然后把的后缀名改为.bat。然后双击运行。
看了一下arc是什么文件?是指用crass抽出来的文件吗
mjats2tc &E:\data2.arc& &4&是写成这样子不?然后运行bat?
arc就是晓护1的文件啊,立绘在data2.arc里不是么。&input.arc&要抽取的arc文件的路径,说明括号也是路径的一部分,所以要去掉。mjats2tc.exe E:\data2.arc 4然后把这个BAT和mjats2tc.exe、mjats2tc.cpp,放在同一个文件夹里运行。
等运行结束以后用另一个115下载来的ExtractData,关闭alpha blending之后直接提取
这两个都分别指什么?两个115的下载不都是那个majts2tc么0 0
两个115一个是majts2tc,一个是ExtractData
成功提取出来的都是黑色的剪影已经按照大大的方法去做了
连CG抽出来都是一大张黑布0 0
ExtractData的alpha blending关闭没有
贴吧热议榜
使用签名档&&
保存至快速回贴鍙?渶涓

我要回帖

更多关于 崩坏3宿舍最后一个cg 的文章

 

随机推荐